Inicio/Monitorización Solar/Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP
Monitorización Solar

Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP

Alex R.Escrito por: Alex R.
Fecha: 21 Jun 2026
Lectura de 10 min
Cómo Integrar un Inversor Solar SMA en Home Assistant con Modbus TCP

La integración de sistemas de energía solar en plataformas de domótica como Home Assistant se ha convertido en una necesidad para los hogares inteligentes modernos. Entre los fabricantes de inversores, SMA destaca por su fiabilidad y amplia gama de productos, desde los populares Sunny Boy hasta los potentes Sunny Tripower. Sin embargo, muchos usuarios se enfrentan al desafío de extraer datos en tiempo real de estos inversores para visualizarlos en sus paneles de control. La solución más robusta y flexible es utilizar el protocolo Modbus TCP, que permite una comunicación directa y eficiente con el inversor a través de la red local. En esta guía exhaustiva, aprenderás paso a paso cómo configurar la integración de tu inversor SMA en Home Assistant mediante Modbus TCP, cubriendo desde los fundamentos técnicos hasta la resolución de problemas comunes. Con más de 2500 palabras de contenido detallado, este artículo te proporcionará todo el conocimiento necesario para lograr una monitorización solar profesional y fiable.

Fundamentos de la Comunicación Modbus TCP con Inversores SMA

Modbus TCP es un protocolo de comunicación industrial ampliamente utilizado para la supervisión y control de dispositivos electrónicos. En el contexto de los inversores solares SMA, este protocolo permite leer registros específicos que contienen datos como la potencia actual, la energía total generada, las tensiones de entrada y salida, las temperaturas internas y muchos otros parámetros operativos. A diferencia de otras interfaces propietarias, Modbus TCP es abierto, estandarizado y no requiere hardware adicional más allá de una conexión Ethernet estándar. La mayoría de los inversores SMA modernos incluyen una interfaz Ethernet integrada o un módulo opcional (como el SMA Webconnect o el SMA Data Manager) que expone un servidor Modbus TCP. Es importante verificar la compatibilidad de tu modelo específico; los inversores de la serie Sunny Boy (SB 1.5-5.0, SB 3.0-6.0, SB 5.0-7.7) y Sunny Tripower (STP 3.0-10.0, STP 8.0-15.0) suelen soportar Modbus TCP de fábrica, mientras que modelos más antiguos pueden requerir actualizaciones de firmware o hardware adicional. La comunicación se realiza a través del puerto 502 (el puerto estándar de Modbus TCP), y cada registro se identifica mediante una dirección única. Por ejemplo, el registro 30775 (0x7837) contiene la potencia activa total actual en vatios, mientras que el registro 30529 (0x7741) almacena la energía total generada en kilovatios-hora. Home Assistant, con su potente sistema de integraciones personalizadas, puede actuar como cliente Modbus TCP, realizando lecturas periódicas de estos registros y exponiéndolos como sensores en su bus de datos.

Requisitos Previos y Compatibilidad de Hardware

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos: un inversor SMA con soporte Modbus TCP (consulta la documentación de tu modelo), una conexión Ethernet estable entre el inversor y tu red local (puede ser mediante cable directo o a través de un switch), un servidor Home Assistant en funcionamiento (recomendamos la instalación en Raspberry Pi 4 o superior, o en un contenedor Docker), y acceso administrativo a Home Assistant para instalar integraciones personalizadas. Además, necesitarás conocer la dirección IP de tu inversor SMA. Puedes encontrarla accediendo al panel web del inversor (generalmente a través de su IP asignada por DHCP) o utilizando herramientas de escaneo de red como Advanced IP Scanner o Fing. Si tu inversor no tiene una IP fija, es recomendable asignarle una reserva DHCP en tu router para evitar cambios de dirección. La integración se basa en la plataforma Modbus de Home Assistant, que permite definir sensores que lean registros específicos. Aunque existe una integración oficial llamada 'SMA Solar' que utiliza la API web de SMA, la aproximación por Modbus TCP ofrece mayor control y acceso a datos más detallados, especialmente para usuarios avanzados que desean monitorizar parámetros como la temperatura del disipador, la corriente de cada string o el estado de los relés.

