Inicio/Monitorización Solar/Cómo integrar un inversor solar Deye en Home Assistant con Modbus RTU: Guía paso a paso
Monitorización Solar

Cómo integrar un inversor solar Deye en Home Assistant con Modbus RTU: Guía paso a paso

Alex R.Escrito por: Alex R.
Fecha: 1 Oct 2026
Lectura de 9 min
Cómo integrar un inversor solar Deye en Home Assistant con Modbus RTU: Guía paso a paso

La integración de un inversor solar Deye en Home Assistant mediante Modbus RTU se ha convertido en una de las prácticas más demandadas por los entusiastas de la energía solar y la domótica. A diferencia de las soluciones propietarias en la nube, el protocolo Modbus RTU ofrece un control local absoluto, latencia mínima y la posibilidad de automatizar cargas en función de la producción fotovoltaica en tiempo real. En esta guía exhaustiva, exploraremos desde los fundamentos técnicos del protocolo hasta la configuración avanzada en Home Assistant, pasando por el cableado físico, la definición de registros y la resolución de los errores más frecuentes. Si posees un inversor Deye híbrido o de red y deseas exprimir al máximo su potencial sin depender de servidores externos, este artículo te proporcionará todos los conocimientos necesarios para lograrlo con éxito.

Fundamentos técnicos de Modbus RTU en inversores Deye

Antes de sumergirnos en el cableado y la configuración, es crucial comprender qué es Modbus RTU y por qué Deye lo implementa en sus equipos. Modbus es un protocolo de comunicación industrial desarrollado en 1979 por Modicon, que se ha mantenido vigente debido a su simplicidad y robustez. La variante RTU (Remote Terminal Unit) utiliza una transmisión serie binaria sobre RS485, lo que permite largas distancias de cableado (hasta 1200 metros) y la conexión de múltiples dispositivos en el mismo bus. Los inversores Deye, ampliamente utilizados en instalaciones residenciales y comerciales, exponen una serie de registros Modbus que contienen información vital: potencia generada, voltaje de batería, estado de carga, temperatura, energía acumulada y parámetros de configuración.

El acceso a estos registros permite a Home Assistant leer datos cada pocos segundos, crear gráficos históricos, activar automatizaciones (por ejemplo, encender un termo eléctrico cuando la producción supera los 3 kW) y monitorizar la salud del sistema. A diferencia del puerto USB o la nube, Modbus RTU es un estándar abierto, lo que significa que no dependemos de integraciones oficiales ni de cambios en las API. Sin embargo, requiere una configuración cuidadosa de parámetros como la velocidad en baudios, la paridad y los tiempos de espera.

Arquitectura de comunicación: RS485 y direcciones esclavas

Los inversores Deye actúan como esclavos Modbus en un bus RS485. Esto implica que Home Assistant, a través de un adaptador USB-RS485, asume el rol de maestro. Cada inversor debe tener una dirección esclava única (típicamente 1, aunque puede configurarse). El bus RS485 es diferencial, lo que le confiere inmunidad al ruido eléctrico, pero exige una topología en cadena (daisy-chain) y resistencias de terminación en los extremos si la distancia es considerable. En instalaciones con un solo inversor, la conexión es directa; en sistemas con varios, se deben direccionar individualmente.

Es fundamental entender que Modbus RTU no es plug-and-play. Necesitamos conocer la lista de registros (mapa de registros) que Deye documenta en sus manuales técnicos. Estos registros se dividen en coils (bits de solo lectura/escritura) y holding registers (palabras de 16 bits). La mayoría de los datos de monitorización son holding registers, mientras que los comandos de control (como forzar carga de batería) son coils. Home Assistant, mediante la integración Modbus, puede leer y escribir en ambos tipos.

Consejo / RecomendaciónAntes de comprar cualquier adaptador USB-RS485, verifica que el chipset sea compatible con Linux (por ejemplo, FTDI, CH340 o CP2102). Los adaptadores basados en chips genéricos pueden causar problemas de estabilidad en Home Assistant OS.

Guía de instalación paso a paso: cableado y configuración

