El registro en este foro no incluye alta en el Club. Para altas en el Club Tesla Oficial sigue este enlace

Foro: Club Tesla España

Accede aquí a la web oficial del Club

Marten

*
  • *****
  • 619
    • Ver Perfil
TWC y balanceo de carga con Home Assistant
« en: 05 de Junio de 2025, 05:04:09 pm »
Hola

Cuando me instalé el TWC en casa me dejé pasados unos cables de datos para, en un futuro, instalarme el Neurio y hacer balanceo de carga. Pero me he encontrado en la situación en la que me han instalado paneles solares en casa con los correspondientes medidores de consumo en mi cuadro eléctrico, así que, como tengo bastante domotizada la casa con Home Assistant me he decidido a hacer mi propio sistema de balanceo de carga casero.

Comentar que mi idea inicial era hacer balanceo de carga usual, es decir, intentar no sobrepasar la potencia máxima para que no 'salten los plomos', pero la configuración que he hecho ha sido para no sobrepasar los excedentes solares y cargar siempre con energía del sol. No obstante, la rutina es fácilmente adaptable para hacer el balanceo usual.

¿Qué necesitas?

* Un medidor de consumo en tu cuadro eléctrico que mida lo que estás consumiendo de la red, por ejempo un Shelly EM: https://shellyspain.com/rele-shelly-em-50a.html.
* Home Assistant funcionando en casa, ya sea sobre una Raspberry PI, un HomeAssistant Green o un miniPC (como es mi caso)
* Un cargador que tenga integración con HomeAssistant (para ver si está conectado el coche, cargando.....) Esto no es obligatorio porque todos los parámetros de carga se pueden gestionar desde el propio coche
* Configurar la integraciones de Tesla Fleet en Home Assistant.

Automatizaciones en HA

A día de hoy tengo dos automatizaciones. Una para arrancar la carga cuando haya excedentes, e ir aumentando la intensidad de la misma y otra para bajar la intensidad y cortar en caso necesario.

Inicio y aumento de carga

Aquí tengo los siguientes supuestos:

* Ejecutarse cada 30 segundos
* Comprobar si el coche está enchufado al cargados
* Verificar que la carga sea menor que el límite de carga establecido

En este caso de cumplirse todo hay 2 opciones:

* El coche aún no está cargando: Como el amperaje mínimo son 5A, corresponde a 5*230=1150W, verifico que los excedentes solares superan los 1200W (por dejar algo de margen) y se pone a cargar a 5A
* El coche ya está cargando: Subo 1A (230W) la carga en caso de tener más de 400W de excedentes solares. Aquí dejo un poco más de margen

Con esto, se inicia una carga suave y se aumenta de 1A en 1A en caso de haber potencia disponible.

Bajada y parada de carga

Aquí tengo los siguientes supuestos (se ejecuta en cualquiera de las dos condiciones):

* Ejecutarse cada 22 segundos (por no coincidir con el evento de aumento de carga)
* Ejecutarse cuando los excedentes bajen de 150W durante 30 segundos

Y también se verifica que:

* La exportación solar esté por debajo de 150W
* Que el coche esté cargando
* Que esté el coche enchufado (esto es redundante)

¿Y qué hago?

Primero se calcula el consumo 'de más' que tengo y en base a eso se calcula la nueva intensidad de carga. Es decir, si me estoy colando en 900W tendré que bajar 3,9A, redondeando 4A y lo resto a la intensidad de carga

Aquí 2 supuestos:

* La nueva intensidad es menor de 5A, entonces paro la carga, ya que la intensidad mínima son 5A
* La nueva intensidad son 5 o más, pues se establece como nueva intensidad.

--------------------------------------------

Llevo probando las automatizaciones unos días y funcionan bastante bien. En cuanto se me dispara el consumo en casa (AA, horno o lo que sea) o pasa una nube la intensidad de carga se adapta al instante. Os pongo unas gráficas (Post 4)

Puntos de mejora