Configuración Paso a Paso de la Integración Modbus TCP

La configuración se realiza mediante archivos YAML en Home Assistant. A continuación, te guiamos a través de cada paso, desde la instalación de la integración Modbus hasta la creación de sensores personalizados. Sigue estas instrucciones al pie de la letra para garantizar una comunicación exitosa.

Paso 1: Instalación de la Integración Modbus en Home Assistant

Home Assistant incluye una integración Modbus incorporada que permite configurar clientes TCP. Para activarla, navega a Configuración > Dispositivos y Servicios > Añadir Integración y busca 'Modbus'. Selecciona la opción 'Modbus TCP' e introduce la dirección IP de tu inversor SMA y el puerto 502. Puedes dejar los parámetros de timeout y retries en sus valores predeterminados (5 segundos y 3 intentos respectivamente). Una vez añadida, la integración creará un hub Modbus que servirá como base para los sensores. Verifica que la conexión sea exitosa revisando los logs de Home Assistant (Configuración > Registros). Si ves errores de conexión, comprueba que el inversor esté accesible desde la red y que el puerto 502 no esté bloqueado por un firewall.

Paso 2: Identificación de los Registros Modbus Relevantes

SMA proporciona un mapa de registros Modbus detallado en su documentación técnica. Los registros más comunes para monitorización básica son los siguientes:

Registro (Decimal)Registro (Hex)DescripciónUnidadTipo
307750x7837Potencia activa totalWUint32
305290x7741Energía total generadakWhUint64
307730x7835Corriente de string 1AUint16
307740x7836Corriente de string 2AUint16
309610x78F1Temperatura del disipador°CInt16

Para obtener el mapa completo, descarga el documento 'Modbus Parameters' desde el portal de descargas de SMA (requiere registro). Los registros se leen en formato big-endian y pueden ser de 16 o 32 bits. Algunos valores, como la energía total, se almacenan en dos registros consecutivos (64 bits). Es fundamental respetar el tipo de dato especificado para evitar lecturas incorrectas. Por ejemplo, un registro Uint32 debe leerse como dos registros consecutivos de 16 bits.

Paso 3: Configuración de Sensores en configuration.yaml

Una vez que tienes la integración Modbus funcionando, debes definir los sensores en tu archivo de configuración. Abre el archivo configuration.yaml (puedes acceder a través del complemento 'File Editor' o mediante Samba) y añade una sección 'sensor' con plataforma 'modbus'. Aquí tienes un ejemplo completo para los registros más importantes:

sensor:
  - platform: modbus
    scan_interval: 10
    registers:
      - name: "SMA Potencia Actual"
        hub: modbus_hub
        unit_of_measurement: "W"
        slave: 1
        register: 30775
        register_type: holding
        count: 2
        data_type: uint32
        scale: 1
        precision: 0
      - name: "SMA Energía Total"
        hub: modbus_hub
        unit_of_measurement: "kWh"
        slave: 1
        register: 30529
        register_type: holding
        count: 4
        data_type: uint64
        scale: 0.001
        precision: 3
      - name: "SMA Corriente String 1"
        hub: modbus_hub
        unit_of_measurement: "A"
        slave: 1
        register: 30773
        register_type: holding
        count: 1
        data_type: uint16
        scale: 0.1
        precision: 1
      - name: "SMA Temperatura Disipador"
        hub: modbus_hub
        unit_of_measurement: "°C"
        slave: 1
        register: 30961
        register_type: holding
        count: 1
        data_type: int16
        scale: 0.1
        precision: 1

Explicación de los parámetros: 'hub' debe coincidir con el nombre que le diste a tu integración Modbus (por defecto 'modbus_hub'). 'slave' es la dirección del dispositivo en la red Modbus; para SMA suele ser 1 o 126 (consulta la documentación). 'register' es la dirección decimal del registro. 'register_type' debe ser 'holding' para registros de retención (los más comunes). 'count' indica el número de registros de 16 bits que componen el dato (2 para uint32, 4 para uint64). 'data_type' define cómo se interpretan los bytes. 'scale' y 'precision' permiten convertir el valor bruto a unidades legibles (por ejemplo, la energía total se da en Wh, pero queremos kWh, por lo que escalamos por 0.001). Guarda el archivo y reinicia Home Assistant para aplicar los cambios.

