Inicio/Monitorización Solar/Cómo Integrar un Inversor Solar GoodWe con Batería BYD en Home Assistant: Monitorización y Automatización Avanzada
Monitorización Solar

Cómo Integrar un Inversor Solar GoodWe con Batería BYD en Home Assistant: Monitorización y Automatización Avanzada

Alex R.Escrito por: Alex R.
Fecha: 3 Oct 2026
Lectura de 12 min
Cómo Integrar un Inversor Solar GoodWe con Batería BYD en Home Assistant: Monitorización y Automatización Avanzada

La integración de un inversor solar GoodWe con una batería BYD en Home Assistant se ha convertido en una de las configuraciones más demandadas por los entusiastas de la domótica y la eficiencia energética. Esta combinación permite no solo monitorizar en tiempo real la producción solar, el estado de carga de la batería y el consumo del hogar, sino también automatizar estratégicamente los excedentes para maximizar el ahorro. En esta guía exhaustiva, exploraremos desde los fundamentos técnicos de la comunicación Modbus hasta la implementación práctica de automatizaciones avanzadas, pasando por la configuración del inversor, la integración en Home Assistant y la resolución de problemas comunes. Si posees un sistema GoodWe con baterías BYD, este artículo te proporcionará todas las herramientas para convertir tu instalación en un sistema inteligente y altamente eficiente.

1. Fundamentos Técnicos de la Integración GoodWe BYD en Home Assistant

Antes de sumergirnos en la configuración práctica, es crucial comprender la arquitectura de comunicación que permite a Home Assistant interactuar con el inversor GoodWe y la batería BYD. La mayoría de los inversores GoodWe (especialmente las series ET, EH, BT y BH) incorporan un puerto de comunicación Modbus RTU sobre RS485, que puede ser accedido a través de diferentes métodos. El más común es mediante el módulo WiFi o Ethernet integrado (como el Ezlink o el Smart Meter), pero para una integración local y sin dependencia de la nube, se recomienda utilizar un convertidor USB-RS485 conectado directamente al puerto Modbus del inversor.

La batería BYD, por su parte, se comunica con el inversor a través del protocolo CAN Bus, y es el propio inversor GoodWe quien expone los datos de la batería (estado de carga, voltaje, corriente, temperatura, etc.) a través de sus registros Modbus. Por lo tanto, al integrar el inversor en Home Assistant, obtendremos automáticamente la información de la batería sin necesidad de conectar directamente a la BYD. Esto simplifica enormemente la instalación y reduce costes.

1.1. Protocolo Modbus y Registros Clave

El protocolo Modbus es un estándar de comunicación industrial que permite leer y escribir registros en dispositivos electrónicos. En el caso de los inversores GoodWe, los registros más relevantes para la monitorización solar son los siguientes:

Registro (Hex)DescripciónUnidadFactor
0x0000Potencia de salida del inversorW1
0x0001Voltaje de la redV0.1
0x0002Corriente de salidaA0.1
0x0003Frecuencia de redHz0.01
0x0004Potencia fotovoltaicaW1
0x0005Voltaje del string PV1V0.1
0x0006Corriente del string PV1A0.1
0x0007Voltaje del string PV2V0.1
0x0008Corriente del string PV2A0.1
0x0009Potencia de carga de bateríaW1
0x000APotencia de descarga de bateríaW1
0x000BEstado de carga de batería (SOC)%1
0x000CVoltaje de bateríaV0.1
0x000DCorriente de bateríaA0.1
0x000ETemperatura de batería°C0.1

Estos registros son la base para construir sensores personalizados en Home Assistant. Es importante consultar la documentación específica de tu modelo de inversor GoodWe, ya que los registros pueden variar ligeramente entre series. La integración oficial de GoodWe en Home Assistant, disponible a través de HACS, ya incluye muchos de estos sensores predefinidos, lo que simplifica enormemente la configuración.

