Inicio/Monitorización Solar/Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP: Guía Avanzada para Monitorizar y Optimizar tu Producción
Monitorización Solar

Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP: Guía Avanzada para Monitorizar y Optimizar tu Producción

Alex R.Escrito por: Alex R.
Fecha: 24 Sep 2026
Lectura de 10 min
Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP: Guía Avanzada para Monitorizar y Optimizar tu Producción

La integración de un inversor solar SMA en Home Assistant mediante Modbus TCP se ha convertido en una de las prácticas más demandadas por los entusiastas de la domótica y la energía solar. A diferencia de las soluciones propietarias en la nube, el protocolo Modbus TCP ofrece un control local, sin dependencias externas y con una granularidad de datos que permite exprimir al máximo cada vatio generado. En esta guía avanzada, exploraremos desde los fundamentos técnicos hasta la implementación paso a paso, incluyendo ejemplos de configuración, tablas comparativas y solución de problemas. Si buscas llevar tu monitorización solar al siguiente nivel, este artículo es para ti.

1. Fundamentos de Modbus TCP y su aplicación en inversores SMA

Modbus TCP es un protocolo de comunicación industrial que opera sobre Ethernet, utilizando el puerto 502 por defecto. Los inversores SMA, especialmente las series Sunny Boy, Sunny Tripower y Sunny Boy Storage, implementan este protocolo para exponer registros de datos que reflejan el estado de la producción, el consumo, la tensión de red y decenas de parámetros más. A diferencia de Modbus RTU (serie), Modbus TCP encapsula las tramas en paquetes TCP/IP, lo que simplifica el cableado y permite integrarlo directamente en la red local del hogar.

La arquitectura típica de una instalación SMA con Modbus TCP incluye el inversor conectado a un router mediante cable Ethernet o Wi-Fi (a través de un adaptador). Home Assistant, ejecutándose en un dispositivo como Raspberry Pi o un servidor dedicado, actúa como maestro Modbus, consultando periódicamente los registros del inversor. Para ello, es imprescindible habilitar el servidor Modbus en el inversor, generalmente a través del menú de instalador en la interfaz web o mediante la app SMA Sunny Explorer.

Consejo / RecomendaciónAntes de comenzar, asegúrate de que el firmware del inversor esté actualizado. Las versiones recientes corrigen errores en la implementación de Modbus y añaden registros adicionales. Consulta la web de SMA para obtener el firmware más reciente para tu modelo.

1.1. Registros Modbus más relevantes en inversores SMA

Cada modelo de inversor SMA tiene un mapa de registros específico, pero existen direcciones comunes que suelen repetirse. Los registros se direccionan con un offset que puede ser 0 o 1 según la implementación. En Home Assistant, la integración Modbus utiliza el direccionamiento basado en 0, por lo que a menudo es necesario restar 1 a las direcciones documentadas por SMA. A continuación, se presenta una tabla con los registros más utilizados para monitorizar la producción solar.

Registro (dirección)DescripciónTipo de datoUnidad
30051 (0-based: 30050)Potencia AC totaluint32W
30053 (0-based: 30052)Energía diariauint32Wh
30055 (0-based: 30054)Energía totaluint32Wh
30057 (0-based: 30056)Frecuencia de reduint32mHz
30059 (0-based: 30058)Tensión de red fase 1uint32mV
30061 (0-based: 30060)Corriente de red fase 1uint32mA
30063 (0-based: 30062)Temperatura del inversoruint32m°C
30201 (0-based: 30200)Potencia DC string 1uint32W

Es fundamental consultar la documentación oficial de SMA para tu modelo concreto, ya que los registros pueden variar entre generaciones de inversores. Por ejemplo, los Sunny Boy Storage (para baterías) tienen registros específicos para el estado de carga y la potencia de carga/descarga.

2. Configuración paso a paso en Home Assistant

Home Assistant ofrece una integración nativa de Modbus que permite definir sensores, switches y otros componentes a través de la configuración YAML. A continuación, detallamos el proceso completo para integrar un inversor SMA.

2.1. Habilitar Modbus TCP en el inversor SMA

El primer paso es acceder a la interfaz de usuario del inversor. Esto se puede hacer a través de la dirección IP del inversor en un navegador web (usuario: instalar, contraseña: la que hayas establecido). Una vez dentro, navega hasta los ajustes de comunicación y activa la opción 'Modbus TCP'. Algunos modelos requieren que se establezca una contraseña específica para Modbus, que por defecto suele ser '0000' o '1111'. Anota la dirección IP del inversor, ya que la necesitarás en Home Assistant.