La instalación física es el primer escollo. Necesitarás un adaptador USB a RS485, cable de par trenzado (UTP categoría 5 o superior, o cable apantallado) y conectores adecuados. El inversor Deye suele tener un puerto RJ45 para comunicación RS485, aunque en algunos modelos se accede mediante bornera. Consulta el manual de tu modelo específico para identificar los pines A y B. Normalmente, en el conector RJ45, los pines 1 y 2 son A y B, pero esto puede variar. A continuación, detallamos el proceso completo.

Paso 1: Conexión física del bus RS485

Comienza por apagar el inversor y aislar la instalación fotovoltaica para evitar riesgos eléctricos. Localiza el puerto de comunicación etiquetado como RS485 o BMS. Si tu inversor tiene un conector RJ45, utiliza un cable de red directo (no cruzado) y corta un extremo para acceder a los hilos. Los pines 1 y 2 corresponden a A (positivo) y B (negativo) en la mayoría de los Deye. Conecta estos hilos al adaptador USB-RS485 respetando la polaridad: A del inversor a A del adaptador, B a B. Si inviertes la polaridad, la comunicación fallará. Para distancias superiores a 10 metros, utiliza cable apantallado y conecta el blindaje a tierra solo en el extremo del adaptador USB para evitar bucles de masa.

1Adaptador USB-RS485

Elige un modelo con aislamiento galvánico para proteger tu inversor y tu equipo. Los basados en FTDI son los más fiables.

2Cable de par trenzado

Utiliza cable UTP categoría 5e o 6. Para distancias largas, opta por cable apantallado y conecta el blindaje a tierra en un solo extremo.

3Resistencias de terminación

Si el bus supera los 30 metros o hay múltiples dispositivos, coloca resistencias de 120 ohmios en los extremos.

4Herramientas de verificación

Un multímetro para comprobar continuidad y un software como Modbus Poll para validar la comunicación antes de integrar en Home Assistant.

Paso 2: Configuración del adaptador en Home Assistant

Conecta el adaptador USB a tu servidor de Home Assistant. Si usas Home Assistant OS en una Raspberry Pi o mini PC, el dispositivo aparecerá como /dev/ttyUSB0 o similar. Puedes verificarlo en Ajustes > Sistema > Hardware > Todos los dispositivos. Anota la ruta exacta. A continuación, instala la integración Modbus desde HACS o utiliza la integración nativa. La forma más flexible es mediante configuración YAML, que permite definir múltiples sensores y automatizaciones. Asegúrate de que el usuario de Home Assistant tenga permisos sobre el puerto (grupo dialout).

El siguiente paso es definir los parámetros de comunicación: velocidad en baudios (típicamente 9600), bits de datos (8), paridad (ninguna), bits de parada (1) y tiempo de espera (1 segundo). Estos valores deben coincidir con la configuración del inversor Deye, que se ajusta en su menú de comunicación. Si no coinciden, la comunicación fallará con errores de tiempo de espera. Puedes cambiar la velocidad en el inversor si es necesario, pero 9600 es el estándar.

Atención / AdvertenciaNunca conectes el adaptador USB-RS485 directamente a los terminales de la batería o a la salida de corriente alterna. El bus RS485 es solo para comunicación y una conexión incorrecta puede dañar el inversor y el adaptador. Verifica siempre la polaridad y el voltaje diferencial (0-5V).

Paso 3: Definición de sensores Modbus en YAML

Una vez establecida la comunicación, es hora de crear los sensores en Home Assistant. La integración Modbus permite definir sensores de tipo holding register, input register, coil y discrete input. Para los inversores Deye, la mayoría de los datos útiles se encuentran en holding registers. A continuación, mostramos un ejemplo de configuración YAML para leer la potencia de salida, el voltaje de la batería y el estado de carga. Es importante consultar el mapa de registros específico de tu modelo, ya que puede variar entre series (SUN-5K, SUN-8K, etc.).

El siguiente bloque de código define un sensor de potencia activa. Observa que se especifica la dirección del registro, el tipo de dato (int16, uint16, int32, float32), la escala y la unidad. Para valores de 32 bits, se deben leer dos registros consecutivos y especificar el orden de las palabras (big-endian o little-endian). Deye suele utilizar big-endian para sus registros de 32 bits.

