Inicio/Monitorización Solar/Cómo integrar un inversor solar Solax en Home Assistant con Modbus TCP y automatizar el consumo de excedentes
Monitorización Solar

Cómo integrar un inversor solar Solax en Home Assistant con Modbus TCP y automatizar el consumo de excedentes

Alex R.Escrito por: Alex R.
Fecha: 17 Sep 2026
Lectura de 10 min
Cómo integrar un inversor solar Solax en Home Assistant con Modbus TCP y automatizar el consumo de excedentes

La integración de un inversor solar Solax en Home Assistant mediante Modbus TCP representa uno de los avances más significativos para los entusiastas del autoconsumo fotovoltaico. A diferencia de las soluciones propietarias cerradas, el protocolo Modbus TCP permite un acceso directo y en tiempo real a los registros internos del inversor, desbloqueando un sinfín de posibilidades de monitorización y control. En esta guía exhaustiva, exploraremos no solo los fundamentos técnicos de esta comunicación, sino que también desarrollaremos estrategias avanzadas para automatizar el consumo de excedentes, asegurando que cada vatio generado por tus paneles solares sea aprovechado al máximo. Si eres propietario de un inversor Solax y deseas llevar tu instalación al siguiente nivel, este artículo te proporcionará las herramientas y el conocimiento necesario para lograrlo.

1. Fundamentos de la Integración Solax en Home Assistant con Modbus TCP

Antes de sumergirnos en la configuración práctica, es crucial comprender qué es Modbus TCP y por qué es el estándar de facto para la integración de inversores solares en sistemas domóticos. Modbus es un protocolo de comunicación industrial que permite a dispositivos electrónicos intercambiar datos a través de una red. En su variante TCP, utiliza el protocolo de Internet para transportar los mensajes, lo que facilita su integración en redes domésticas convencionales. Los inversores Solax, al igual que muchos otros fabricantes, exponen una serie de registros Modbus que contienen información vital: potencia de generación, voltaje de la red, frecuencia, energía acumulada, estado de los strings fotovoltaicos, y un largo etcétera. Home Assistant, con su capacidad de ejecutar scripts y add-ons, puede consultar estos registros periódicamente y convertirlos en entidades nativas, como sensores, que luego podemos utilizar en paneles de control y automatizaciones.

La gran ventaja de Modbus TCP frente a otras alternativas como las API en la nube es la latencia. Mientras que una consulta a la nube puede tardar varios segundos e incluso minutos, una lectura Modbus local se completa en milisegundos. Esta inmediatez es esencial para automatizaciones que requieren respuestas rápidas, como el control de excedentes. Además, al no depender de servidores externos, la privacidad y la fiabilidad son superiores: tu sistema sigue funcionando incluso si se cae Internet. Por último, la integración local evita posibles limitaciones o cambios en las API de los fabricantes, que a menudo restringen el acceso gratuito.

1.1. Requisitos Previos y Compatibilidad

No todos los inversores Solax son iguales. Para seguir esta guía, necesitarás un inversor que soporte Modbus TCP de forma nativa o a través de un módulo de comunicación adicional. La mayoría de los modelos híbridos y de string de generaciones recientes (X1, X3, X1-Hybrid, X3-Hybrid, etc.) incluyen esta funcionalidad, pero es recomendable consultar la documentación oficial o foros especializados. Además, necesitarás:

  • Home Assistant: Instalación funcionando, preferiblemente en un dispositivo dedicado como Raspberry Pi, mini PC o servidor. Se recomienda la versión Supervised o Home Assistant OS para facilitar la gestión de add-ons.
  • Conectividad de red: El inversor debe estar conectado a tu red local, ya sea por Ethernet o Wi-Fi. La mayoría de los inversores Solax incluyen un puerto LAN o un módulo Wi-Fi que permite el acceso Modbus TCP.
  • Conocimientos básicos: Familiaridad con la edición de archivos YAML y la interfaz de Home Assistant. No se requiere ser un experto, pero sí comprender la estructura de configuración.
Atención / AdvertenciaAntes de realizar cualquier modificación en la configuración del inversor o en su red, asegúrate de tener a mano el manual del usuario y, si es necesario, contacta con el soporte técnico de Solax. Una mala configuración podría afectar la garantía o el funcionamiento del equipo.

1.2. Ventajas de la Monitorización Local

