Integración externa - Teslemetry (coches Tesla y Powerwall)

¡Hola a todos! :waving_hand:

Continuamos con la serie norteamericana :united_states: con algo pesado: Tesla, para los coches y las Powerwall. ¡Encaja perfectamente con el eje de energía de Gladys :high_voltage:!

Pasa por Teslemetry: la API oficial de Tesla exige que cada usuario declare una aplicación de desarrollador y aloje una clave en su propio dominio, lo que significa que nadie lo hace. Teslemetry se encarga de todo eso por un simple token. Es una suscripción de pago con ellos, prefiero decirlo desde el principio.

Qué hace

Para cada coche :

  • :battery: batería, autonomía (km o millas según su perfil), estado y potencia de carga, enchufado o no;
  • :thermometer: temperaturas interior y exterior, kilometraje, coche despierto o dormido;
  • :control_knobs: desde Gladys: iniciar o detener la carga, ajustar el límite y la intensidad de carga, el aire acondicionado y su temperatura, bloquear, activar el modo Sentinel.

Para el Powerwall y el solar : producción, consumo de la casa, red (extracción / inyección), carga y descarga de la batería, presencia de la red, modo de funcionamiento ajustable, y índices en kWh para el seguimiento de energía.

Dos widgets : « Vehículo Tesla » y « Flujo de energía ».

Lo divertido

Coche enchufado y exceso solar → se inicia la carga :sun::automobile:
Corte de red → notificación, y se cortan los grandes consumidores :electric_plug:
Carga terminada → « Tu Tesla está lista » en el teléfono :white_check_mark:

Y lo prometo: recolectar los datos nunca despierta el coche. Solo se despierta para un comando que has solicitado, por lo que no hay batería vaciada en secreto :wink:

Instalación

:warning: Gladys 5.1 mínimo.

  1. Crea una cuenta en teslemetry.com, vincula tu Tesla y genera un token de acceso.
  2. En Gladys: Integraciones → Tesla → Instalar, pega el token, luego la pestaña Descubrimiento para añadir el coche y el sitio de energía.

Pequeñas reservas honestas: no hay posición GPS (intencionalmente), ni maletero, ventanas o asientos calefactables por el momento, y los índices de energía parten de cero en la instalación.

:warning: Desarrollado sin el hardware : no tengo ni Tesla ni Powerwall. Las pruebas se basan en los datos de prueba de la integración Home Assistant y en la documentación oficial, pero nada reemplaza una prueba real.

Como los anteriores, se desarrolla con Claude Code :robot:. Proyecto independiente, no afiliado a Tesla ni a Teslemetry.

Repositorio: GitHub - guim31/gladys-tesla: Tesla vehicles and Powerwall energy sites (via Teslemetry) for Gladys Assistant · GitHub

¿Tienes un Tesla o un Powerwall? Cuento contigo para los primeros comentarios :folded_hands: @mutmut, vi que tienes un Powerwall gen3: si te apetece probar la parte de energía, ¡me interesa :wink:!

:weary_face: Me he liado, es un Wall Connector gen3 lo que tengo, no sé qué se me pasó por la cabeza cuando lo escribí, seguramente que quiero uno :joy:
Por lo tanto, no podré probarlo, lo siento.
Pero si añades los cargadores, ¡será un placer por mi parte!

Pequeña observación con Teslametry, ¿no es posible pasar por GladysPlus en su lugar?

No hay problema @mutmut :grinning_face_with_smiling_eyes:

El cargador Wall Connector, buena noticia: la gen3 tiene una pequeña API local, sin cuenta ni nube. Lo añado a la integración Tesla, y funcionará incluso sin suscripción a Teslemetry: potencia de carga, vehículo conectado o en carga, energía total. Así que serás el probador ideal :wink: Te aviso en cuanto esté listo.

Gladys Plus en lugar de Teslemetry: no por ahora. Para usar la API oficial de Tesla, se necesita una aplicación de desarrollador registrada en Tesla, un nombre de dominio que aloje una clave y la firma de los comandos. Gladys Plus podría desempeñar este papel si se registrara una aplicación Tesla para toda la comunidad Gladys, como hace Teslemetry. Es un proyecto del lado de Gladys Plus, por lo que una pregunta para @pierre-gilles :slightly_smiling_face:

@mutmut, ¡está listo! :tada: La 1.1.0 de la integración Tesla lee tu Wall Connector gen3 directamente en tu red local, sin Teslemetry ni suscripción.

Para instalarlo

  1. Fija la dirección IP de tu cargador en tu router (para que no cambie).
  2. En Gladys: Integraciones → Tesla → Configuración, introduce la dirección IP del cargador (el token de Teslemetry ahora es opcional), luego haz clic en Probar los cargadores Wall Connector.
  3. Pestaña Descubrimiento: añade tu cargador.