* Aplicar un ciclo de histéresis al inicio/corte de carga para evitar arrancar/parar la carga de forma innecesaria y proteger los dispositivos. A la subida/bajada de intensidad creo que no es necesario.
* Poner alguna condición para no hacer caso de los excedentes y usar un balanceo 'al uso' solo para no sobrepasar la potencia de red
* Tengo potencias punta y valle distintas por lo que quiero añadir un calendario que tengo con festivos nacionales para tener claro en cada momento la potencia de red máxima disponible (P1/P2) y hacer el dinamismo en base a la potencia contratada en cada período.
* Fusionar las automatizaciones en una sóla.

¿Cómo lo veis? ¿Alguna idea para mejorarlo? Pongo los YAML de las automatizaciones en los dos post siguientes.

Espero que os sirva si alguien está intentado hacer algo similar.

Saludos!!!
Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

Marten

*
  • *****
  • 619
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #1 en: 05 de Junio de 2025, 05:04:29 pm »
Pongo aquí el script de aumento de carga:

alias: Carga Tesla - Aumentar carga por excedente solar
description: Carga Tesla - Aumentar carga por excedente solar
triggers:
  - minutes: /1
    trigger: time_pattern
    seconds: /30
conditions:
  - condition: state
    entity_id: binary_sensor.tesla_wall_connector_vehicle_connected
    state: "on"
  - condition: template
    value_template: >
      {{ states('sensor.sparky_battery_level') | float(0) <
      states('number.sparky_charge_limit') | float(100) }}
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: switch.sparky_charge
            state: "off"
          - condition: numeric_state
            entity_id: sensor.exportacion_a_red
            above: 1200
        sequence:
          - target:
              entity_id: number.sparky_charge_current
            data:
              value: 5
            action: number.set_value
          - target:
              entity_id: switch.sparky_charge
            action: switch.turn_on
            data: {}
          - data:
              message: |
                ???? Tesla: Se inicia la carga a 5 A
            action: telegram_bot.send_message
      - conditions:
          - condition: state
            entity_id: switch.sparky_charge
            state: "on"
          - condition: numeric_state
            entity_id: sensor.exportacion_a_red
            above: 400
          - condition: template
            value_template: |
              {{ states('number.sparky_charge_current') | float < 22 }}
        sequence:
          - target:
              entity_id: number.sparky_charge_current
            data:
              value: >
                {{ [states('number.sparky_charge_current') | float + 1, 22] |
                min }}
            action: number.set_value
          - action: telegram_bot.send_message
            metadata: {}
            data:
              message: Se sube 1 amperio la carga del Tesla
mode: single
Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

Marten

*
  • *****
  • 619
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #2 en: 05 de Junio de 2025, 05:04:40 pm »
Y aquí el de bajada de intensidad de carga:

alias: Carga Tesla - Reducir carga por falta de excedente solar
description: ""
triggers:
  - minutes: /1
    trigger: time_pattern
    seconds: /22
  - trigger: numeric_state
    entity_id:
      - sensor.exportacion_a_red
    below: 150
    for:
      hours: 0
      minutes: 0
      seconds: 30
conditions:
  - condition: numeric_state
    entity_id: sensor.exportacion_a_red
    below: 150
  - condition: state
    entity_id: switch.sparky_charge
    state: "on"
  - condition: state
    entity_id: binary_sensor.tesla_wall_connector_vehicle_connected
    state: "on"