Paso 4: Verificación y Personalización del Panel

Después del reinicio, los nuevos sensores deberían aparecer en 'Desarrollador > Estados'. Busca entidades que comiencen con 'sensor.sma_'. Si ves valores actualizados, la integración funciona correctamente. Si algún sensor muestra 'desconocido' o 'no disponible', revisa los logs en busca de errores de comunicación o de tipo de dato. Puedes crear un panel de control personalizado en el Dashboard de Home Assistant utilizando tarjetas como 'Entities', 'Gauge' o 'History Graph'. Por ejemplo, una tarjeta 'Gauge' para la potencia actual con rango 0-6000 W y una tarjeta 'Sensor' para la energía total. También puedes configurar automatizaciones, como enviar una notificación si la potencia cae por debajo de un umbral o si la temperatura del disipador supera los 80°C.

Consejo / RecomendaciónPara una monitorización más avanzada, considera utilizar la integración 'SMA Solar' oficial en combinación con Modbus. La integración oficial proporciona sensores predefinidos y una interfaz más sencilla, pero Modbus te permite acceder a registros no documentados o personalizar la frecuencia de lectura. Puedes tener ambas configuraciones activas simultáneamente, siempre que no haya conflictos de nombres.

Errores Comunes y Solución de Problemas

Durante la configuración, es posible encontrar varios obstáculos. A continuación, detallamos los problemas más frecuentes y cómo solucionarlos.

Problema 1: El inversor no responde en el puerto 502

Esto puede deberse a que el servidor Modbus no está habilitado en el inversor. Accede a la interfaz web del inversor (introduciendo su IP en un navegador) y busca la configuración de 'Comunicación' o 'Interfaz'. Asegúrate de que Modbus TCP esté activado y que el puerto sea 502. Algunos modelos requieren habilitar la opción 'Modbus Multicast' o 'Sunspec'. Si no encuentras la opción, consulta el manual de usuario. También verifica que no haya un firewall bloqueando el puerto 502 en tu red. Prueba la conectividad usando una herramienta como 'Modbus Poll' desde un PC en la misma red.

Atención / AdvertenciaNunca modifiques la configuración de red del inversor mientras esté generando energía activamente. Realiza los cambios durante la noche o cuando la producción sea mínima para evitar cortes inesperados. Además, asegúrate de tener una copia de seguridad de la configuración original antes de hacer cambios.

Problema 2: Lecturas incorrectas o valores fuera de rango

Si los sensores muestran valores absurdos (por ejemplo, potencia negativa o temperatura de 999°C), es probable que el tipo de dato o la dirección del registro sean incorrectos. Revisa el mapa de registros de SMA y asegúrate de que 'count' y 'data_type' coincidan. Por ejemplo, un registro Uint32 debe tener count=2 y data_type: uint32. Si el valor parece estar desplazado (por ejemplo, la potencia real es 2500 W pero lees 25000 W), ajusta el factor de escala. También verifica el orden de bytes: algunos inversores usan little-endian en lugar de big-endian. En Modbus, el orden predeterminado es big-endian, pero puedes cambiarlo con la opción 'swap: byte' o 'swap: word' en la configuración del sensor.

Problema 3: Home Assistant no arranca o muestra errores en los logs

Esto suele deberse a una sintaxis incorrecta en configuration.yaml. Utiliza el validador de YAML integrado en Home Assistant (Configuración > Controles del Servidor > Verificar Configuración) antes de reiniciar. Los errores comunes incluyen indentación incorrecta (usa espacios, no tabuladores), comillas faltantes o nombres de sensor duplicados. Si el error persiste, revisa los logs completos en 'Configuración > Registros' y busca entradas que contengan 'Modbus' o 'sensor'.

Tabla Comparativa: Integración Oficial vs. Modbus TCP

Para ayudarte a decidir qué método de integración utilizar, presentamos una comparativa detallada entre la integración oficial 'SMA Solar' (basada en la API web) y la personalizada mediante Modbus TCP.

