Cómo Integrar un Inversor Solar Growatt con Batería de Litio en Home Assistant: Monitorización y Automatización Avanzada
Escrito por: Alex R.La integración de un inversor solar Growatt con batería de litio en Home Assistant se ha convertido en una de las configuraciones más demandadas por los entusiastas de la energía solar y la domótica. La posibilidad de monitorizar en tiempo real la producción fotovoltaica, el estado de carga de la batería, los flujos de energía y, además, automatizar el consumo según las tarifas eléctricas o las condiciones de generación, representa un salto cualitativo en la gestión energética del hogar. Este artículo es una guía técnica exhaustiva que te acompañará desde los conceptos fundamentales hasta la implementación práctica, incluyendo análisis de protocolos, configuración paso a paso, casos de uso avanzados y una comparativa de las principales alternativas de integración.
A lo largo de las próximas secciones, exploraremos por qué Growatt se ha posicionado como una marca de referencia en el sector residencial y comercial ligero, cómo se comunica con las baterías de litio modernas (especialmente las de química LiFePO4), y de qué manera Home Assistant puede convertirse en el cerebro central de todo el ecosistema. Abordaremos tanto la integración oficial a través de la nube de Growatt como las soluciones locales basadas en Modbus RTU/TCP, que ofrecen mayor privacidad, velocidad de respuesta y independencia de servicios externos. También dedicaremos espacio a los errores más comunes, las limitaciones técnicas y las medidas de seguridad eléctrica que nunca deben subestimarse.
Si ya tienes un inversor Growatt híbrido o estás pensando en adquirir uno para acompañarlo de un banco de baterías de litio, esta guía te proporcionará el conocimiento necesario para exprimir al máximo tu instalación. No se trata solo de visualizar datos bonitos en un panel; se trata de tomar decisiones informadas, reducir la factura eléctrica y aumentar la autosuficiencia energética. Prepárate para un recorrido profundo y práctico por el mundo de la monitorización solar avanzada con Home Assistant.
Análisis Técnico y Conceptos Fundamentales
Antes de sumergirnos en la configuración, es imprescindible comprender los pilares técnicos que hacen posible la integración. Un sistema solar con almacenamiento consta de varios componentes que deben comunicarse de forma fiable: los paneles fotovoltaicos, el inversor (en este caso Growatt), el banco de baterías de litio, el medidor de energía bidireccional (si existe) y el sistema de gestión del hogar (Home Assistant). La clave reside en los protocolos de comunicación y en la topología de red que los interconecta.
El inversor Growatt: características y modelos compatibles
Growatt ofrece una amplia gama de inversores, pero para aplicaciones con baterías de litio los más relevantes son los de la serie SPH (híbridos monofásicos), SPA (híbridos con backup), MOD (trifásicos) y algunos modelos de la serie MIN. Estos equipos incorporan un cargador solar MPPT, un inversor de onda pura y un gestor de baterías integrado. La comunicación con el exterior se realiza principalmente a través de dos vías: un puerto RS485 que habla Modbus RTU, y un puerto USB o Wi-Fi (ShineWiFi) que envía datos a la nube de Growatt. Para una integración local y avanzada, el puerto RS485 es el más valioso, ya que permite leer y escribir registros Modbus con total libertad.
Es fundamental verificar que tu modelo de Growatt sea compatible con baterías de litio. La mayoría de los inversores híbridos modernos soportan protocolos como CAN bus o RS485 para comunicarse con el BMS (Battery Management System) de la batería. Growatt mantiene una lista de baterías homologadas, aunque en la práctica muchas marcas genéricas con protocolo Pylontech o similares funcionan correctamente. Si tu inversor es más antiguo, es posible que solo admita baterías de plomo-ácido, lo que limitaría la integración con litio.
Baterías de litio: química, BMS y protocolos de comunicación
Las baterías de litio para almacenamiento solar suelen emplear química LiFePO4 (litio hierro fosfato) por su seguridad, larga vida útil y estabilidad térmica. Cada batería o módulo incluye un BMS que protege las celdas contra sobretensión, sobredescarga, sobrecorriente y temperaturas extremas. El BMS también es el encargado de comunicar al inversor los parámetros críticos: voltaje, corriente, estado de carga (SOC), estado de salud (SOH), temperatura y alarmas. Esta comunicación se establece típicamente mediante CAN bus o RS485, y es vital para que el inversor ajuste la carga y descarga de forma segura.
Para Home Assistant, lo relevante es que podremos acceder a estos datos de dos maneras: a través del inversor (que actúa como pasarela) o directamente del BMS si la batería dispone de un puerto de comunicación independiente. La primera opción es la más común y sencilla, ya que el inversor ya está integrado en el sistema. La segunda ofrece mayor granularidad, pero requiere hardware adicional y conocimientos más avanzados.
Home Assistant como centro de control
Home Assistant es una plataforma de automatización del hogar de código abierto que destaca por su flexibilidad y su capacidad de integrar dispositivos de múltiples fabricantes. Para la monitorización solar, ofrece varias ventajas: interfaz unificada, historial de datos, automatizaciones basadas en eventos, notificaciones personalizadas y la posibilidad de crear paneles de control a medida. Además, su arquitectura basada en integraciones permite conectar el inversor Growatt de diversas formas, desde integraciones oficiales en la nube hasta soluciones locales con Modbus o MQTT.
La integración con Home Assistant no solo se limita a visualizar datos; permite crear automatizaciones inteligentes. Por ejemplo, podemos programar el encendido de bombas de calor o cargas de vehículo eléctrico cuando la batería esté por encima del 80% y la producción solar supere el consumo. O activar un sistema de riego cuando el SOC sea alto y la tarifa eléctrica sea barata. Las posibilidades son enormes y dependen de la imaginación y las necesidades de cada usuario.
Guía de Integración Paso a Paso
Existen dos enfoques principales para integrar un inversor Growatt con batería de litio en Home Assistant: la integración basada en la nube (oficial o mediante API) y la integración local mediante Modbus. Cada una tiene sus ventajas y desventajas, y la elección dependerá de tus prioridades: facilidad de configuración, privacidad, velocidad de actualización o independencia de internet.
Método 1: Integración en la nube con la API de Growatt
Este método utiliza el servicio ShinePhone o el portal web de Growatt para obtener los datos. Home Assistant cuenta con integraciones personalizadas, como 'growatt_server' disponible a través de HACS (Home Assistant Community Store). Para configurarla, necesitas las credenciales de tu cuenta Growatt (usuario y contraseña) y el ID de la planta (plant ID). La integración consulta periódicamente la API de Growatt y crea sensores para la producción solar, el consumo, la carga de batería, el voltaje, etc.
El proceso es relativamente sencillo: instala HACS, busca 'Growatt' en la tienda de integraciones, reinicia Home Assistant, añade la integración desde 'Configuración > Dispositivos y servicios', introduce tus credenciales y selecciona la planta. En pocos minutos tendrás decenas de entidades disponibles. Sin embargo, este método tiene limitaciones: la frecuencia de actualización suele ser de 5 a 15 minutos, depende de la conexión a internet y de los servidores de Growatt, y no permite enviar comandos al inversor (solo lectura).
Método 2: Integración local con Modbus RTU/TCP
La integración local es la opción preferida por los usuarios avanzados. Consiste en conectar físicamente el inversor Growatt a la red local y leer/escribir registros Modbus directamente. Para ello, necesitas un adaptador RS485 a USB o RS485 a Ethernet (por ejemplo, USR-TCP232-410s o Waveshare RS485 TO ETH). El inversor Growatt dispone de un puerto RS485 (a veces etiquetado como 'Meter' o 'BMS') que podemos utilizar. Es importante consultar el manual del inversor para identificar los pines correctos (A y B) y la configuración de comunicación (baudrate 9600, 8N1, etc.).
Una vez conectado el adaptador, debemos configurar Home Assistant para que se comunique con él. La forma más común es mediante la integración 'Modbus' nativa de Home Assistant, que permite definir sensores y switches a partir de registros Modbus. Otra alternativa es utilizar el add-on 'Growatt Modbus' o 'SolarAssistant' (software externo que se integra vía MQTT). En esta guía nos centraremos en la configuración nativa de Modbus, que ofrece un control total y actualizaciones cada pocos segundos.
El primer paso es añadir la integración Modbus en Home Assistant. Ve a 'Configuración > Dispositivos y servicios > Añadir integración' y busca 'Modbus'. Selecciona 'Modbus TCP' si usas un adaptador Ethernet, o 'Modbus Serial' si usas USB. Para TCP, introduce la IP y el puerto del adaptador (por ejemplo, 192.168.1.100:502). Para serial, selecciona el puerto (por ejemplo, /dev/ttyUSB0) y los parámetros de comunicación. A continuación, deberás definir los registros que quieres leer. Esto se hace en el archivo configuration.yaml o mediante la interfaz de integración. Dado que Growatt tiene cientos de registros, lo ideal es consultar la documentación no oficial (por ejemplo, el repositorio de GitHub 'growatt_modbus') para obtener las direcciones exactas.
1Adaptador RS485
Elige un adaptador de calidad, preferiblemente aislado galvánicamente para proteger el inversor y el equipo. Los modelos USR-TCP232-410s o Waveshare RS485 TO ETH son populares y fiables.
2Cableado correcto
Conecta A con A y B con B. Si no funciona, invierte A y B (es un error común). Asegúrate de que la longitud del cable no supere los 100 metros y usa par trenzado.
3Configuración de red
Asigna una IP fija al adaptador Ethernet. Si usas USB, verifica que Home Assistant reconozca el puerto serie y que tengas permisos para acceder a él.
4Definición de sensores
Crea los sensores Modbus en configuration.yaml. Empieza con unos pocos (SOC, producción, consumo) y ve ampliando. Usa la función 'scan_interval' para ajustar la frecuencia.
Configuración avanzada de sensores Modbus
Para leer los registros de Growatt, necesitas conocer la dirección, el tipo de dato (entero, flotante, etc.) y la escala. Por ejemplo, el estado de carga de la batería (SOC) suele estar en el registro 0x001C (28 decimal) con un factor de 1. La producción fotovoltaica total está en 0x0001 y 0x0002 como un entero de 32 bits. A continuación, mostramos un fragmento de configuración YAML típico para un inversor Growatt SPH:
modbus:
- name: growatt
type: tcp
host: 192.168.1.100
port: 502
sensors:
- name: 'Growatt SOC'
slave: 1
address: 28
input_type: input
data_type: uint16
unit_of_measurement: '%'
scan_interval: 10
- name: 'Growatt Producción'
slave: 1
address: 1
input_type: input
data_type: uint32
unit_of_measurement: 'W'
scan_interval: 10Este es solo un ejemplo; deberás adaptarlo a tu modelo. Existen proyectos en GitHub que recopilan todos los registros Modbus de Growatt, como 'growatt_modbus' de 'wills106'. Puedes copiar las definiciones y ajustarlas. Una vez definidos los sensores, reinicia Home Assistant y verifica que los valores se actualizan correctamente. Si obtienes valores erróneos, revisa la dirección, el tipo de dato y la escala.
Integración con batería de litio: lectura del BMS
Si tu batería de litio tiene un puerto de comunicación independiente (por ejemplo, un puerto RS485 o CAN), puedes leer directamente los datos del BMS para obtener información más precisa, como el voltaje de cada celda, la temperatura o los ciclos de carga. Para ello, necesitarás otro adaptador RS485 y una integración específica. Algunas baterías populares como Pylontech, BYD o Dyness tienen integraciones en HACS que facilitan la tarea. Si no existe una integración, puedes usar Modbus genérico si el BMS lo soporta.
En muchos casos, el inversor Growatt ya actúa como pasarela y expone los datos del BMS a través de sus propios registros Modbus. Por ejemplo, el SOC, la corriente de carga/descarga y la temperatura de la batería suelen estar disponibles en los registros del inversor. Esto simplifica la integración, ya que no necesitas hardware adicional. Sin embargo, la granularidad es menor: no verás el voltaje de cada celda, pero sí los parámetros esenciales para la automatización.
Automatizaciones Avanzadas y Casos de Uso
Una vez que tienes los datos fluyendo en Home Assistant, el verdadero potencial surge al crear automatizaciones. Estas pueden basarse en el estado de carga de la batería, la producción solar, el precio de la electricidad (si tienes una tarifa con discriminación horaria) o la previsión meteorológica. A continuación, exploramos varios casos de uso prácticos y avanzados.
Caso 1: Maximizar el autoconsumo con cargas programadas
Imagina que tienes un termo eléctrico o una bomba de calor. Puedes programar su encendido cuando la producción solar supere un umbral y la batería esté por encima del 70%. De esta forma, aprovechas el excedente en lugar de verterlo a la red. La automatización en Home Assistant sería algo así:
alias: Encender termo con excedente solar
trigger:
- platform: numeric_state
entity_id: sensor.growatt_produccion
above: 1500
condition:
- condition: numeric_state
entity_id: sensor.growatt_soc
above: 70
action:
- service: switch.turn_on
entity_id: switch.termoEsta automatización enciende el termo cuando la producción supera 1500 W y el SOC es mayor del 70%. También puedes añadir una condición horaria para que solo funcione durante el día. Y por supuesto, una automatización inversa para apagarlo cuando la producción caiga o el SOC baje del 60%.
Caso 2: Carga del vehículo eléctrico según tarifa y SOC
Si tienes un vehículo eléctrico, puedes programar la carga en las horas más baratas o cuando haya excedente solar. Por ejemplo, si tu tarifa tiene precios diferentes por horas, puedes consultar el precio mediante una integración como 'PVPC' (para España) y activar el cargador cuando el precio sea bajo y el SOC de la batería esté por encima del 50%. Además, puedes modular la potencia de carga usando un cargador compatible con Home Assistant (por ejemplo, Wallbox o EVSE con Wi-Fi).
Caso 3: Notificaciones inteligentes y mantenimiento predictivo
Home Assistant puede enviarte notificaciones cuando ocurran eventos importantes: batería baja, fallo del inversor, producción anómala, etc. Por ejemplo, si el SOC baja del 20% durante la noche, puedes recibir una alerta para revisar el sistema. También puedes programar un mantenimiento predictivo: si la producción solar cae un 20% respecto a la media de los últimos días, una notificación te avisará de una posible suciedad en los paneles o un fallo en alguna cadena.
Caso 4: Gestión de excedentes con volcado a red o almacenamiento
Si tu instalación permite verter excedentes a la red, puedes configurar Home Assistant para decidir si es más rentable almacenar la energía en la batería o venderla. Dependiendo de la tarifa de compensación simplificada, puede que te interese más cargar la batería para usarla por la noche. Puedes crear una automatización que, en función del precio de la energía y del SOC, ajuste los parámetros del inversor (si es que permite escritura Modbus) para limitar la exportación o priorizar la carga de batería. Esto es especialmente útil en sistemas con baterías de litio, ya que permiten ciclos de carga y descarga controlados.
Errores Comunes, Limitaciones y Seguridad Eléctrica
La integración de un inversor Growatt con batería de litio en Home Assistant no está exenta de dificultades. A continuación, detallamos los errores más frecuentes y las precauciones que debes tomar para evitar problemas.
Errores de configuración Modbus
Uno de los fallos más habituales es la incorrecta conexión de los cables A y B. Si no obtienes respuesta, prueba a invertirlos. Otro error común es seleccionar un 'slave ID' equivocado. Growatt suele usar el ID 1, pero algunos modelos permiten configurarlo. También es frecuente equivocarse con la dirección del registro: los registros Modbus pueden ser 0-based o 1-based, y Growatt a veces usa direcciones que requieren un desplazamiento. Consulta siempre la documentación específica de tu modelo.
Problemas de comunicación y estabilidad
Las interferencias electromagnéticas pueden afectar la comunicación RS485, especialmente si los cables son largos y no están apantallados. Usa cable de par trenzado con malla y conecta la malla a tierra en un solo extremo. Si experimentas desconexiones frecuentes, aumenta el tiempo de espera (timeout) en la configuración de Modbus o reduce la velocidad de transmisión. En entornos con mucho ruido eléctrico, considera usar adaptadores aislados.
Seguridad eléctrica: nunca subestimes el riesgo
Trabajar con inversores y baterías de litio implica riesgos eléctricos importantes. El inversor puede tener tensiones de hasta 500 V en el lado de continua, y las baterías pueden entregar corrientes muy elevadas. Nunca abras el inversor ni manipules el cableado sin antes desconectar la alimentación fotovoltaica, la batería y la red eléctrica. Sigue siempre las instrucciones del fabricante y, si no tienes experiencia, contrata a un electricista cualificado.
Limitaciones de la integración en la nube
Como mencionamos, la integración en la nube depende de servidores externos y tiene una latencia mayor. Además, no permite enviar comandos al inversor, lo que limita las automatizaciones bidireccionales. Si tu objetivo es un control total, la integración local es el camino a seguir. Eso sí, requiere más conocimientos técnicos y hardware adicional.
Tabla Comparativa de Métodos de Integración
Para ayudarte a decidir, hemos elaborado una tabla comparativa con los tres métodos principales: integración en la nube, Modbus local y SolarAssistant (software externo con MQTT).
| Característica | Nube (API Growatt) | Modbus Local | SolarAssistant |
|---|---|---|---|
| Facilidad de configuración | Alta | Media | Alta |
| Frecuencia de actualización | 5-15 min | 1-10 seg | 1-5 seg |
| Control de escritura | No | Sí | Limitado |
| Dependencia de internet | Sí | No | No |
| Coste adicional |