actions:
  - variables:
      consumo_red: "{{ states('sensor.consumo_desde_red') | float(0) }}"
      intensidad_actual: "{{ states('number.sparky_charge_current') | float(5) }}"
      excedentes_actual: "{{ states('sensor.exportacion_a_red') | float(0) }}"
      amperios_a_bajar: "{{ (((consumo_red + excedentes_actual) / 230) | round(0, 'ceil')) }}"
      nueva_intensidad: "{{ intensidad_actual - amperios_a_bajar }}"
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ nueva_intensidad | float < 5 }}"
        sequence:
          - target:
              entity_id: switch.sparky_charge
            action: switch.turn_off
            data: {}
          - data:
              message: >-
                ???? Tesla: Se detiene la carga por baja intensidad estimada ({{
                nueva_intensidad }} A)
            action: telegram_bot.send_message
    default:
      - target:
          entity_id: number.sparky_charge_current
        data:
          value: "{{ nueva_intensidad }}"
        action: number.set_value
      - data:
          message: >
            ???? Tesla: Se baja la intensidad de carga. - Consumo red: {{
            consumo_red }} W - Intensidad actual: {{ intensidad_actual }} A -
            Amperios a bajar: {{ amperios_a_bajar }} A - Nueva intensidad: {{
            nueva_intensidad }} A
        action: telegram_bot.send_message
mode: single
Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

Marten

*
  • *****
  • 619
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #3 en: 05 de Junio de 2025, 05:06:31 pm »
Pongo aquí alguna gráficas de consumo eléctrico en casa.

* Curva verde: Producción solar
* Curva roja: Consumo en casa

El objetivo es que la curva roja no supere la verde. Especial atención para la gráfica del día 3 ya que hubo mucha nubosidad.

Saludos!!

Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #4 en: 05 de Junio de 2025, 10:17:11 pm »
¿Cómo lo veis? ¿Alguna idea para mejorarlo? Pongo los YAML de las automatizaciones en los dos post siguientes.

En lugar de dos automatismos unifica solo en uno.
Y en lugar de subir "amperio a amperio" calcula los amperios a los que establecer la carga para que la respuesta sea mucho más dinámica.
Y hazlo todo en el actions en lugar de en conditions. En conditions deja solo el que se ejecute el automatismo si está cargando.

Esto es un ejemplo con dos cargadores. Máxima carga a 25A y mínima a 6A.
Stormtrooper es el Tesla y Feyree el otro cargador que da potencia al MG. Ambos cargadores van a la par. Si alguno está sin uso no afecta pq al no haber carga en el otro no importa que suban o bajen los amperios. Y si están ambos se divide en "mitad para cada uno".
Al ser un cálculo directo de corriente, no hace falta "subir o bajar". Simplemente te ajusta el amperaje.

actions:
  - variables:
      grid_power_watts: "{{ states('sensor.victron_grid_l1_power_33') | float(0) }}"
      calculated_amperage_adjustment: "{{ (grid_power_watts / 230) | round(1) * -1 }}"
      current_stormtrooper_charge: "{{ states('number.stormtrooper_charge_current') | float(6) }}"
      current_feyree_charge: "{{ states('number.feyree_ev_charger_set_charge_current') | float(6) }}"
      new_stormtrooper_charge: >-
        {{ (min(25, max(6, current_stormtrooper_charge +
        calculated_amperage_adjustment))) | int }}
      new_feyree_charge: >-
        {{ (min(25, max(6, current_feyree_charge +
        calculated_amperage_adjustment))) | int }}
  - target:
      entity_id: number.stormtrooper_charge_current
    data:
      value: "{{ new_stormtrooper_charge }}"
    action: number.set_value
  - target:
      entity_id: number.feyree_ev_charger_set_charge_current
    data:
      value: "{{ new_feyree_charge }}"
    action: number.set_value
mode: single


Enviado desde mi 21051182G mediante Tapatalk
Descuento en tu Tesla:
https://ts.la/iigo313438

Marten

*
  • *****
  • 619
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #5 en: 05 de Junio de 2025, 11:10:26 pm »
En lugar de dos automatismos unifica solo en uno.
Y en lugar de subir "amperio a amperio" calcula los amperios a los que establecer la carga para que la respuesta sea mucho más dinámica.
Y hazlo todo en el actions en lugar de en conditions. En conditions deja solo el que se ejecute el automatismo si está cargando.