La monitorización local a través de Modbus TCP ofrece ventajas sustanciales sobre las soluciones en la nube. En primer lugar, la frecuencia de actualización es mucho mayor. Mientras que los portales web suelen actualizar cada 5 o 10 minutos, Modbus permite lecturas cada segundo o incluso menos. Esto es crucial para detectar fluctuaciones rápidas en la generación solar, por ejemplo, cuando pasan nubes. En segundo lugar, la integración con Home Assistant permite combinar los datos del inversor con los de otros dispositivos, como medidores de consumo, baterías, termostatos, etc., creando automatizaciones verdaderamente inteligentes. Por último, la independencia de la nube garantiza que tus datos permanezcan en tu hogar y que el sistema siga operativo aunque el fabricante decida cambiar sus políticas o cerrar su plataforma.

2. Configuración Paso a Paso de Modbus TCP en Home Assistant

Una vez cumplidos los requisitos, procederemos a configurar Home Assistant para que se comunique con el inversor Solax. Existen varias vías: utilizar la integración oficial de Modbus, instalar un add-on específico como Solax Modbus, o emplear HACS para integraciones personalizadas. En esta guía nos centraremos en la integración nativa de Modbus, que es robusta y no requiere dependencias externas, aunque mencionaremos alternativas.

2.1. Habilitar Modbus TCP en el Inversor Solax

El primer paso es asegurarse de que el inversor tiene habilitado el servidor Modbus TCP. En muchos modelos, esta opción está activada por defecto, pero en otros es necesario acceder al menú de configuración avanzada. Por lo general, se accede a través de la pantalla LCD del inversor o mediante la aplicación móvil Solax Cloud. Busca una opción llamada 'Modbus' o 'Comunicación' y actívala. Toma nota de la dirección IP que el inversor obtiene en tu red local; puedes encontrarla en el menú de información de red o en la lista de dispositivos conectados de tu router. Es recomendable asignar una IP estática al inversor para evitar que cambie con el tiempo, lo que rompería la configuración de Home Assistant.

Consejo / RecomendaciónSi tu inversor se conecta por Wi-Fi y experimentas cortes, considera la posibilidad de usar un adaptador Ethernet o un punto de acceso dedicado. La estabilidad de la conexión es fundamental para una monitorización fiable.

2.2. Añadir la Integración Modbus a Home Assistant

Home Assistant incluye la integración Modbus de serie. Para configurarla, deberás editar el archivo configuration.yaml. A continuación, se muestra un ejemplo básico de configuración para un inversor Solax. Ten en cuenta que los registros y sus direcciones pueden variar según el modelo; consulta la documentación de Solax o repositorios como Home Assistant Community para obtener la lista exacta.

modbus:
  - name: Solax
    type: tcp
    host: 192.168.1.100
    port: 502
    sensors:
      - name: Solax PV Power
        slave: 1
        address: 0x0000
        input_type: input
        count: 2
        data_type: uint32
        scale: 0.001
        unit_of_measurement: kW
        device_class: power
      - name: Solax Grid Power
        slave: 1
        address: 0x0006
        input_type: input
        count: 2
        data_type: int32
        scale: 0.001
        unit_of_measurement: kW
        device_class: power
      - name: Solax Battery SOC
        slave: 1
        address: 0x001C
        input_type: input
        count: 1
        data_type: uint16
        scale: 1
        unit_of_measurement: '%'
        device_class: battery

Este código define un hub Modbus llamado 'Solax' que se conecta a la IP 192.168.1.100 en el puerto 502 (el estándar para Modbus TCP). Luego, se definen tres sensores: potencia fotovoltaica, potencia de red (positiva si se importa, negativa si se exporta) y estado de carga de la batería. Los parámetros 'address', 'count' y 'data_type' son críticos y deben coincidir con el mapa de registros de tu inversor. La escala '0.001' convierte los valores brutos a unidades legibles (kW en lugar de W).

Tras guardar el archivo, reinicia Home Assistant para que los cambios surtan efecto. Si todo está correcto, verás las nuevas entidades en la interfaz. Puedes comprobar el estado en Herramientas de Desarrollador > Estados. Si algún sensor muestra 'unknown' o 'unavailable', revisa la conexión y los parámetros.

2.3. Alternativa: Add-on Solax Modbus

