Inicio/Monitorización Solar/Cómo extraer datos de tu inversor fotovoltaico de forma local sin usar internet
Monitorización Solar

Cómo extraer datos de tu inversor fotovoltaico de forma local sin usar internet

Escrito por: Alex R. (Domotizador)
Fecha: 14 Jun 2026
Lectura de 8 min
Cómo extraer datos de tu inversor fotovoltaico de forma local sin usar internet

La monitorización de un sistema fotovoltaico se ha convertido en una práctica esencial para maximizar el rendimiento y detectar fallos a tiempo. Sin embargo, la mayoría de fabricantes ofrecen soluciones basadas en la nube que requieren conexión permanente a internet y ceden datos a servidores externos. Para quienes valoran la privacidad, la autonomía o simplemente viven en zonas con conectividad limitada, extraer los datos del inversor de forma local es una alternativa cada vez más demandada. En esta guía exploraremos los fundamentos técnicos, los protocolos de comunicación, el hardware necesario y los pasos para implementar un sistema de monitorización local completo, desde la conexión física hasta la visualización en tiempo real en plataformas como Home Assistant.

Fundamentos de la comunicación local con inversores solares

Los inversores fotovoltaicos modernos incorporan puertos de comunicación que permiten intercambiar datos con dispositivos externos. El estándar más extendido en la industria es el protocolo Modbus, que puede transmitirse a través de diferentes capas físicas: RS485 (la más común), RS232 o incluso TCP/IP. Modbus es un protocolo abierto, documentado y ampliamente soportado, lo que lo convierte en la puerta de entrada ideal para la monitorización local.

Cada inversor expone un conjunto de registros (holding registers) que contienen variables como potencia instantánea, energía total generada, tensiones de entrada, corrientes, temperatura, estado de funcionamiento, etc. La dirección de estos registros varía según el fabricante y modelo, por lo que es imprescindible consultar el manual técnico o la documentación Modbus específica. Algunos fabricantes, como Victron Energy, SMA, Fronius o Growatt, proporcionan mapas de registros públicos, mientras que otros pueden requerir ingeniería inversa o acuerdos de confidencialidad.

Protocolos y capas físicas

La capa física más habitual es RS485, un bus diferencial que permite conectar múltiples dispositivos en un mismo par de cables (hasta 32 nodos en configuración estándar). La conexión típica utiliza dos hilos (A y B) y, opcionalmente, una referencia común (GND). La distancia máxima puede alcanzar los 1200 metros, suficiente para instalaciones residenciales y comerciales. Algunos inversores también incluyen Ethernet (Modbus TCP) o Wi-Fi, pero para una solución puramente local, RS485 es la opción más fiable y universal.

Para leer los datos necesitamos un dispositivo que actúe como maestro Modbus. Aquí es donde entran en juego las placas de desarrollo como ESP32 o ESP8266, que combinan un microcontrolador con conectividad Wi-Fi y Bluetooth. El ESP32, en particular, dispone de dos puertos serie UART que pueden configurarse para comunicación RS485 mediante un transceptor externo (como el MAX485). Alternativamente, existen módulos integrados como el ESP32 con RS485 ya incorporado (por ejemplo, el modelo ESP32-485).

1ESP32 + MAX485

Solución económica y flexible. El ESP32 se programa con Arduino IDE o ESPHome, y el MAX485 convierte las señales UART a RS485. Requiere conexión de 4 pines: VCC, GND, RO (receive) y DI (drive).

2ESP32 con RS485 integrado

Placas como la ESP32-485 integran el transceptor en el propio módulo, simplificando el cableado. Ideales para prototipos rápidos y proyectos definitivos.

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

A continuación se detalla el proceso completo para montar un sistema de monitorización local desde cero. Asumiremos un inversor con puerto RS485 y un ESP32 como maestro Modbus. Los pasos son genéricos y aplicables a la mayoría de marcas, aunque deberás adaptar los registros Modbus a tu modelo concreto.

1. Identificar el puerto de comunicación del inversor