Esto es un ejemplo con dos cargadores. Máxima carga a 25A y mínima a 6A.
Stormtrooper es el Tesla y Feyree el otro cargador que da potencia al MG. Ambos cargadores van a la par. Si alguno está sin uso no afecta pq al no haber carga en el otro no importa que suban o bajen los amperios. Y si están ambos se divide en "mitad para cada uno".
Al ser un cálculo directo de corriente, no hace falta "subir o bajar". Simplemente te ajusta el amperaje.

actions:
  - variables:
      grid_power_watts: "{{ states('sensor.victron_grid_l1_power_33') | float(0) }}"
      calculated_amperage_adjustment: "{{ (grid_power_watts / 230) | round(1) * -1 }}"
      current_stormtrooper_charge: "{{ states('number.stormtrooper_charge_current') | float(6) }}"
      current_feyree_charge: "{{ states('number.feyree_ev_charger_set_charge_current') | float(6) }}"
      new_stormtrooper_charge: >-
        {{ (min(25, max(6, current_stormtrooper_charge +
        calculated_amperage_adjustment))) | int }}
      new_feyree_charge: >-
        {{ (min(25, max(6, current_feyree_charge +
        calculated_amperage_adjustment))) | int }}
  - target:
      entity_id: number.stormtrooper_charge_current
    data:
      value: "{{ new_stormtrooper_charge }}"
    action: number.set_value
  - target:
      entity_id: number.feyree_ev_charger_set_charge_current
    data:
      value: "{{ new_feyree_charge }}"
    action: number.set_value
mode: single


Enviado desde mi 21051182G mediante Tapatalk
Gracias por la sugerencia. Como comentaba antes tengo como punto de mejora el unificar las dos automatizaciones y me lo das ya hecho

La verdad es que estuve probando para calcular el valor correcto del amperaje en lugar de subir 1 a 1 y no me terminaba de convencer. Voy a aplicar lo que indicas porque le das otro enfoque.

Lo que me preocupa es entrar en ciclos continuos de arranque/parada de la carga cuando se va al limite de potencia. ¿No puede afectar negativamente al cargador y/o coche?

Un saludo

Enviado desde mi Pixel 9 Pro XL mediante Tapatalk

Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #6 en: 06 de Junio de 2025, 12:27:43 am »



Lo que me preocupa es entrar en ciclos continuos de arranque/parada de la carga cuando se va al limite de potencia. ¿No puede afectar negativamente al cargador y/o coche?

No pares en los semáforos ni aceleres despues.

Enviado desde mi 21051182G mediante Tapatalk

Descuento en tu Tesla:
https://ts.la/iigo313438

Jubytoo

*
  • ***
  • 162
  • MY LR
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #7 en: 08 de Junio de 2025, 08:55:31 pm »
Puedes instalar Tesla Custom Integration + Fleet Proxy ambas gratuitas, se enlaza con el propio token de tu coche, desde Home Assistant puedes iniciar la carga o pararla incluso visualizar info del coche.

Lo ideal seria crear reglas de inicio, parada de carga para que no sea tan agresiva.

*****¿Te vas a comprar un Tesla?***** Te doy mi código de referido: https://www.tesla.com/es_es/referral/juanfrancisco451989

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #8 en: 08 de Junio de 2025, 10:16:19 pm »
Puedes instalar Tesla Custom Integration + Fleet Proxy ambas gratuitas, se enlaza con el propio token de tu coche, desde Home Assistant puedes iniciar la carga o pararla incluso visualizar info del coche.

Lo ideal seria crear reglas de inicio, parada de carga para que no sea tan agresiva.
Necesitas cambiar al API Fleet para poder ejecutar comandos. Es un pequeño follón por el tema del API Proxy y la gestión de certificados digitales. Si no eres del ramo, suele ser frustrante. Adicionalmente Tesla ha metido un chequeo de proxies reversos. Si tienes un nginx interpuesto, te manda al pedo salvo que lo recompiles sin el server header.

Pero @Marten no ha entrado en eso. Solo en el sistema de ajuste de la corriente de carga. Dependiendo de tu cargador, podrías hacer llamada al propio cargador y no al coche.