Lo que obtienes

  • :electric_plug: el estado del conector y de la carga (disponible, vehículo conectado, cargando…) y un estado claro;
  • :high_voltage: la potencia de carga, la energía de la sesión, el voltaje, la corriente y la temperatura del mango;
  • :bar_chart: la energía total suministrada, conectada al seguimiento de energía de Gladys, como un subcontador de tu contador principal;
  • :puzzle_piece: un widget « Cargador Tesla »;
  • :clapper_board: cuatro disparadores de escena solo para él: vehículo conectado, desconectado, carga iniciada, carga terminada (con la energía de la sesión).

Pequeñas reservas honestas: el cargador es de solo lectura (su API local no permite controlar la carga), y en el widget de consumo, no marques al mismo tiempo tu contador principal y el cargador si quieres un total exacto, de lo contrario la recarga se cuenta dos veces.

:warning: Desarrollado sin el material: tus comentarios serán preciosos, especialmente la potencia mostrada comparada con la de la aplicación Tesla, y lo que ocurre durante una conexión real y un final real de carga. La actualización te será propuesta tan pronto como el store la haya visto, en el día. ¡Gracias de antemano! :folded_hands:

¡Top @guim31, gracias!
Solo veo la 1.0.1 en Gladys, así que volveré tan pronto como pueda probarla.
Se me ocurrió una reflexión sobre Telasmetry. Creo que mucha gente también usa Tessie u otras aplicaciones de terceros.
@Terdious estaba en ello: Intégration Tessie API (contrôle Tesla via Tessie)
En mi opinión, en un futuro desarrollo habrá que prever la posibilidad de elegir su proveedor.
Yo también tengo un Tesla, pero solo lo controlo con la aplicación oficial.
Por otro lado, uso Teslamate (gratis y de código abierto) para todo lo relacionado con el seguimiento, también sería un desarrollo futuro a implementar, no sé, sabiendo que también se pueden recuperar los datos a través de MQTT.

EDIT: Forzar la actualización funciona bien :joy: 1.1.0 instalada, ¡pruebo todo lo que puedo!

¿Qué tal una idea así: ¿no sería posible tener autodetección?

Hay una API en las integraciones externas para solicitar un webhook de Gladys Plus, por lo que ni siquiera se necesita de mí :grin:

Solo hay que crear una aplicación en Teslemetry para cada usuario y obtener sus claves de API y proporcionar su webhook.

Sin embargo, en cuanto a la nomenclatura, sería mejor llamar a esta integración « Teslemetry » en lugar de Tesla, ya que hay otros servicios.

Gracias a los dos por los comentarios :folded_hands:

@pierre-gilles bien visto con el nombre, lo limpio:

  • la integración actual se llamará Teslemetry (coches Tesla y Powerwall a través de Teslemetry);
  • el cargador Wall Connector va a su propia integración, Tesla Wall Connector, 100 % local, sin cuenta ni suscripción. Es más lógico, un cargador local no tiene nada que ver con el nombre de un servicio en la nube. De hecho, es así como lo hace Home Assistant.

Para el webhook de Gladys Plus, gracias por la información, lo miro de cerca. El punto que falla con la API oficial de Tesla es que exige una clave pública alojada en el dominio de la aplicación, además del emparejamiento de una «clave virtual» en cada coche. Veré si podemos salir adelante con eso.

@mutmut:

  • el descubrimiento automático llega con la nueva integración Tesla Wall Connector. El cargador no se anuncia en la red, por lo que la integración lo buscará en tu red local, con un botón «Buscar cargadores».
  • Migración: podrás mantener tu cargador en la 1.1.0 mientras tanto. Tan pronto como Tesla Wall Connector esté en línea, te aviso: solo tendrás que instalarlo y quitar el cargador de la antigua integración.
  • Tessie y TeslaMate: muy buenas ideas. Serían integraciones por separado, cada una con su nombre, como sugiere @pierre-gilles. Las anoto para más adelante :wink:

@mutmut ya está en línea :tada: El cargador tiene su propia integración: Intégration externe - Tesla Wall Connector

Mientras el mercado lo aprueba, puedes instalarlo ahora mismo por Integraciones → Instalar desde GitHub, con GitHub - guim31/gladys-tesla-wall-connector: Tesla Wall Connector gen 3, read locally without any account, for Gladys Assistant · GitHub

Para migrar tu cargador:

  1. instala Tesla Wall Connector, luego haz clic en Buscar cargadores (o introduce su dirección IP) y añádelo desde la pestaña Descubrimiento;
  2. en esta integración, que ahora se llama Teslemetry (1.2.0), el cargador ya no se gestiona: puedes eliminar el antiguo dispositivo cargador.

Pequeña precisión honesta: para Gladys, es un nuevo dispositivo, el historial de la 1.1.0 no sigue. Como solo lo tenías desde hace unas horas, debería estar bien :wink:

Dime cómo va la búsqueda automática, la potencia comparada con la app de Tesla, y una conexión real. ¡Gracias de nuevo :folded_hands:!