Atención / AdvertenciaSi tu inversor está conectado a través de SMA Sunny Home Manager, es posible que este ya esté utilizando el puerto 502 para comunicarse con el inversor. En tal caso, deberás deshabilitar el Modbus en el Sunny Home Manager o utilizar un puerto diferente si el inversor lo permite. Consulta el manual para evitar conflictos.

2.2. Configuración en Home Assistant

En Home Assistant, la integración Modbus se configura en el archivo configuration.yaml. A continuación, se muestra un ejemplo completo para un inversor Sunny Boy 5000TL. Ten en cuenta que los registros y factores de escala deben ajustarse según tu modelo.

modbus:
  - name: sma_inverter
    type: tcp
    host: 192.168.1.100
    port: 502
    delay: 2
    timeout: 5
    sensors:
      - name: 'SMA Potencia AC'
        slave: 1
        address: 30050
        input_type: input
        count: 2
        data_type: uint32
        precision: 0
        scale: 1
        unit_of_measurement: 'W'
        device_class: power
        state_class: measurement
      - name: 'SMA Energía Diaria'
        slave: 1
        address: 30052
        input_type: input
        count: 2
        data_type: uint32
        precision: 0
        scale: 0.001
        unit_of_measurement: 'kWh'
        device_class: energy
        state_class: total_increasing
      - name: 'SMA Temperatura'
        slave: 1
        address: 30062
        input_type: input
        count: 2
        data_type: uint32
        precision: 1
        scale: 0.001
        unit_of_measurement: '°C'
        device_class: temperature
        state_class: measurement

Es importante respetar la indentación YAML y asegurarse de que los tipos de datos coinciden. Para valores de 32 bits, se debe especificar count: 2 y data_type: uint32. El parámetro slave es el ID del esclavo Modbus, que en SMA suele ser 1. El delay controla el tiempo entre peticiones para no saturar al inversor.

Consejo / RecomendaciónUtiliza la herramienta 'Developer Tools' de Home Assistant para verificar que los sensores se actualizan correctamente. Si obtienes valores erráticos, revisa la dirección del registro y el orden de los bytes (endianness). SMA suele utilizar big-endian, que es el predeterminado en la integración Modbus.

2.3. Ejemplo avanzado: monitorización de strings y batería

Para instalaciones con múltiples strings o con batería, se pueden añadir sensores adicionales. Por ejemplo, para un Sunny Boy Storage, los registros de potencia de carga y descarga suelen estar en las direcciones 31393 y 31395 (0-based: 31392 y 31394). A continuación, se muestra un fragmento de configuración para monitorizar la batería.

      - name: 'SMA Batería Potencia'
        slave: 1
        address: 31392
        input_type: input
        count: 2
        data_type: int32
        precision: 0
        scale: 1
        unit_of_measurement: 'W'
        device_class: power
        state_class: measurement
      - name: 'SMA Batería SOC'
        slave: 1
        address: 31394
        input_type: input
        count: 2
        data_type: uint32
        precision: 0
        scale: 0.01
        unit_of_measurement: '%'
        device_class: battery
        state_class: measurement

Con estos datos, podrás crear automatizaciones para optimizar el autoconsumo, como cargar la batería cuando la producción exceda el consumo o descargarla en horas punta.

3. Errores comunes y solución de problemas

La integración Modbus TCP puede presentar diversos inconvenientes, especialmente en entornos domésticos con redes inestables. A continuación, enumeramos los errores más frecuentes y sus soluciones.

Atención / AdvertenciaNunca expongas el puerto 502 del inversor a Internet. Modbus TCP no tiene autenticación ni cifrado, por lo que cualquier persona podría leer o incluso escribir registros. Asegúrate de que el inversor esté en una red local protegida y, si necesitas acceso remoto, utiliza una VPN.
  • Error de conexión rechazada: Verifica que la IP del inversor sea correcta y que el puerto 502 esté abierto. Puedes probar con telnet o nc desde otro equipo.
  • Valores ilógicos o negativos: Revisa el tipo de dato (uint32 vs int32) y el orden de los bytes. Algunos registros de potencia pueden ser negativos si el inversor está consumiendo energía.
  • Timeouts intermitentes: Aumenta el parámetro timeout y reduce la frecuencia de sondeo (delay). Si persiste, puede haber conflictos con otros maestros Modbus en la red.
  • Registros no disponibles: Asegúrate de que el firmware del inversor soporta los registros que intentas leer. Consulta el manual de tu modelo.