Enviado desde mi 2201123G mediante Tapatalk
Descuento en tu Tesla:
https://ts.la/iigo313438

Jubytoo

*
  • ***
  • 162
  • MY LR
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #9 en: 08 de Junio de 2025, 10:40:33 pm »
@inigoml desconocía API Fleet, lo tendré en cuenta :)

*****¿Te vas a comprar un Tesla?***** Te doy mi código de referido: https://www.tesla.com/es_es/referral/juanfrancisco451989

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #10 en: 08 de Junio de 2025, 10:42:59 pm »
@inigoml desconocía API Fleet, lo tendré en cuenta :)
Con API Fleet puedes enviar comandos, pero ojo, que te dan un crédito de 10 USD al mes...te lo fundes rápido con una carga dinámica!

Enviado desde mi 2201123G mediante Tapatalk

Descuento en tu Tesla:
https://ts.la/iigo313438

Jubytoo

*
  • ***
  • 162
  • MY LR
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #11 en: 08 de Junio de 2025, 11:21:07 pm »
Con API Fleet puedes enviar comandos, pero ojo, que te dan un crédito de 10 USD al mes...te lo fundes rápido con una carga dinámica!

Enviado desde mi 2201123G mediante Tapatalk

Ya veo si https://developer.tesla.com/
Llegaste tú a desplegarlo, parece que los eventos no consume mucho
*****¿Te vas a comprar un Tesla?***** Te doy mi código de referido: https://www.tesla.com/es_es/referral/juanfrancisco451989

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #12 en: 09 de Junio de 2025, 08:49:18 am »
Ya veo si https://developer.tesla.com/
Llegaste tú a desplegarlo, parece que los eventos no consume mucho
Actualmente para uno de los cargadores tiro del propio cargador (integración Tuya Local que no sube ni a la nube) y para el otro (TWC) tiro de Tessie directamente que te exponen el API si eres cliente.

Enviado desde mi 21051182G mediante Tapatalk

Descuento en tu Tesla:
https://ts.la/iigo313438

Marten

*
  • *****
  • 619
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #13 en: 09 de Junio de 2025, 09:31:15 am »
Actualmente para uno de los cargadores tiro del propio cargador (integración Tuya Local que no sube ni a la nube) y para el otro (TWC) tiro de Tessie directamente que te exponen el API si eres cliente.

Enviado desde mi 21051182G mediante Tapatalk

Una pregunta. En la integración directa del TWC están los sensores de intensidad de carga, por ejemplo 'sensor.tesla_wall_connector_phase_a_current' que es de sólo lectura, pero a través de Tessie, según comentas, sí que se puede modificar la intensidad de carga sin tener que recurrir al coche. Entiendo entonces que la API de Tesla sí que permite modificar la carga del TWC, pero la integración 'oficial' de Tesla no lo tiene implementado ¿no?

Saludos
Me gustaría compartir mi enlace de recomendación para cuando pida su Tesla. Obtendrá un descuento en la compra de un producto Tesla. https://ts.la/jesus220327

inigoml

*
  • *****
  • 6855
  • I'll miss you, LFP!
    • Ver Perfil
Re: TWC y balanceo de carga con Home Assistant
« Respuesta #14 en: 09 de Junio de 2025, 09:34:09 am »
Una pregunta. En la integración directa del TWC están los sensores de intensidad de carga, por ejemplo 'sensor.tesla_wall_connector_phase_a_current' que es de sólo lectura, pero a través de Tessie, según comentas, sí que se puede modificar la intensidad de carga sin tener que recurrir al coche. Entiendo entonces que la API de Tesla sí que permite modificar la carga del TWC, pero la integración 'oficial' de Tesla no lo tiene implementado ¿no?
Tessie te hace de proxy contra API Fleet. Esto es, interactuas con el coche, no con el TWC. :-(
Descuento en tu Tesla:
https://ts.la/iigo313438