Cómo Integrar un Inversor Solar Huawei en Home Assistant por Modbus TCP
Escrito por: Alex R.La monitorización en tiempo real de un sistema de energía solar fotovoltaica se ha convertido en una necesidad para maximizar el rendimiento y detectar anomalías de forma temprana. Si posees un inversor Huawei SUN2000, probablemente ya uses la aplicación FusionSolar para el seguimiento básico. Sin embargo, integrar este inversor en Home Assistant mediante el protocolo Modbus TCP abre un abanico de posibilidades: automatizaciones avanzadas, dashboards personalizados, alertas configurables y la capacidad de combinar datos solares con otros sensores del hogar inteligente. En esta guía exhaustiva, exploraremos cada paso necesario para lograr una integración robusta y fiable, desde los fundamentos técnicos hasta la resolución de los problemas más comunes.
Fundamentos Técnicos de la Integración Modbus TCP
El protocolo Modbus es un estándar de comunicación industrial ampliamente utilizado para la transmisión de datos entre dispositivos electrónicos. En el contexto de los inversores solares Huawei, el modelo SUN2000 incorpora un puerto de comunicación RS485 que, mediante un adaptador Ethernet a RS485, permite la comunicación por Modbus TCP sobre una red IP. Esto significa que el inversor puede ser consultado directamente desde Home Assistant a través de la red local, sin necesidad de servicios en la nube intermedios. La integración se basa en la lectura de registros Modbus específicos que contienen variables como la potencia generada, la tensión de entrada, la corriente, la temperatura y el estado del inversor. Huawei ha publicado un documento técnico con el mapa de registros, el cual es esencial para interpretar correctamente los datos. Es importante destacar que la comunicación Modbus es de tipo maestro-esclavo: Home Assistant actúa como maestro (cliente) y el inversor como esclavo (servidor). Cada registro tiene una dirección de 16 bits y puede ser de solo lectura o lectura/escritura. Para la monitorización básica, solo necesitaremos registros de solo lectura.
Requisitos de Hardware y Software
Antes de comenzar, asegúrate de disponer de los siguientes elementos: un inversor Huawei SUN2000 (modelos compatibles: SUN2000-2KT-L1, SUN2000-3KT-L1, SUN2000-4KT-L1, SUN2000-5KT-L1, SUN2000-6KT-L1, SUN2000-8KT-L1, SUN2000-10KT-L1, SUN2000-12KT-L1, SUN2000-15KT-L1, SUN2000-17KT-L1, SUN2000-20KT-L1, SUN2000-25KT-L1, SUN2000-30KT-L1, SUN2000-33KT-L1, SUN2000-36KT-L1, SUN2000-40KT-L1, SUN2000-50KT-L1, SUN2000-60KT-L1, entre otros; en general, cualquier modelo con puerto COM), un adaptador Ethernet a RS485 (por ejemplo, el USR-N510 o el Waveshare RS485 TO ETH), un cable de par trenzado para la conexión RS485 (cableado directo A+/B-), una fuente de alimentación para el adaptador (generalmente 5V o 12V según el modelo) y una instancia de Home Assistant funcionando (Core, Supervised o Home Assistant OS). En cuanto al software, necesitarás el add-on oficial 'Modbus' o la integración 'Modbus' de Home Assistant, que permite configurar sensores personalizados. También es recomendable tener acceso al mapa de registros Modbus de Huawei (disponible en el portal de socios de Huawei o en foros técnicos).
Configuración Paso a Paso de la Integración
A continuación, se detalla el proceso completo para configurar la comunicación Modbus TCP entre Home Assistant y el inversor Huawei. Asumiremos que el adaptador Ethernet a RS485 ya está conectado a la red local y configurado con una dirección IP fija (por ejemplo, 192.168.1.100). La configuración del adaptador suele realizarse a través de una interfaz web o mediante software de configuración proporcionado por el fabricante. Es importante asignar una IP estática para evitar que cambie y rompa la comunicación.
Paso 1: Conexión Física del Adaptador RS485 al Inversor
Localiza el puerto COM en la parte inferior del inversor Huawei SUN2000. Retira la tapa protectora y conecta los cables del adaptador RS485 respetando la polaridad: el cable A (o D+) al terminal A del inversor, y el cable B (o D-) al terminal B. Algunos inversores utilizan un conector RJ45 para la comunicación; en ese caso, necesitarás un cable Ethernet con el pinout adecuado (consulta el manual del inversor). Una vez conectado, asegura la tapa y enciende el inversor. Verifica que el adaptador recibe alimentación y que su LED de actividad parpadea indicando tráfico de red.
Paso 2: Configuración de la Integración Modbus en Home Assistant
En Home Assistant, navega a 'Configuración' > 'Dispositivos y servicios' > 'Agregar integración'. Busca 'Modbus' y selecciona la integración oficial. Se te pedirá que configures un controlador Modbus. Elige 'TCP' e introduce la dirección IP del adaptador (por ejemplo, 192.168.1.100) y el puerto (por defecto 502). Haz clic en 'Enviar'. Si la conexión es exitosa, verás el controlador agregado. Luego, deberás agregar sensores Modbus. Para ello, ve a 'Configuración' > 'Dispositivos y servicios' > 'Modbus' > 'Configurar' > 'Agregar sensor'. Aquí deberás definir cada sensor con su dirección de registro, tipo de dato (holding register, input register, etc.), factor de escala y unidad de medida. A continuación, se muestra un ejemplo de configuración YAML para los sensores más comunes (puedes agregarlos manualmente en configuration.yaml si prefieres):
modbus:
- name: hub1
type: tcp
host: 192.168.1.100
port: 502
sensors:
- name: "Potencia activa total"
slave: 1
address: 32064
input_type: holding
unit_of_measurement: "W"
scale: 1
precision: 0
data_type: uint32
- name: "Energía total generada"
slave: 1
address: 32106
input_type: holding
unit_of_measurement: "kWh"
scale: 0.1
precision: 1
data_type: uint32
- name: "Tensión de entrada PV1"
slave: 1
address: 32080
input_type: holding
unit_of_measurement: "V"
scale: 0.1
precision: 1
data_type: uint16
- name: "Corriente de entrada PV1"
slave: 1
address: 32081
input_type: holding
unit_of_measurement: "A"
scale: 0.1
precision: 1
data_type: uint16
- name: "Temperatura del inversor"
slave: 1
address: 32136
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1
data_type: uint16Es importante verificar el mapa de registros específico para tu modelo de inversor, ya que las direcciones pueden variar ligeramente. Huawei suele utilizar registros de tipo holding (lectura/escritura) para datos de monitorización, aunque algunos modelos también usan input registers. El parámetro 'slave' generalmente es 1, pero puede configurarse en el inversor. Después de agregar los sensores, reinicia Home Assistant para que los cambios surtan efecto.
Paso 3: Verificación de la Lectura de Datos
Una vez reiniciado, ve a 'Desarrollador' > 'Estados' y busca los nombres de tus sensores (por ejemplo, 'sensor.potencia_activa_total'). Si todo está correcto, deberías ver valores numéricos actualizados. Si aparecen como 'desconocido' o 'no disponible', revisa la configuración de red, la dirección IP, el puerto y la dirección de registro. Puedes probar la comunicación Modbus con herramientas como 'Modbus Poll' o 'mbpoll' desde la línea de comandos de Home Assistant (si tienes acceso SSH). Por ejemplo: mbpoll -a 1 -r 32064 -t 4:uint32 192.168.1.100. Si obtienes una respuesta, la conexión funciona.
Creación de un Dashboard Avanzado para Monitorización Solar
Una vez que los datos fluyen correctamente, el siguiente paso es construir un panel de control visualmente atractivo y funcional. Home Assistant ofrece el sistema de paneles Lovelace, que permite personalizar tarjetas, gráficos y medidores. A continuación, se presentan algunas ideas para un dashboard solar completo.
Tarjetas Esenciales para el Panel Solar
1Medidor de Potencia Actual
Utiliza la tarjeta 'Sensor' o 'Gauge' para mostrar la potencia activa en vatios. Puedes configurar colores según el rango: verde para producción normal, amarillo para baja y rojo para cero. Añade una tarjeta de 'Gráfico de líneas' para ver la evolución diaria.
2Energía Generada Hoy
Crea un sensor de energía diaria utilizando la plantilla de Home Assistant para restar el valor de energía al inicio del día. Luego, muestra ese valor en una tarjeta de 'Sensor' con unidad kWh. También puedes agregar un medidor circular.
3Estado del Inversor y Temperatura
Muestra el estado operativo (normal, error, etc.) mediante una tarjeta de 'Entidad' con icono dinámico. La temperatura del inversor es crítica para la eficiencia; un gráfico de barras puede ayudar a detectar sobrecalentamientos.
4Comparativa de Producción por String
Si tu inversor tiene múltiples entradas MPPT, puedes monitorizar la tensión y corriente de cada string. Utiliza una tarjeta de 'Gráfico múltiple' para comparar el rendimiento de cada panel o string.
Para personalizar aún más, puedes usar tarjetas personalizadas como 'apexcharts-card' o 'mini-graph-card' disponibles en HACS. Por ejemplo, un gráfico de área que muestre la potencia generada vs. la demanda del hogar puede ser muy útil para evaluar el autoconsumo.
Automatizaciones Avanzadas Basadas en Datos Solares
La verdadera potencia de integrar el inversor en Home Assistant reside en las automatizaciones. Puedes programar acciones basadas en la producción solar, como encender electrodomésticos cuando haya excedente, activar un calentador de agua o incluso cargar un vehículo eléctrico. A continuación, se muestran algunos ejemplos prácticos.
Automatización para Aprovechar Excedentes Solares
Supongamos que deseas encender un calentador de agua eléctrico cuando la producción solar supere los 2000 W y el calentador esté apagado. Puedes crear una automatización en YAML:
automation:
- alias: "Encender calentador por excedente solar"
trigger:
- platform: numeric_state
entity_id: sensor.potencia_activa_total
above: 2000
condition:
- condition: state
entity_id: switch.calentador_agua
state: "off"
action:
- service: switch.turn_on
target:
entity_id: switch.calentador_aguaDe manera similar, puedes apagar el calentador cuando la potencia baje de 1500 W para evitar consumir de la red. También puedes añadir condiciones de hora para evitar ciclos innecesarios.
Alertas de Rendimiento y Mantenimiento
Configura notificaciones en tu teléfono si la producción cae por debajo de un umbral esperado (por ejemplo, menos de 100 W en un día soleado), lo que podría indicar una avería o sombreado. También puedes monitorizar la temperatura del inversor y enviar una alerta si supera los 80°C, ya que el rendimiento se degrada con el calor extremo. Utiliza el servicio 'notify.mobile_app' para enviar mensajes push.
Errores Comunes y Solución de Problemas
A pesar de ser una integración relativamente sencilla, pueden surgir varios problemas. A continuación, se detallan los más frecuentes y cómo resolverlos.
| Problema | Causa Posible | Solución |
|---|---|---|
| Sensores muestran 'no disponible' | Dirección IP o puerto incorrectos | Verificar IP y puerto |
| Valores erróneos o desfasados | Factor de escala o tipo de dato incorrecto | Revisar mapa de registros |
| Conexión rechazada | Firewall bloqueando puerto 502 | Abrir puerto en router |
| Sin comunicación RS485 | Cableado incorrecto o polaridad invertida | Verificar conexión A/B |
Si después de verificar todo lo anterior los sensores siguen sin funcionar, prueba a utilizar un escáner Modbus como 'Modbus Scanner' (add-on de Home Assistant) para detectar dispositivos en la red. También puedes consultar los logs de Home Assistant en 'Configuración' > 'Registros' para obtener mensajes de error detallados.
Preguntas Frecuentes (FAQ)
¿Es necesario tener un inversor Huawei compatible con Modbus?
¿Puedo usar WiFi en lugar de Ethernet para el adaptador RS485?
¿Qué hago si Home Assistant no reconoce los registros Modbus?
¿Es posible escribir datos en el inversor mediante Modbus?
Conclusiones y Plan de Acción Recomendado
La integración de un inversor solar Huawei en Home Assistant mediante Modbus TCP es una solución robusta, de bajo costo y completamente local que permite un control y monitorización sin precedentes de tu sistema fotovoltaico. A lo largo de esta guía, hemos cubierto desde los fundamentos técnicos hasta la configuración detallada, pasando por la creación de dashboards y automatizaciones avanzadas. Los beneficios son claros: independencia de la nube, capacidad de personalización total, alertas en tiempo real y la posibilidad de optimizar el autoconsumo.
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.