modbus:
  - name: deye_inverter
    type: serial
    port: /dev/ttyUSB0
    baudrate: 9600
    bytesize: 8
    method: rtu
    parity: N
    stopbits: 1
    timeout: 1
    sensors:
      - name: 'Deye Potencia Activa'
        slave: 1
        address: 636
        input_type: holding
        data_type: int32
        count: 2
        scale: 1
        precision: 0
        unit_of_measurement: 'W'
        device_class: power
        state_class: measurement
      - name: 'Deye Voltaje Batería'
        slave: 1
        address: 587
        input_type: holding
        data_type: uint16
        scale: 0.01
        precision: 2
        unit_of_measurement: 'V'
        device_class: voltage
        state_class: measurement
      - name: 'Deye SOC Batería'
        slave: 1
        address: 588
        input_type: holding
        data_type: uint16
        scale: 1
        precision: 0
        unit_of_measurement: '%'
        device_class: battery
        state_class: measurement

Este es solo un ejemplo; deberás adaptar las direcciones a tu modelo. Una vez guardado el archivo configuration.yaml, reinicia Home Assistant. Los sensores aparecerán como entidades y podrás visualizarlos en el panel de control. Si algún sensor muestra un valor incorrecto o no disponible, revisa la dirección, el tipo de dato y la escala. A menudo, un error de escala (por ejemplo, no dividir entre 10) produce valores absurdos.

Errores comunes, limitaciones y seguridad eléctrica

A pesar de la robustez de Modbus RTU, los usuarios principiantes suelen encontrarse con una serie de problemas recurrentes. El más habitual es la ausencia total de comunicación, que puede deberse a polaridad invertida, velocidad en baudios incorrecta, dirección esclava equivocada o un adaptador defectuoso. Otro error frecuente es la lectura de valores erráticos, causados por ruido eléctrico en el bus o por falta de resistencias de terminación. En instalaciones con cables largos y sin apantallar, el ruido de los inversores puede corromper las tramas Modbus.

Desde el punto de vista de la seguridad eléctrica, es crucial recordar que el bus RS485 no es aislado en todos los adaptadores. Si el inversor y el servidor de Home Assistant se alimentan de fases diferentes, puede circular una corriente por el cable de comunicación que dañe los puertos. Para evitarlo, utiliza adaptadores con aislamiento galvánico o instala aisladores RS485. Además, nunca manipules el cableado con el inversor en funcionamiento; apaga y espera a que los condensadores se descarguen.

Atención / AdvertenciaLa conexión Modbus RTU no está diseñada para soportar sobretensiones. Si tu instalación está en una zona con tormentas frecuentes, instala protectores de sobretensión en el bus RS485. Un pico de tensión puede destruir el puerto de comunicación del inversor, cuya reparación es costosa.

Otra limitación importante es la velocidad de lectura. Modbus RTU es un protocolo serie y, a 9600 baudios, el ancho de banda es limitado. Si defines decenas de sensores, el tiempo de actualización puede alargarse varios segundos. Para mitigarlo, agrupa los registros en bloques contiguos y utiliza la función de lectura múltiple. Home Assistant permite definir un sensor con múltiples registros y luego extraer valores individuales mediante plantillas. También puedes aumentar la velocidad a 19200 o 38400 si el inversor lo soporta, aunque a costa de mayor sensibilidad al ruido.

Comparativa de métodos de integración para Deye en Home Assistant

Existen varias vías para integrar un inversor Deye en Home Assistant. Además de Modbus RTU, se puede utilizar la integración oficial de Deye a través de la nube, el puerto USB directo (si el inversor lo permite) o incluso soluciones de terceros como Solarman. Cada método tiene ventajas y desventajas. La siguiente tabla compara los aspectos más relevantes para ayudarte a decidir.

MétodoLatenciaDependencia de nubeControl localComplejidad
Modbus RTUBaja (1-5 s)NoTotalMedia
Nube DeyeAlta (30-60 s)SíLimitadoBaja
USB directoBaja (1-2 s)NoTotalAlta
SolarmanMedia (10-30 s)SíParcialBaja