4. Comparativa de métodos de integración: Modbus TCP vs otras alternativas

Existen varias formas de integrar un inversor SMA en Home Assistant. Además de Modbus TCP, se puede utilizar la integración oficial de SMA (basada en la nube), el protocolo Speedwire (SMA Data Manager) o incluso scripts personalizados con la API de Sunny Portal. A continuación, comparamos las opciones más relevantes.

MétodoLatenciaDependencia de nubeDatos disponiblesFacilidad de configuración
Modbus TCPBaja (1-2 s)NoCompletosMedia
Integración SMA (nube)Alta (5-15 min)SíLimitadosAlta
Speedwire (SMA Data Manager)Baja (1-2 s)NoCompletosBaja
API Sunny PortalMedia (1-5 min)SíLimitadosMedia

Como se puede observar, Modbus TCP ofrece el mejor equilibrio entre latencia, independencia de la nube y cantidad de datos. Su principal desventaja es la complejidad de configuración inicial, pero una vez establecida, es la opción más robusta y profesional.

5. Preguntas frecuentes (FAQ)

¿Es compatible Modbus TCP con todos los inversores SMA?
No todos los inversores SMA soportan Modbus TCP de serie. Los modelos más antiguos (anteriores a 2010) pueden requerir un módulo de comunicación adicional, como el SMA Modbus Interface. Los inversores de las series Sunny Boy, Sunny Tripower y Sunny Boy Storage fabricados después de 2013 generalmente incluyen soporte nativo. Consulta la documentación técnica de tu modelo específico para confirmarlo.
¿Puedo controlar el inversor (no solo monitorizar) mediante Modbus TCP?
Sí, es posible escribir en ciertos registros para limitar la potencia de salida o activar modos de funcionamiento. Sin embargo, esto conlleva riesgos: una escritura incorrecta puede dañar el inversor o anular la garantía. Se recomienda extremar las precauciones y utilizar únicamente registros documentados oficialmente. En Home Assistant, se pueden definir switches Modbus para enviar comandos, pero solo para usuarios avanzados.
¿Qué puedo hacer si el inversor no responde a las peticiones Modbus?
Primero, verifica la conectividad de red con un ping a la IP del inversor. Luego, asegúrate de que el puerto 502 esté abierto y que no haya otro maestro Modbus (como un Sunny Home Manager) bloqueando el acceso. También puedes probar a reiniciar el inversor y el servicio Modbus en Home Assistant. Si el problema persiste, revisa los logs de Home Assistant para obtener más detalles.
¿Cómo puedo visualizar los datos en un dashboard de Home Assistant?
Una vez creados los sensores, puedes añadirlos a un dashboard utilizando tarjetas como 'Entities', 'Gauge' o 'History Graph'. Para un análisis más avanzado, se recomienda instalar HACS y utilizar tarjetas personalizadas como 'ApexCharts' o 'Mini Graph Card'. También puedes crear automatizaciones para notificar cuando la producción supere un umbral o cuando haya errores.

6. Conclusiones y plan de acción recomendado

La integración de un inversor SMA en Home Assistant mediante Modbus TCP es una tarea que requiere conocimientos técnicos, pero los beneficios son enormes: datos en tiempo real, control local, independencia de la nube y la posibilidad de crear automatizaciones inteligentes para maximizar el autoconsumo. A lo largo de esta guía hemos cubierto desde los fundamentos del protocolo hasta la configuración práctica, pasando por la solución de problemas y una comparativa de alternativas.

Consejo / RecomendaciónAntes de realizar cambios en la configuración, haz una copia de seguridad de tu archivo configuration.yaml. Si eres nuevo en Modbus, comienza con un solo sensor y ve añadiendo más a medida que ganes confianza. Documenta cada registro utilizado para futuras referencias.

Como plan de acción, te sugerimos los siguientes pasos: 1) Verifica la compatibilidad de tu inversor con Modbus TCP. 2) Habilita el servidor Modbus y anota la IP. 3) Configura los sensores básicos en Home Assistant. 4) Valida los datos y ajusta los factores de escala. 5) Añade sensores avanzados y automatizaciones. 6) Protege tu red para evitar accesos no autorizados. Con estos pasos, estarás en camino de convertir tu instalación solar en un sistema verdaderamente inteligente.

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.