Para aquellos que prefieren una solución más plug-and-play, existe un add-on desarrollado por la comunidad llamado 'Solax Modbus' que se puede instalar a través de HACS o del repositorio de add-ons. Este add-on se encarga de consultar el inversor y publicar los datos en MQTT, lo que simplifica enormemente la configuración. Solo hay que indicar la IP, el puerto y el modelo de inversor, y el add-on crea automáticamente las entidades en Home Assistant mediante MQTT Discovery. Es una opción excelente si no te sientes cómodo editando YAML o si tu inversor tiene un mapa de registros complejo.

3. Automatización del Consumo de Excedentes: Estrategias y Ejemplos

Una vez que tenemos los datos del inversor en Home Assistant, el siguiente paso es utilizarlos para automatizar el consumo de excedentes. El objetivo es sencillo: cuando los paneles generan más energía de la que consume la casa, en lugar de verterla a la red (a menudo sin compensación o con una compensación mínima), podemos desviarla hacia cargas flexibles como un termo eléctrico, una bomba de calor, un cargador de vehículo eléctrico o incluso una batería virtual. La clave está en monitorizar la potencia de red (Grid Power) y actuar en consecuencia.

3.1. Identificar el Excedente

El excedente se produce cuando la potencia generada por los paneles supera la potencia consumida por las cargas del hogar. En términos de red, esto se refleja como una exportación: la potencia de red se vuelve negativa. Por lo tanto, el sensor de 'Grid Power' es nuestro indicador principal. Si tenemos un medidor de consumo separado, podemos calcular el excedente como la diferencia entre generación y consumo. En cualquier caso, necesitamos una entidad que represente el excedente neto. Si no disponemos de un sensor de consumo, podemos asumir que el excedente es igual a la generación menos una estimación del consumo base, pero lo ideal es medirlo con precisión.

Para una automatización robusta, es recomendable crear un sensor plantilla que calcule el excedente en vatios. Por ejemplo:

sensor:
  - platform: template
    sensors:
      excedente_solar:
        friendly_name: 'Excedente Solar'
        unit_of_measurement: 'W'
        value_template: >-
          {% set grid = states('sensor.solax_grid_power') | float %}
          {% if grid < 0 %}
            {{ (grid * -1000) | round(0) }}
          {% else %}
            0
          {% endif %}

Este sensor devuelve el excedente en vatios (asumiendo que el sensor original está en kW). Si el inversor no proporciona directamente la potencia de red, podemos calcularla como la diferencia entre la generación fotovoltaica y el consumo de la casa, pero necesitaremos un medidor de consumo adicional.

3.2. Automatizaciones para Desviar Excedentes

Con el sensor de excedente listo, podemos crear automatizaciones que activen cargas cuando haya suficiente excedente. Un caso típico es el control de un termo eléctrico. Supongamos que tenemos un interruptor inteligente (por ejemplo, Shelly o Sonoff) que controla la alimentación del termo. Queremos encenderlo cuando el excedente supere los 1500 W durante al menos 5 minutos, y apagarlo cuando el excedente caiga por debajo de 500 W durante 2 minutos. Esta histéresis evita encendidos y apagados frecuentes.

La automatización en YAML sería:

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

Este es solo un ejemplo básico. Para un control más fino, podemos usar un controlador PID que ajuste la potencia de carga de forma proporcional al excedente. Por ejemplo, con un cargador de VE que admita modulación, podemos enviar la potencia deseada a través de una integración como OCPP o mediante una API local. Home Assistant puede calcular la potencia sobrante y establecerla en el cargador, maximizando el autoconsumo.

1Control de Termo Eléctrico

Encender el termo cuando hay excedente y apagarlo cuando no. Requiere un interruptor inteligente y un sensor de temperatura para no sobrecalentar.

2Carga de Vehículo Eléctrico

Modular la potencia de carga según el excedente. Necesitas un cargador compatible con control externo (OCPP, API).

3Bomba de Calor

Ajustar la temperatura de impulsión o activar el modo de calefacción cuando hay excedente, almacenando energía térmica.

4Riego Automático

Activar bombas de riego cuando hay excedente, aprovechando la energía solar para el bombeo de agua.

4. Errores Comunes y Mejores Prácticas

La integración de sistemas fotovoltaicos con domótica no está exenta de desafíos. A continuación, detallamos los errores más frecuentes y cómo evitarlos.