Localiza en el inversor el conector etiquetado como RS485, COM, BMS, o similar. Consulta el manual para identificar los pines: normalmente son A (D+), B (D-) y GND. Algunos inversores utilizan un conector RJ45 (similar a Ethernet) con una asignación de pines específica. Por ejemplo, en inversores SMA, el pin 1 es A, pin 2 es B, y pin 5 es GND. Es fundamental no invertir la polaridad (A con B) y conectar correctamente la tierra.

2. Cableado del ESP32 con transceptor RS485

Conecta el MAX485 al ESP32 de la siguiente manera: VCC a 3.3V (o 5V si el módulo lo soporta), GND a GND, RO a un pin RX del ESP32 (por ejemplo, GPIO16), DI a un pin TX (GPIO17). Además, conecta los pines DE y RE juntos a un pin digital (GPIO4) para controlar la dirección de transmisión/recepción. Luego, conecta los terminales A y B del MAX485 a los correspondientes A y B del inversor. Si el inversor requiere terminación de línea, coloca una resistencia de 120 ohmios entre A y B en el extremo del bus.

Atención / AdvertenciaAsegúrate de que la tensión de alimentación del MAX485 sea compatible con la lógica del ESP32 (3.3V). Algunos módulos funcionan a 5V, lo que puede dañar el ESP32 si no se utiliza un conversor de nivel. Verifica siempre la hoja de datos.

3. Programación del ESP32 con ESPHome

ESPHome es una plataforma que permite configurar el ESP32 mediante archivos YAML, generando automáticamente el firmware. Es la forma más sencilla de integrar el dispositivo con Home Assistant. Instala ESPHome en tu servidor (o usa el add-on de Home Assistant) y crea un nuevo dispositivo. En la configuración, define el puerto serie para Modbus:

uart:
  id: mod_bus
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 9600
  stop_bits: 1
  data_bits: 8
  parity: NONE

modbus:
  id: modbus1
  uart_id: mod_bus
  flow_control_pin: GPIO4

Luego, añade los sensores que deseas leer, por ejemplo, la potencia actual (registro 40001 en muchos inversores):

sensor:
  - platform: modbus_controller
    modbus_id: modbus1
    address: 1  # Dirección del inversor (por defecto 1)
    register_type: holding
    register_count: 2
    name: "Potencia AC"
    unit_of_measurement: "W"
    register: 0x0000  # Dirección del registro (0x0000 equivale a 40001)
    value_type: U_WORD
    accuracy_decimals: 0

Compila y sube el firmware al ESP32. Una vez conectado a tu red Wi-Fi, los datos aparecerán automáticamente en Home Assistant como entidades.

Errores comunes, limitaciones y seguridad eléctrica

Aunque el proceso es relativamente sencillo, existen varios puntos donde los usuarios suelen encontrar dificultades. Uno de los más frecuentes es la configuración incorrecta de los parámetros de comunicación: velocidad en baudios, paridad, bits de parada, etc. Estos valores deben coincidir exactamente con los configurados en el inversor. Si no estás seguro, prueba con 9600 baudios, 8 bits de datos, sin paridad y 1 bit de parada, que es la configuración más común.

Otro error típico es la dirección Modbus del inversor. Por defecto suele ser 1, pero algunos modelos utilizan 2 o 3, o permiten cambiarla mediante DIP switches. Si no obtienes respuesta, prueba con diferentes direcciones. También es posible que el inversor requiera un tiempo de espera entre comandos; en ESPHome puedes ajustar el parámetro throttle en el sensor.

Consejo / RecomendaciónUtiliza un analizador de bus RS485 como el dispositivo USB RS485 (por ejemplo, el USB-485 de Waveshare) para depurar la comunicación. Conecta el analizador en paralelo al bus y usa software como Modbus Poll o QModMaster para leer los registros manualmente. Esto te permitirá verificar que el inversor responde correctamente antes de programar el ESP32.

En cuanto a la seguridad eléctrica, recuerda que el inversor está conectado a la red eléctrica y puede generar altas tensiones. Siempre trabaja con el sistema apagado y desconectado de la red antes de manipular los cables de comunicación. Aunque RS485 es de bajo voltaje, una conexión incorrecta podría dañar tanto el inversor como el ESP32. Utiliza cables apantallados y conecta la pantalla a tierra en un solo punto para evitar bucles de tierra.

