Cómo integrar un inversor solar Solis en Home Assistant con Modbus TCP: Guía paso a paso
Escrito por: Alex R.La monitorización en tiempo real de un inversor solar no es solo una cuestión de curiosidad técnica, sino una herramienta fundamental para optimizar el rendimiento de tu instalación fotovoltaica y detectar posibles fallos de manera temprana. Si eres usuario de Home Assistant, probablemente ya conoces el poder de centralizar todos tus dispositivos en una única plataforma. Integrar tu inversor Solis mediante el protocolo Modbus TCP te permitirá acceder a datos precisos de generación, voltajes, corrientes y temperaturas, llevando tu domótica y gestión energética al siguiente nivel. En esta guía técnica, exhaustiva y práctica, te explicaré paso a paso cómo realizar esta integración, superando los obstáculos más comunes y aprovechando al máximo las capacidades de tu equipo.
Fundamentos de Modbus TCP y compatibilidad con Solis
Modbus es un protocolo de comunicación industrial desarrollado en 1979 por Modicon (hoy Schneider Electric). Se ha convertido en el estándar de facto para la comunicación entre dispositivos electrónicos en entornos industriales y, cada vez más, en el sector de las energías renovables. La variante Modbus TCP/IP encapsula las tramas Modbus en paquetes TCP/IP, permitiendo la comunicación a través de redes Ethernet estándar. Esto simplifica enormemente la integración con sistemas domóticos como Home Assistant, que se ejecuta en una red local.
Los inversores Solis, fabricados por Ginlong Technologies, incorporan de serie (en la mayoría de sus modelos modernos) un puerto de comunicación RS485 y, en muchos casos, soporte directo para Modbus TCP a través de su puerto Ethernet o mediante un adaptador Wi-Fi/RS485 opcional. Modelos como la serie Solis-4G, Solis-5G y las nuevas series RHI y S6 incorporan capacidades Modbus avanzadas. Es crucial verificar la ficha técnica de tu modelo específico, ya que algunos inversores más antiguos pueden requerir un módulo de expansión (como el 'Solis Stick' o 'Solis Data Logger') para habilitar la comunicación Ethernet y, por ende, Modbus TCP.
La integración con Home Assistant se realiza típicamente mediante la integración 'Modbus' que viene de serie en Home Assistant. Esta integración permite configurar sensores de solo lectura (input registers) y de lectura/escritura (holding registers) que mapean los registros internos del inversor. Para ello, necesitamos conocer el mapa de registros específico de Solis. Afortunadamente, Ginlong publica un documento llamado 'Solis Modbus Protocol' que detalla cada registro, su dirección, tipo de dato y escala. Este documento es esencial para una configuración precisa.
Preparación del inversor y la red
1. Habilitar Modbus TCP en el inversor
El primer paso es acceder a la configuración del inversor. Esto se puede hacer de dos maneras: mediante el panel de visualización local (si tu modelo tiene pantalla) o a través de la aplicación móvil 'Solis Cloud' (o 'Solis WiFi'). En la mayoría de los modelos, la opción se encuentra en el menú 'Configuración' > 'Comunicación' > 'Modbus'. Debes seleccionar 'Modbus TCP' y establecer una dirección IP estática o asegurarte de que el inversor obtenga una IP fija mediante DHCP reservation en tu router. Anota la dirección IP, la máscara de subred y la puerta de enlace. También es importante definir el número de puerto, que por defecto suele ser 502 (el estándar Modbus TCP). Algunos inversores permiten cambiar este puerto; si lo haces, recuérdalo para la configuración en Home Assistant.
Además, es habitual que el inversor tenga una opción de 'Modbus ID' o 'Slave ID'. En la mayoría de los casos, el valor por defecto es 1. Este identificador es necesario para que Home Assistant sepa a qué dispositivo se dirige. Si tienes varios inversores Solis en la misma red, cada uno debe tener un ID único (1, 2, 3, etc.).
2. Configuración de red y firewall
Para una comunicación estable, es altamente recomendable asignar una IP fija al inversor. Puedes hacerlo desde el panel de administración de tu router (DHCP reservation) o directamente en el inversor si lo permite. Evita usar DHCP dinámico, ya que un cambio de IP rompería la conexión con Home Assistant. Además, asegúrate de que no haya ningún firewall en tu red local que bloquee el puerto 502 (o el que hayas configurado). Si utilizas VLANs o segmentación de red, verifica que el dispositivo donde corre Home Assistant (por ejemplo, una Raspberry Pi o un servidor) pueda alcanzar al inversor a nivel de red.
Una buena práctica es hacer una prueba de conectividad usando herramientas como 'ping' desde el equipo donde está Home Assistant hacia la IP del inversor. Si el ping responde, el siguiente paso es probar la comunicación Modbus con una herramienta externa como 'Modbus Poll' (Windows) o 'mbpoll' (Linux). Estas herramientas te permiten leer registros manualmente para verificar que el inversor responde correctamente antes de configurar Home Assistant.
Instalación y configuración de la integración Modbus en Home Assistant
Paso 1: Añadir la integración Modbus
En Home Assistant, navega a 'Configuración' > 'Dispositivos y servicios' > 'Agregar integración' y busca 'Modbus'. Selecciona la integración y elige 'Entrada Modbus TCP'. A continuación, introduce la dirección IP del inversor, el puerto (502) y, si es necesario, el ID de esclavo (por defecto 1). La integración soporta tanto sensores de solo lectura como registros de retención. Para nuestra monitorización, necesitaremos principalmente sensores de solo lectura (input registers).
Una vez añadida la integración, verás que se crea un dispositivo 'Modbus'. Ahora debemos añadir los sensores. Para ello, ve a la pestaña 'Sensores' dentro de la configuración de Modbus y haz clic en 'Agregar sensor'. Deberás especificar el nombre, el tipo de registro (input), la dirección del registro (en decimal o hexadecimal, según el mapa de Solis), el tipo de dato (int16, uint16, int32, uint32, float), el factor de escala (si lo indica el protocolo) y la unidad. Es recomendable crear un sensor para cada parámetro que desees monitorizar.
Paso 2: Mapa de registros esencial de Solis
A continuación, te presento una tabla con los registros más comunes para los inversores Solis (basada en el protocolo público). Ten en cuenta que las direcciones pueden variar ligeramente según el modelo y el firmware, por lo que siempre debes contrastar con el documento oficial de tu equipo.
| Parámetro | Registro (Dec) | Tipo | Escala | Unidad |
|---|---|---|---|---|
| Potencia activa total | 33001 | uint32 | 0.1 | W |
| Energía total generada | 33003 | uint32 | 0.1 | kWh |
| Tensión de red L1 | 33005 | uint16 | 0.1 | V |
| Corriente de salida L1 | 33007 | uint16 | 0.1 | A |
| Temperatura del inversor | 33009 | uint16 | 0.1 | °C |
| Estado del inversor | 33011 | uint16 | 1 | Código |
Para registros de 32 bits, ten en cuenta que ocupan dos direcciones consecutivas (por ejemplo, 33001 y 33002). En la configuración de Home Assistant, debes indicar la dirección inicial y seleccionar 'uint32' (o 'int32' si puede ser negativo). La escala se aplica como factor multiplicador: si la escala es 0.1, el valor leído se multiplica por 0.1 para obtener el valor real.
Paso 3: Crear los sensores en Home Assistant
Vamos a crear un sensor para la potencia activa total. En la configuración de Modbus, agregamos un sensor con los siguientes parámetros:
- Nombre: 'Potencia activa total'
- Tipo de registro: input
- Dirección: 33001
- Tipo de dato: uint32
- Escala: 0.1
- Unidad: W
Repite este proceso para cada registro que quieras monitorizar. Puedes crear tantos sensores como necesites. Una vez guardados, Home Assistant comenzará a leer los datos automáticamente. Te recomiendo crear una tarjeta en el panel de control para visualizar estos datos de forma atractiva, usando por ejemplo la tarjeta 'Sensores' o 'Gráfica de historial'.
modbus:
- name: solis
type: tcp
host: 192.168.1.100
port: 502
sensors:
- name: "Potencia activa total"
slave: 1
address: 33001
input_type: input
data_type: uint32
scale: 0.1
unit_of_measurement: "W"Recuerda que la dirección IP es un ejemplo. Sustituye por la IP real de tu inversor. Después de modificar el archivo, reinicia Home Assistant para que los cambios surtan efecto.
Creación de un dashboard de monitorización solar
Una vez que los sensores están funcionando, el siguiente paso es diseñar un panel de control (dashboard) que muestre la información de manera clara y visual. Home Assistant ofrece múltiples opciones: desde tarjetas simples hasta complejos gráficos. Te sugiero una combinación de tarjetas de entidad, tarjetas de sensor con atributos y tarjetas de gráfico de historial.
Por ejemplo, puedes crear una tarjeta 'Gráfica de historial' para la potencia activa, que muestre la curva de generación a lo largo del día. También puedes usar la tarjeta 'Gauge' para visualizar la potencia actual en una aguja. Para la energía total, una tarjeta 'Sensor' con la entidad correspondiente es suficiente. Si deseas un aspecto más profesional, puedes usar tarjetas personalizadas como 'ApexCharts' o 'Mini Graph Card', disponibles a través de HACS (Home Assistant Community Store). Estas tarjetas permiten gráficos más detallados y personalizables.
Además, puedes configurar automatizaciones basadas en los datos del inversor. Por ejemplo, si la potencia generada supera un umbral, puedes activar un interruptor para consumir el excedente (por ejemplo, un termo eléctrico). O si la temperatura del inversor es demasiado alta, puedes enviar una notificación de advertencia. Las posibilidades son infinitas y dependen de tu creatividad y necesidades.
Errores comunes, limitaciones y seguridad eléctrica
Errores de comunicación y cómo solucionarlos
Uno de los problemas más frecuentes es la imposibilidad de conectar con el inversor. Esto suele deberse a una IP incorrecta, un puerto equivocado o un ID de esclavo erróneo. Verifica estos parámetros. Otro error común es la lectura de valores 'NaN' o 'infinito'. Esto puede ocurrir si el tipo de dato no coincide con el registro real, por ejemplo, si el registro es de 16 bits y lo has configurado como de 32 bits. Consulta el mapa de registros y ajusta la configuración.
También es posible que el inversor no responda si está en modo de espera o si la comunicación se interrumpe por un cable defectuoso. Asegúrate de que el cable Ethernet esté correctamente conectado y que el inversor esté encendido. Si usas un conversor RS485, comprueba la conexión de los cables A y B (no los inviertas).
Limitaciones del protocolo Solis
El protocolo Modbus de Solis es de solo lectura en la mayoría de los registros. Esto significa que no podrás cambiar parámetros de configuración del inversor a través de Modbus, como límites de potencia o modos de operación. Para ello tendrás que usar el software oficial de Solis o la aplicación. Además, algunos parámetros pueden no estar disponibles en todos los modelos. Por ejemplo, los inversores monofásicos no tendrán registros para L2 o L3.
Otra limitación es la velocidad de actualización. El inversor actualiza los registros Modbus cada pocos segundos, por lo que no es adecuado para aplicaciones que requieran datos en tiempo real con alta frecuencia. Para monitorización general es más que suficiente.
Comparativa: Monitorización con Solis Cloud vs. Modbus local
Existen dos formas principales de monitorizar tu inversor Solis: a través de la nube (Solis Cloud) o localmente mediante Modbus. Ambas tienen ventajas e inconvenientes. A continuación, te presento una tabla comparativa detallada.
| Característica | Solis Cloud | Modbus Local |
|---|---|---|
| Acceso remoto | Sí, desde cualquier lugar | Requiere VPN o exposición |
| Dependencia de internet | Sí, obligatoria | No, funciona offline |
| Privacidad de datos | Datos en servidores externos | Datos 100% locales |
| Frecuencia de actualización | Cada 5-15 minutos | Cada 2-5 segundos |
| Integración con Home Assistant | Requiere HACS y API no oficial | Nativa, sin dependencias |
| Fiabilidad | Depende del servicio en la nube | Alta, control total |
Como se puede observar, la monitorización local mediante Modbus ofrece ventajas significativas en términos de privacidad, velocidad y fiabilidad, especialmente si ya utilizas Home Assistant. La única desventaja es el acceso remoto, que se puede solucionar con una VPN o con el propio portal de Home Assistant (Nabu Casa).