Consejo / RecomendaciónAntes de realizar cualquier conexión física, asegúrate de que el inversor está apagado y sin tensión. La manipulación del puerto RS485 con el equipo energizado puede dañar la electrónica. Además, utiliza siempre cable apantallado y respeta la polaridad A y B.

1.2. Métodos de Conexión: Local vs. Nube

Existen dos enfoques principales para integrar el inversor GoodWe en Home Assistant: mediante la nube (usando la API oficial de GoodWe o el módulo WiFi) o de forma local (a través de Modbus TCP o RTU). La conexión local es la más recomendada por su fiabilidad, baja latencia y independencia de servidores externos. Para ello, necesitarás un adaptador USB-RS485 (como el USR-TCP232-410s o similar) conectado al puerto Modbus del inversor y a tu servidor de Home Assistant (por ejemplo, una Raspberry Pi o un mini PC).

Si optas por la conexión local, deberás configurar la integración Modbus en Home Assistant, especificando la dirección IP del adaptador (si es Ethernet) o el puerto serie (si es USB). La velocidad de transmisión típica es 9600 baudios, 8 bits de datos, sin paridad y 1 bit de parada. A continuación, se muestra un ejemplo de configuración en el archivo configuration.yaml:

modbus:
  - name: GoodWe
    type: serial
    port: /dev/ttyUSB0
    baudrate: 9600
    bytesize: 8
    method: rtu
    parity: N
    stopbits: 1
    sensors:
      - name: Potencia Solar
        slave: 1
        address: 4
        input_type: input
        unit_of_measurement: W
        scale: 1
        precision: 0
        data_type: uint16
      - name: SOC Bateria
        slave: 1
        address: 11
        input_type: input
        unit_of_measurement: '%'
        scale: 1
        precision: 0
        data_type: uint16

Este código define dos sensores: la potencia solar instantánea y el estado de carga de la batería. Observa que la dirección del registro se especifica en decimal (4 para 0x0004 y 11 para 0x000B). Es fundamental ajustar el slave ID correcto, que por defecto suele ser 1, pero puede variar.

2. Guía de Instalación Paso a Paso: De la Configuración Física a Home Assistant

Ahora que comprendemos los fundamentos, vamos a detallar el proceso completo de integración, desde la conexión física hasta la visualización de datos en un dashboard personalizado. Sigue estos pasos meticulosamente para evitar errores comunes.

2.1. Conexión Física del Adaptador RS485

El primer paso es conectar el adaptador USB-RS485 al puerto de comunicación del inversor GoodWe. Localiza el puerto RS485, que generalmente se encuentra en la parte inferior del inversor, protegido por una tapa. Necesitarás un conector RJ45 o terminales de tornillo, dependiendo del modelo. Los pines típicos son: pin 1 (A) y pin 2 (B) para la señal diferencial, y pin 3 (GND) para tierra. Conecta el adaptador a tu servidor de Home Assistant y verifica que el sistema operativo lo reconoce (por ejemplo, como /dev/ttyUSB0 en Linux).

1Paso 1: Materiales Necesarios

Adaptador USB-RS485 (recomendado: USR-TCP232-410s o similar), cable apantallado de 2 hilos, conector RJ45 o terminales, destornillador, y acceso al puerto Modbus del inversor.

2Paso 2: Conexión al Inversor

Apaga el inversor (DC y AC). Conecta el cable al puerto RS485 respetando la polaridad A y B. Asegura bien las conexiones y vuelve a colocar la tapa protectora.

3Paso 3: Conexión al Servidor

Conecta el adaptador USB al servidor de Home Assistant. Verifica que aparece el dispositivo en /dev/ttyUSB0 o similar. Si usas Ethernet, configura la IP correspondiente.

4Paso 4: Configuración en Home Assistant

Añade la configuración Modbus en configuration.yaml, reinicia Home Assistant y comprueba que los sensores aparecen correctamente.

