Cómo integrar un inversor solar Solax 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 es esencial para maximizar el rendimiento de una instalación fotovoltaica. Home Assistant, como plataforma central de domótica, permite integrar prácticamente cualquier dispositivo, y los inversores Solax no son una excepción. Gracias al protocolo Modbus TCP, es posible extraer datos precisos de producción, consumo y estado del inversor sin necesidad de depender de la nube del fabricante. Esta guía técnica te mostrará paso a paso cómo lograr esta integración, desde los fundamentos de Modbus hasta la configuración avanzada en Home Assistant, incluyendo la creación de sensores personalizados y la resolución de los problemas más frecuentes.
Introducción a la Integración de Inversores Solax con Home Assistant
El creciente interés por la energía solar y la domótica ha llevado a muchos usuarios a buscar soluciones para integrar sus inversores en sistemas de gestión energética. Solax, uno de los fabricantes líderes en inversores híbridos y de conexión a red, ofrece una API en la nube, pero la integración local mediante Modbus TCP ofrece ventajas significativas: latencia mínima, funcionamiento sin conexión a internet y total privacidad de los datos. Home Assistant, con su potente motor de automatizaciones y su interfaz personalizable, se convierte en el centro neurálgico ideal para visualizar y controlar la energía generada y consumida.
En este artículo, exploraremos en profundidad los conceptos de Modbus, los requisitos previos, la configuración paso a paso, la creación de sensores personalizados y las estrategias para optimizar la monitorización. También abordaremos los errores más comunes y sus soluciones, así como una comparativa entre diferentes modelos de inversores Solax para ayudarte a elegir el más adecuado para tu instalación.
Fundamentos de Modbus TCP: Qué es y Cómo Funciona
Modbus es un protocolo de comunicación industrial desarrollado en 1979 por Modicon (hoy Schneider Electric). Se ha convertido en un estándar de facto en el sector de la automatización y es ampliamente utilizado en dispositivos de energía renovable. La variante Modbus TCP/IP utiliza la red Ethernet para transmitir datos, lo que lo hace ideal para integrar dispositivos en redes domésticas o empresariales.
En una arquitectura Modbus, existen dos roles principales: el maestro (cliente) y el esclavo (servidor). El maestro envía peticiones de lectura o escritura a los esclavos, que responden con los datos solicitados. En nuestro caso, el inversor Solax actúa como esclavo, y Home Assistant, a través de su integración Modbus, actúa como maestro. La comunicación se realiza mediante registros, que son direcciones de memoria donde se almacenan los datos. Cada registro tiene una dirección específica y puede contener valores numéricos, estados o parámetros de configuración.
Para que la comunicación sea exitosa, es necesario conocer la dirección IP del inversor, el puerto Modbus (generalmente 502), el número de unidad (unit ID) y los registros que se desean leer. Los inversores Solax utilizan registros holding (tipo 4x) y registros de entrada (tipo 3x). Los primeros se pueden leer y escribir, mientras que los segundos son de solo lectura. Los datos relevantes para la monitorización, como la potencia generada, la energía total, las tensiones y corrientes, se encuentran en registros de entrada, aunque algunos parámetros de configuración se acceden mediante registros holding.
Registros Modbus en Inversores Solax
Solax define un mapa de registros específico según el modelo y la generación del inversor. Por ejemplo, en los modelos X1 y X3, los registros de entrada comienzan en la dirección 0x0000 y contienen datos como la tensión de entrada (PV1 voltage), la corriente, la potencia de salida, la energía total generada, etc. Es fundamental consultar el manual técnico del inversor para obtener la tabla de registros exacta. Afortunadamente, la comunidad ha documentado muchos de estos mapas, y existen proyectos en GitHub que recopilan los registros comunes.
Un aspecto importante es la codificación de los datos. La mayoría de los valores son enteros de 16 bits (dos bytes), pero algunos, como la energía total, pueden ser de 32 bits (cuatro bytes) y requieren la combinación de dos registros consecutivos. Además, algunos valores se representan en unidades específicas, como vatios, kilovatios-hora, voltios o amperios, y pueden tener un factor de escala (por ejemplo, dividir entre 10 para obtener la unidad real).
Requisitos Previos y Preparación del Entorno
Para llevar a cabo esta integración, necesitarás los siguientes elementos:
- Inversor Solax con soporte Modbus TCP: Modelos como X1, X3, X-Hybrid, etc. Asegúrate de que la versión de firmware sea compatible.
- Conexión de red: El inversor debe estar conectado a la misma red Ethernet que el equipo donde corre Home Assistant.
- Home Assistant instalado: Ya sea en una Raspberry Pi, un servidor dedicado o una máquina virtual. La integración Modbus viene integrada de serie.
- Conocimientos básicos de YAML: La configuración se realiza editando el archivo configuration.yaml, por lo que es recomendable tener familiaridad con su sintaxis.
Además, es útil tener a mano el manual técnico del inversor y una herramienta de prueba Modbus, como Modbus Poll o QModbus, para verificar la comunicación antes de integrarlo en Home Assistant. Esto te permitirá identificar la dirección IP, el puerto y los registros correctos.
Configuración Paso a Paso en Home Assistant
La integración Modbus en Home Assistant se configura mediante el archivo configuration.yaml. A continuación, te mostramos los pasos detallados para añadir tu inversor Solax.
Paso 1: Identificar la Dirección IP y el Puerto Modbus
Primero, necesitas conocer la dirección IP de tu inversor. Puedes obtenerla a través del router, buscando dispositivos conectados, o desde el propio panel del inversor si dispone de pantalla. El puerto Modbus por defecto es el 502, pero algunos modelos pueden usar otro. Verifica esta información en el manual o consultando al soporte técnico.
Paso 2: Configurar la Integración Modbus en configuration.yaml
Abre el archivo configuration.yaml de Home Assistant y añade la siguiente configuración básica:
modbus:
- name: solax
type: tcp
host: IP_DE_TU_INVERSOR
port: 502
sensors:
- name: "Potencia Generada"
unit_of_measurement: "W"
address: 0
input_type: holding
data_type: int16
scale: 1
offset: 0
precision: 0
slave: 1
En este ejemplo, hemos definido un sensor que lee el registro 0 (dirección 0) de tipo holding. Sin embargo, como mencionamos anteriormente, los datos de producción suelen estar en registros de entrada (input), por lo que deberás ajustar el tipo de registro según el mapa de registros de tu inversor. Para leer registros de entrada, se utiliza input_type: input.
Paso 3: Añadir Sensores Personalizados para Datos Clave
Para monitorizar correctamente tu inversor, necesitarás varios sensores. A continuación, te mostramos un ejemplo de configuración para los datos más comunes en los inversores Solax:
modbus:
- name: solax
type: tcp
host: 192.168.1.100
port: 502
sensors:
- name: "PV1 Voltage"
unit_of_measurement: "V"
address: 0
input_type: input
data_type: int16
scale: 0.1
offset: 0
precision: 1
slave: 1
- name: "PV1 Current"
unit_of_measurement: "A"
address: 1
input_type: input
data_type: int16
scale: 0.1
offset: 0
precision: 1
slave: 1
- name: "Output Power"
unit_of_measurement: "W"
address: 2
input_type: input
data_type: int16
scale: 1
offset: 0
precision: 0
slave: 1
- name: "Total Energy"
unit_of_measurement: "kWh"
address: 3
input_type: input
data_type: int32
scale: 0.1
offset: 0
precision: 1
slave: 1
Observa que para datos de 32 bits (como la energía total), se utiliza data_type: int32 y la dirección corresponde al primer registro de los dos consecutivos. La escala y la precisión se ajustan según el factor de conversión indicado en el manual del inversor.
Paso 4: Verificar la Configuración y Reiniciar
Después de guardar los cambios, ve a "Configuración" → "Servicios" y reinicia Home Assistant. Si todo está correcto, los sensores aparecerán en tu panel. Si no, revisa los logs en "Configuración" → "Registros" para identificar errores de conexión.
Guía de Instalación y Casos Prácticos
Una vez que los sensores están configurados, es momento de explotar los datos en Home Assistant. A continuación, te mostramos algunos casos prácticos para sacar el máximo partido a la integración.
Caso 1: Crear un Panel de Control Energético
Puedes crear un dashboard en Lovelace con tarjetas que muestren la potencia generada, la energía total, la tensión y la corriente. Utiliza tarjetas de tipo "Sensor" o "Gauge" para visualizar los datos en tiempo real. Además, puedes añadir un gráfico histórico para analizar la producción a lo largo del tiempo.
Caso 2: Automatizaciones Inteligentes
Con los datos del inversor, puedes crear automatizaciones para optimizar el consumo energético. Por ejemplo, activar electrodomésticos de alto consumo cuando la producción solar supere un umbral, o desconectar cargas no esenciales cuando la producción sea baja. Esto se logra mediante las reglas de automatización de Home Assistant, usando los sensores Modbus como disparadores.
Caso 3: Integración con Baterías y Gestión de Cargas
Si tu inversor es híbrido, también podrás leer el estado de la batería, como el nivel de carga, la potencia de carga/descarga y el estado de salud. Esto te permitirá implementar estrategias de autoconsumo más avanzadas, como cargar la batería durante las horas valle o verter energía a la red cuando los precios sean altos.
1Monitorización en Tiempo Real
Visualiza la producción instantánea, el consumo del hogar y el flujo de energía en una sola pantalla.
2Alertas y Notificaciones
Configura notificaciones para detectar fallos o caídas de producción, y actúa rápidamente.
Errores Comunes, Limitaciones y Seguridad Eléctrica
Aunque la integración es sencilla, pueden surgir problemas. A continuación, analizamos los errores más frecuentes y cómo solucionarlos.
Error 1: No se establece la conexión Modbus
Si Home Assistant no puede conectarse al inversor, verifica la dirección IP y el puerto. También asegúrate de que el inversor esté encendido y accesible desde la red. Prueba con una herramienta externa como Modbus Poll para confirmar que el dispositivo responde.
Error 2: Valores incorrectos o fuera de rango
Esto suele deberse a una mala configuración de la escala, el tipo de dato o la dirección del registro. Revisa el mapa de registros de tu modelo y ajusta los parámetros en consecuencia. Recuerda que algunos valores son con signo (int16) y otros sin signo (uint16).
Error 3: Sensores que no se actualizan
La integración Modbus actualiza los sensores con una frecuencia determinada (por defecto, cada 10 segundos). Si necesitas una actualización más rápida, puedes configurar el parámetro scan_interval en la sección del sensor, pero ten en cuenta que un intervalo demasiado corto puede sobrecargar la red.
Tabla Comparativa de Modelos Solax para Integración Modbus
A continuación, presentamos una comparativa de los modelos más populares de inversores Solax y su compatibilidad con Modbus TCP.
| Modelo | Tipo | Modbus TCP | Registros Documentados | Comunidad |
|---|---|---|---|---|
| Solax X1 | Monofásico | Sí | Completos | Activa |
| Solax X3 | Trifásico | Sí | Completos | Activa |
| Solax X-Hybrid | Híbrido | Sí | Parciales | Moderada |
| Solax X1-AC | Monofásico | Sí | Completos | Activa |
Como se observa, la mayoría de los modelos ofrecen soporte Modbus TCP y tienen una comunidad activa que ha documentado los registros, lo que facilita la integración. Para los híbridos, la documentación puede ser menos completa, pero es suficiente para obtener los datos principales.