CaracterísticaIntegración Oficial (API Web)Modbus TCP Personalizado
Facilidad de configuraciónAltaMedia
Cantidad de sensoresLimitadaIlimitada
Frecuencia de actualizaciónCada 60sConfigurable (10s)
Acceso a datos históricosNoNo
Dependencia de la nubeNo (local)
Personalización avanzadaBajaAlta

Como se observa, Modbus TCP ofrece mayor flexibilidad y frecuencia de actualización, aunque requiere una configuración más manual. Para la mayoría de los usuarios, la integración oficial es suficiente, pero para los entusiastas que desean monitorizar cada detalle, Modbus es la opción superior.

Preguntas Frecuentes (FAQ)

¿Qué modelos de inversores SMA son compatibles con Modbus TCP?
La mayoría de los inversores SMA de las series Sunny Boy y Sunny Tripower fabricados a partir de 2015 son compatibles con Modbus TCP. Modelos específicos como SB 1.5-5.0, SB 3.0-6.0, SB 5.0-7.7, STP 3.0-10.0 y STP 8.0-15.0 incluyen soporte nativo. Para modelos más antiguos, puede ser necesario actualizar el firmware o instalar un módulo de comunicación adicional como el SMA Data Manager. Consulta la hoja de datos de tu inversor en el sitio web de SMA para confirmar la compatibilidad.
¿Es seguro exponer el puerto Modbus a la red local?
El protocolo Modbus TCP no incluye cifrado ni autenticación por defecto, por lo que es importante mantenerlo dentro de una red local de confianza. No expongas el puerto 502 a Internet directamente. Si necesitas acceso remoto, utiliza una VPN o el proxy de Home Assistant (Nabu Casa) con autenticación robusta. También puedes segmentar tu red IoT para aislar el inversor de otros dispositivos. SMA recomienda habilitar la seguridad a nivel de red, no del protocolo.
¿Puedo escribir registros Modbus para controlar el inversor?
Sí, Modbus permite operaciones de escritura en ciertos registros, como la limitación de potencia activa o el encendido/apagado. Sin embargo, modificar estos parámetros puede afectar el rendimiento del sistema solar y la seguridad. SMA recomienda no alterar los registros de control a menos que sepas exactamente lo que haces. En Home Assistant, puedes usar el servicio 'modbus.write_register' para escribir valores, pero es aconsejable hacerlo solo con fines de prueba y bajo supervisión.
¿Qué hago si mi inversor no tiene el puerto 502 abierto?
Si el puerto 502 no está accesible, puede que el servidor Modbus esté deshabilitado en el inversor. Accede a la interfaz web del inversor y busca opciones como 'Modbus TCP', 'Sunspec' o 'Comunicación'. Actívalas y guarda los cambios. Si aún así no funciona, verifica que el firmware esté actualizado. Algunos inversores requieren habilitar el modo 'Multicast' o configurar una dirección de grupo. Como último recurso, contacta con el soporte técnico de SMA.

Conclusiones y Plan de Acción Recomendado

La integración de un inversor solar SMA en Home Assistant mediante Modbus TCP es una solución potente y flexible que permite un monitoreo detallado y en tiempo real de tu sistema fotovoltaico. A lo largo de esta guía, hemos cubierto desde los fundamentos del protocolo hasta la configuración práctica de sensores, pasando por la resolución de problemas comunes y una comparativa con la integración oficial. Con este conocimiento, puedes personalizar tu panel de control para visualizar exactamente los parámetros que más te interesen, establecer automatizaciones inteligentes y optimizar el rendimiento de tu instalación solar.

Recomendación FinalSi eres un usuario avanzado y deseas el máximo control sobre tus datos solares, te recomendamos implementar la integración Modbus TCP siguiendo los pasos descritos. Comienza con los sensores básicos (potencia y energía) y luego añade gradualmente más registros según tus necesidades. Asegúrate de mantener tu Home Assistant actualizado y de realizar copias de seguridad periódicas de tu configuración. Para la mayoría de los usuarios, la combinación de la integración oficial SMA Solar (para sensores comunes) y Modbus TCP (para parámetros adicionales) ofrece el mejor equilibrio entre facilidad de uso y profundidad de datos. ¡Disfruta de tu hogar inteligente y de tu energía solar monitorizada al detalle!
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.