2.2. Configuración Avanzada de Sensores y Plantillas

Una vez que los sensores básicos funcionan, podemos crear sensores derivados y plantillas para obtener información más útil, como la energía acumulada, el autoconsumo o el balance neto. Por ejemplo, para calcular la energía solar generada en el día, podemos utilizar la integración de sensores de utilidad (utility_meter) o sensores de integración (integration).

A continuación, se muestra un ejemplo de configuración para un sensor de energía diaria y otro para el autoconsumo instantáneo:

sensor:
  - platform: integration
    source: sensor.potencia_solar
    name: Energia Solar Diaria
    unit_prefix: k
    round: 2
    method: left
  - platform: template
    sensors:
      autoconsumo:
        friendly_name: 'Autoconsumo Instantaneo'
        unit_of_measurement: 'W'
        value_template: >-
          {% set solar = states('sensor.potencia_solar') | float %}
          {% set consumo = states('sensor.consumo_casa') | float %}
          {{ [solar, consumo] | min }}
      excedente:
        friendly_name: 'Excedente a Red'
        unit_of_measurement: 'W'
        value_template: >-
          {% set solar = states('sensor.potencia_solar') | float %}
          {% set consumo = states('sensor.consumo_casa') | float %}
          {{ [solar - consumo, 0] | max }}

Estos sensores nos permiten conocer en todo momento cuánta energía estamos autoconsumiendo y cuánta estamos vertiendo a la red. Con esta información, podemos diseñar automatizaciones para, por ejemplo, encender el termo eléctrico o la bomba de la piscina cuando haya excedente, maximizando el ahorro.

Atención / AdvertenciaAl crear sensores de integración, asegúrate de que la fuente (source) sea un sensor de potencia en vatios y que la integración se realice correctamente. Un error común es utilizar una fuente que no sea numérica o que tenga una unidad incorrecta, lo que resultará en valores erróneos. Revisa siempre los logs de Home Assistant para detectar posibles fallos.

3. Automatizaciones Avanzadas para Maximizar el Ahorro Energético

La verdadera potencia de integrar GoodWe y BYD en Home Assistant radica en la capacidad de crear automatizaciones inteligentes que aprovechen al máximo la energía solar y el almacenamiento en baterías. A continuación, presentamos varios casos prácticos con ejemplos de código YAML que puedes adaptar a tu instalación.

3.1. Automatización de Carga de Batería en Horas Valle

Si tu tarifa eléctrica tiene discriminación horaria, puedes programar la carga de la batería BYD durante las horas valle (cuando la electricidad es más barata) para luego utilizarla durante las horas punta. Esta automatización requiere que el inversor GoodWe permita el control de carga desde Modbus (algunos modelos lo permiten mediante registros de escritura).

El siguiente ejemplo activa la carga forzada de la batería a las 2:00 AM y la detiene a las 6:00 AM, siempre que el precio de la luz sea bajo y el SOC esté por debajo del 80%:

automation:
  - alias: 'Cargar Bateria en Horas Valle'
    trigger:
      - platform: time
        at: '02:00:00'
    condition:
      - condition: numeric_state
        entity_id: sensor.soc_bateria
        below: 80
      - condition: numeric_state
        entity_id: sensor.precio_luz
        below: 0.15
    action:
      - service: modbus.write_register
        data:
          hub: goodwe
          unit: 1
          address: 0x1000
          value: 1
  - alias: 'Detener Carga Bateria'
    trigger:
      - platform: time
        at: '06:00:00'
    action:
      - service: modbus.write_register
        data:
          hub: goodwe
          unit: 1
          address: 0x1000
          value: 0

Es importante verificar en el manual de tu inversor la dirección exacta del registro de control de carga y los valores permitidos. No todos los modelos GoodWe permiten escritura Modbus; en esos casos, deberás usar la API de la nube o un sistema externo.

3.2. Gestión de Excedentes para Calentamiento de Agua