Atención / AdvertenciaNunca manipules el cableado del inversor sin antes desconectar la alimentación fotovoltaica y de red. El inversor puede tener condensadores cargados que representan un riesgo eléctrico incluso después de apagarlo. Sigue siempre las instrucciones del fabricante.

4.1. Direcciones Modbus Incorrectas

Uno de los fallos más habituales es utilizar direcciones de registro equivocadas. Cada modelo de inversor tiene su propio mapa de registros, y confundir una dirección puede llevar a lecturas erróneas o a la falta de comunicación. Siempre verifica la documentación oficial o utiliza herramientas como mbpoll para escanear los registros y confirmar los valores. Además, algunos inversores requieren especificar el 'slave ID' correcto; para Solax suele ser 1, pero puede variar.

4.2. Problemas de Conectividad

La conexión Modbus TCP puede verse afectada por cortafuegos, VLANs o direcciones IP dinámicas. Asegúrate de que el puerto 502 esté abierto en la red local y que el inversor tenga una IP fija. Si usas Wi-Fi, considera la posibilidad de invertir en un punto de acceso dedicado o utilizar un adaptador Ethernet. La estabilidad es clave para evitar datos inconsistentes.

4.3. Sobrecarga de Consultas

Consultar demasiados registros con una frecuencia muy alta puede sobrecargar el inversor y provocar timeouts. Es recomendable agrupar las lecturas y establecer un intervalo de sondeo adecuado, por ejemplo, cada 5 o 10 segundos. Home Assistant permite configurar el 'scan_interval' en la integración Modbus para controlar la frecuencia.

4.4. Falta de Histéresis en Automatizaciones

Las automatizaciones sin histéresis pueden causar encendidos y apagados rápidos (efecto rebote) cuando el excedente fluctúa cerca del umbral. Siempre define tiempos de espera ('for') y umbrales separados para encendido y apagado. Esto prolonga la vida útil de los dispositivos y evita consumos innecesarios.

5. Comparativa de Métodos de Integración

Existen varias formas de integrar un inversor Solax en Home Assistant. A continuación, comparamos las tres más comunes: Modbus TCP nativo, add-on Solax Modbus y API en la nube.

MétodoVentajasDesventajasRecomendado para
Modbus TCP nativoBaja latencia, control total, sin dependencias externasRequiere conocimientos de YAML y mapa de registrosUsuarios avanzados
Add-on Solax ModbusFácil configuración, actualizaciones automáticas, integración MQTTDepende de un tercero, puede no soportar todos los modelosUsuarios intermedios
API en la nubeNo requiere configuración local, acceso remotoAlta latencia, dependencia de Internet, límites de peticionesMonitorización básica

Como se puede observar, el método Modbus TCP nativo es el más potente y flexible, aunque requiere una inversión inicial de tiempo en configuración. El add-on Solax Modbus es un excelente equilibrio entre facilidad y funcionalidad. La API en la nube solo se recomienda si no se necesita control en tiempo real o si no se dispone de acceso local al inversor.

6. Preguntas Frecuentes (FAQ)

¿Es compatible mi inversor Solax con Modbus TCP?
La mayoría de los inversores Solax fabricados después de 2018, especialmente los de las series X1 y X3 (tanto híbridos como no híbridos), soportan Modbus TCP. Sin embargo, algunos modelos antiguos o versiones de firmware pueden requerir una actualización. Consulta el manual de tu inversor o la web oficial de Solax para confirmar. Si tu inversor tiene un puerto Ethernet o Wi-Fi y una opción de configuración para Modbus, es muy probable que sea compatible.
¿Qué dirección IP debo usar para el inversor?
Debes usar la dirección IP que el inversor tiene asignada en tu red local. Puedes encontrarla en el menú de información de red del propio inversor o en la lista de dispositivos conectados de tu router. Se recomienda configurar una reserva DHCP o una IP estática para que no cambie. Evita usar la IP pública o la de la nube de Solax; la comunicación Modbus TCP es local.
¿Puedo controlar la carga de mi coche eléctrico con el excedente solar?
Sí, es posible si tu cargador de VE admite control externo, por ejemplo, mediante OCPP, una API local o un protocolo como Modbus. En Home Assistant, puedes crear una automatización que ajuste la corriente de carga en función del excedente. Algunos cargadores comerciales ya ofrecen esta función de forma nativa, pero con Home Assistant puedes integrarlo con cualquier cargador que permita control.