Como se desprende de la tabla, Modbus RTU es el método más equilibrado para quienes buscan control local, baja latencia y independencia de la nube. La nube Deye es la más sencilla pero carece de control local y tiene alta latencia, lo que la hace inadecuada para automatizaciones en tiempo real. El USB directo, aunque rápido, requiere un cableado específico y no todos los modelos lo permiten. Solarman es una alternativa intermedia, pero sigue dependiendo de servidores externos. Por tanto, para un proyecto serio de domótica solar, Modbus RTU es la recomendación principal.

Preguntas frecuentes sobre la integración de Deye con Modbus RTU

¿Qué adaptador USB-RS485 me recomiendas para un Deye?
Para un Deye, lo ideal es un adaptador con chip FTDI y aislamiento galvánico, como el USR-DR302 o el Waveshare USB a RS485. Evita los adaptadores basados en CH340 sin aislamiento, ya que pueden introducir ruido y dañar el puerto del inversor. Si tu instalación es grande, considera un gateway Modbus TCP a RS485, que permite conectar varios inversores y aislar la red.
¿Puedo controlar la carga de la batería desde Home Assistant?
Sí, es posible. Los inversores Deye exponen coils y holding registers de escritura que permiten forzar la carga o descarga de la batería, ajustar la potencia máxima de carga y establecer horarios. Debes consultar el mapa de registros de tu modelo para identificar las direcciones correctas. En Home Assistant, utiliza la integración Modbus con el tipo 'write' y define un switch o un number para enviar los comandos. Ten precaución: escribir valores incorrectos puede provocar un comportamiento anómalo del inversor.
¿Por qué mi sensor de potencia muestra valores negativos?
Los valores negativos en la potencia activa suelen indicar que el inversor está exportando energía a la red (vertido) o que la escala está mal configurada. En muchos modelos Deye, el registro de potencia es un entero con signo (int16 o int32). Si el valor es negativo, significa que la energía fluye hacia la red. Si no esperas ver negativos, revisa la configuración del tipo de dato y la escala. También puede ocurrir si el inversor está en modo de carga de batería desde la red.
¿Cuántos inversores Deye puedo conectar en el mismo bus RS485?
El estándar RS485 permite hasta 32 dispositivos en el mismo bus, pero en la práctica, con inversores Deye, se recomienda no superar los 8-10 para mantener una velocidad de respuesta adecuada. Cada inversor debe tener una dirección esclava única. Además, si la distancia total supera los 100 metros, utiliza repetidores RS485 o conviértelo a fibra óptica. La velocidad en baudios también influye: a 9600 baudios, el número de dispositivos afecta al tiempo de ciclo.

Conclusiones y plan de acción recomendado

La integración de un inversor Deye en Home Assistant mediante Modbus RTU es un proyecto gratificante que desbloquea un sinfín de posibilidades: monitorización en tiempo real, automatizaciones basadas en excedentes solares, control de carga de baterías y detección temprana de fallos. A lo largo de esta guía hemos cubierto los fundamentos técnicos, el cableado físico, la configuración YAML, los errores más comunes y una comparativa de métodos. Si sigues los pasos con atención y respetas las medidas de seguridad, lograrás una integración estable y fiable.

Como plan de acción, te recomendamos empezar con un solo sensor para validar la comunicación, luego añadir el resto de registros de monitorización y, finalmente, explorar las capacidades de control. Documenta cada dirección de registro y mantén una copia de tu configuración YAML. Considera la posibilidad de utilizar un gateway Modbus TCP para aislar eléctricamente el bus y simplificar el cableado. Y recuerda que la comunidad de Home Assistant y los foros de Deye son excelentes recursos para resolver dudas específicas de tu modelo.

Consejo / RecomendaciónAntes de escribir en registros de control, realiza una copia de seguridad de la configuración original del inversor. Un error en la escritura de un holding register puede dejar el inversor en un estado no deseado. Consulta siempre el manual técnico oficial de Deye para tu modelo exacto.

En definitiva, Modbus RTU sigue siendo el estándar de oro para la integración local de inversores solares en sistemas de domótica. Con la información proporcionada en este artículo, estás preparado para emprender tu propio proyecto con confianza. La energía solar y Home Assistant forman una combinación poderosa; solo necesitas un poco de paciencia y precisión técnica para aprovecharla al máximo.

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.