Otra automatización muy común es desviar el excedente solar a un termo eléctrico o a una resistencia de calefacción. Para ello, necesitamos medir el excedente (como vimos en el sensor de plantilla) y activar un relé o enchufe inteligente cuando supere un umbral. El siguiente ejemplo enciende el termo cuando el excedente es mayor de 1500 W durante 5 minutos y lo apaga cuando baja de 500 W:

automation:
  - alias: 'Encender Termo con Excedente'
    trigger:
      - platform: numeric_state
        entity_id: sensor.excedente
        above: 1500
        for:
          minutes: 5
    action:
      - service: switch.turn_on
        entity_id: switch.termo_electrico
  - alias: 'Apagar Termo sin Excedente'
    trigger:
      - platform: numeric_state
        entity_id: sensor.excedente
        below: 500
        for:
          minutes: 2
    action:
      - service: switch.turn_off
        entity_id: switch.termo_electrico

Esta automatización puede ampliarse para controlar la potencia de carga de forma proporcional al excedente, utilizando un dimmer o un relé de estado sólido. Home Assistant permite integrar fácilmente dispositivos como Shelly, Sonoff o incluso PLCs industriales.

4. Errores Comunes y Limitaciones Técnicas

A pesar de que la integración es relativamente sencilla, existen varios errores que los usuarios principiantes suelen cometer. A continuación, detallamos los más frecuentes y cómo evitarlos.

Atención / AdvertenciaNunca conectes el adaptador RS485 al inversor sin antes verificar la polaridad. Invertir los cables A y B puede dañar el puerto de comunicación. Además, asegúrate de que la longitud del cable no supere los 100 metros y que esté apantallado para evitar interferencias electromagnéticas.
  • Error 1: Dirección Modbus incorrecta: Cada modelo de inversor tiene un mapa de registros distinto. Consulta el manual oficial o la documentación de la integración GoodWe para Home Assistant.
  • Error 2: Slave ID incorrecto: El ID de esclavo por defecto es 1, pero algunos instaladores lo cambian. Verifica en la configuración del inversor.
  • Error 3: Falta de permisos en el puerto serie: En Linux, el usuario de Home Assistant debe pertenecer al grupo dialout para acceder a /dev/ttyUSB0.
  • Error 4: Intervalo de sondeo demasiado corto: Consultar los registros cada segundo puede sobrecargar el inversor. Se recomienda un intervalo de 5 a 10 segundos.

5. Comparativa de Métodos de Integración

Existen varias formas de integrar el inversor GoodWe en Home Assistant. A continuación, comparamos las tres más habituales: integración oficial (HACS), Modbus local y API de la nube.

MétodoVentajasDesventajasRecomendado
Integración HACS (GoodWe)Fácil configuración, sensores predefinidos, actualizaciones automáticasDepende de la nube, latencia, posible caída de servidoresOpcional
Modbus Local (RS485)Sin dependencia de nube, baja latencia, control totalRequiere hardware adicional, configuración manualMuy Recomendado
API Nube GoodWeNo requiere hardware, funciona en cualquier lugarDependencia total de internet, límites de peticiones, datos con retardoNo Recomendado

Como se desprende de la tabla, el método Modbus local es el más robusto y profesional. Aunque requiere una inversión inicial en hardware (aproximadamente 30-50 euros), la fiabilidad y el control que ofrece no tienen comparación. La integración HACS es una buena opción para quienes no quieren complicarse, pero no permite automatizaciones críticas en tiempo real.

6. Preguntas Frecuentes (FAQ)

¿Es compatible mi inversor GoodWe con la integración Modbus en Home Assistant?
TRANSPARENCIA INFORMATIVA

Este análisis técnico es independiente. No recibimos pagos de fabricantes para alterar valoraciones. Si realizas una compra a través de enlaces en este sitio, podríamos percibir una comisión de afiliación que ayuda a mantener el servidor activo, sin coste extra para ti.