Comparativa de soluciones de monitorización local

Existen varias alternativas para implementar la monitorización local, desde soluciones comerciales hasta proyectos DIY. La siguiente tabla compara las opciones más populares en función de coste, complejidad, funcionalidades y privacidad.

SoluciónCosteComplejidadPrivacidadIntegración HA
ESP32 + ESPHomeBajoMediaTotalNativa
Raspberry Pi + Node-REDMedioAltaTotalManual
Puerta de enlace comercial (p. ej., SolarEdge)AltoBajaLimitadaNo oficial
PLC industrial + SCADAMuy altoMuy altaTotalCompleja

La solución con ESP32 y ESPHome destaca por su equilibrio entre coste, privacidad y facilidad de integración con Home Assistant. Es la recomendada para la mayoría de usuarios domésticos con conocimientos técnicos básicos.

Preguntas frecuentes

¿Qué inversores son compatibles con la monitorización local?
La mayoría de inversores de gama media-alta incluyen un puerto RS485 con soporte Modbus. Marcas como Victron Energy, SMA, Fronius, Growatt, Solis, Deye, SofarSolar y GoodWe suelen ofrecer documentación pública. Los inversores más económicos o antiguos pueden carecer de esta funcionalidad o requerir adaptadores propietarios. Consulta siempre el manual técnico antes de comprar.
¿Es legal modificar la comunicación del inversor?
Sí, siempre que no alteres el funcionamiento interno del inversor ni violes los términos de la garantía. La monitorización local mediante el puerto de comunicación existente no implica modificar el hardware ni el firmware del inversor. Simplemente estás leyendo datos que el inversor ya está generando. No obstante, si el inversor está en garantía, consulta con el fabricante para evitar posibles problemas.
¿Puedo usar un cable USB-RS485 en lugar de un ESP32?
Sí, es posible conectar un conversor USB-RS485 directamente a un ordenador (Raspberry Pi, PC) y leer los datos mediante software como Node-RED, Python o el propio Home Assistant si está instalado en ese equipo. Sin embargo, esta solución requiere que el ordenador esté siempre encendido y cerca del inversor, lo que no siempre es práctico. El ESP32 consume muy poca energía y puede colocarse junto al inversor, enviando los datos por Wi-Fi.
¿Qué hago si mi inversor no responde a las peticiones Modbus?
Primero, verifica la conexión física: polaridad A/B, GND, y que el transceptor esté correctamente alimentado. Segundo, confirma los parámetros de comunicación (baudrate, paridad, etc.) en el inversor. Tercero, prueba con una herramienta como Modbus Poll para descartar problemas de software. Si aún así no hay respuesta, el inversor podría tener una dirección Modbus diferente o requerir un comando de inicialización. Algunos inversores necesitan un tiempo de espera después de encenderse antes de aceptar comandos.

Conclusiones y plan de acción recomendado

La monitorización local de un inversor fotovoltaico no solo es posible, sino que ofrece ventajas significativas en términos de privacidad, fiabilidad y personalización. Al eliminar la dependencia de la nube, los datos permanecen bajo tu control y el sistema sigue funcionando incluso si falla la conexión a internet. La combinación de un ESP32 con ESPHome y Home Assistant proporciona una solución robusta, de bajo coste y con una integración perfecta en el ecosistema del hogar inteligente.

Para empezar, te recomendamos seguir estos pasos: 1) Identifica el modelo de tu inversor y localiza el puerto RS485. 2) Adquiere un ESP32 (o ESP32-485) y un transceptor MAX485. 3) Cablea siguiendo el esquema descrito. 4) Instala ESPHome en tu servidor Home Assistant y configura los registros Modbus según el manual de tu inversor. 5) Compila y sube el firmware. 6) Disfruta de tus datos en tiempo real, sin necesidad de internet.

Consejo / RecomendaciónSi eres principiante, empieza con un inversor que tenga documentación Modbus pública y una comunidad activa. Victron Energy y SMA son excelentes opciones. Además, únete a foros como el de Home Assistant o el grupo de ESPHome en Discord; allí encontrarás ejemplos de configuración para cientos de modelos.
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.