Integración domótica Solarman (Deye, Sofar, Solis), gratuita y de código abierto

Inversor Deye, Sofar o Solis con logger Wi-Fi Solarman, leído en local: solar, batería y red.
Lea en Gladys, a través de su red local, un inversor solar equipado con un logger Wi-Fi Solarman (la llave «LSW-3» que acompaña a los inversores Deye, Sunsynk, Sol-Ark, Sofar, Solis y muchos otros): producción solar por entrada FV, consumo de la casa, importación y exportación de red, nivel y potencia de la batería, energías del día e índices para la pestaña de energía de Gladys, con un widget de panel, cinco disparadores y una acción de escena. Sin cuenta ni nube: Gladys habla directamente con el logger mediante el protocolo Solarman V5 (puerto TCP 8899), el mismo que usa la aplicación Solarman. Solo lectura: nunca se escribe nada en el inversor.
Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración se ha escrito a partir de los mapas de registros publicados de estos inversores, un intercambio real con un logger Deye y un logger simulado, no con un inversor real. Si algo no funciona como se describe, indíquelo en el foro de Gladys o en las issues.
Lo que necesita
- Gladys Assistant 5.1.0 o posterior.
- Un inversor con un logger Wi-Fi Solarman cuyo número de serie empiece por
17, 21, 23, 27 o 40 (10 cifras, en la etiqueta del logger), conectado a la
misma red que Gladys. Modelos compatibles:
- Deye híbrido monofásico (SUN-…K-SG0xLP1, y los Sunsynk y Sol-Ark derivados);
- Deye híbrido trifásico, batería de baja tensión (SG04LP3) o de alta tensión (SG01HP3);
- Deye microinversor (SUN-M, SUN600/800/2000G3…);
- Sofar G3 (KTLX-G3 trifásico, sin batería);
- Solis monofásico (1P…-5G, sin batería).
- Una dirección IP fija para el logger (una reserva DHCP en su router).
Configuración
- En Gladys, vaya a Integraciones → Instalar desde GitHub e introduzca
https://github.com/guim31/gladys-solarman. - En la configuración de la integración, rellene:
- Dirección IP del logger;
- Número de serie del logger: las 10 cifras de la etiqueta del logger, no el número de serie del inversor;
- Modelo de inversor;
- Entradas FV usadas: el número de cadenas de paneles conectadas al inversor (una producción por entrada);
- si lo necesita, el Intervalo de lectura (s) (30 s por defecto, 15 s como mínimo), el Umbral de exportación (W) de los disparadores de exportación, la Dirección Modbus (1 en casi todos los casos), el Puerto TCP del logger (8899) y el Idioma de los nombres de las funciones.
- Ejecute Probar la conexión en la pestaña Configuración: la integración lee el inversor una vez y responde con lo que ve, o con el motivo del fallo.
- Abra la pestaña Descubrir y añada el inversor. Sus valores llegan enseguida y después en cada lectura.
El dispositivo en Gladys
Un dispositivo por inversor, con el nombre de su marca (por ejemplo «Inversor solar Deye»). Las funciones dependen del modelo: un modelo sin batería no tiene ninguna función de batería, un microinversor no tiene ni red ni casa.
| Función | Unidad | Qué es |
|---|---|---|
| Producción solar | W | producción de los paneles, todas las entradas juntas |
| Producción PV1, PV2… | W | producción de cada entrada FV (si hay varias) |
| Producción de hoy | kWh | energía producida desde medianoche |
| Producción total | kWh | índice de producción del inversor (pestaña de energía) |
| Potencia de red | W | positiva al importar, negativa al exportar |
| Importado hoy | kWh | energía comprada a la red desde medianoche |
| Exportado hoy | kWh | energía enviada a la red desde medianoche |
| Índice de importación | kWh | contador de importación: Gladys calcula el consumo y el coste |
| Índice de exportación | kWh | contador de exportación |
| Consumo de la casa | W | potencia consumida por la casa |
| Consumo de hoy | kWh | energía consumida por la casa desde medianoche |
| Nivel de batería | % | estado de carga |
| Carga de batería | W | potencia que entra en la batería |
| Descarga de batería | W | potencia que sale de la batería |
| Índice de carga de batería | kWh | energía cargada desde la instalación |
| Índice de descarga de batería | kWh | energía descargada desde la instalación |
| Temperatura de batería | °C | |
| Temperatura del inversor | °C | |
| Estado del inversor | texto | En espera, Arrancando, Normal, Alarma, Fallo o No responde |
Pestaña de energía. Solo el Índice de importación lo cuenta Gladys como consumo (con su coste): es lo que factura su proveedor. El consumo de la casa no, ya que la energía producida por sus paneles y consumida en casa es gratuita; el índice de producción alimenta la producción de Gladys. Si la casa también se lee con un contador inteligente, mantenga ese contador como contador principal.
De noche. El logger de un inversor sin batería se alimenta de los paneles: se apaga de noche. Tras tres lecturas sin respuesta, el estado pasa a «No responde», la producción solar cae a 0 W y los demás valores se quedan como estaban; todo vuelve solo por la mañana. Mientras tanto, la integración también aparece desconectada.
Widget de panel
Solar muestra de un vistazo:
- Solar: la producción de los paneles;
- Casa: el consumo de la casa;
- Importación o Exportación: el intercambio con la red, con su sentido;
- Batería: el nivel de la batería, y Carga o Descarga con la potencia de la batería;
- Hoy: la producción del día;
- el estado del inversor y la hora de la última lectura.
Añádalo desde el editor del panel (caja «Widget de integración»). Mientras el inversor no se haya añadido en Gladys, el widget lo indica.
Escenas
Disparadores
- Batería llena: la batería alcanza el 100 % (una vez; de nuevo tras bajar al 95 %). Variable: el nivel de la batería.
- La batería baja a…: el nivel de la batería baja al umbral elegido (del 10 al 50 %) o por debajo. Se activa de nuevo cuando el nivel ha subido 5 puntos por encima del umbral. Variable: el nivel de la batería.
- Fallo del inversor: el inversor pasa a alarma o fallo (elija uno, o deje el campo vacío para ambos). Variables: el estado y su código.
- Exportación a red iniciada: la casa empieza a enviar a la red más del Umbral de exportación (W) de la configuración. Variable: la potencia exportada.
- Exportación a red detenida: la exportación baja de la mitad de ese umbral. Variable: la potencia exportada (negativa al importar).
Nada se activa en la primera lectura tras un arranque: una batería ya baja es un estado, no un evento. Para reaccionar a un nivel («producción por encima de 2 kW»), use las funciones del dispositivo en un disparador «Estado de un dispositivo».
Acciones
- Leer el estado del inversor: lee el inversor y proporciona a las acciones siguientes una Frase de estado para enviar («Solar 2340 W, casa 1200 W, batería 85 % (cargando 800 W), exportación a red 340 W; 12,4 kWh producidos hoy; estado Normal.»), además de la producción solar, el consumo de la casa, la potencia de red, el nivel de la batería y la producción del día como números. La frase se escribe en el idioma de la configuración.
Ideas de escenas
- Aprovechar el excedente: con Exportación a red iniciada, encender el termo eléctrico o la bomba de la piscina; con Exportación a red detenida, apagarlo.
- Cuidar la batería: cuando La batería baja a… 20 %, enviar un mensaje y apagar los radiadores que pueden esperar.
- Resumen de la noche: cada día a las 21 h, Leer el estado del inversor y enviar la frase de estado a su teléfono.
- Vigilar el inversor: con un Fallo del inversor, enviar un mensaje con el estado.
Solución de problemas
- Probar la conexión responde «no se puede conectar con el logger»: compruebe la dirección IP del logger y que Gladys está en la misma red. El logger debe responder en el puerto 8899 (algunos loggers «LSE» nuevos no lo ofrecen).
- «El logger no responde»: el número de serie es incorrecto (el logger se queda callado), o el logger está apagado (noche, inversor sin batería).
- «El logger responde, pero no el inversor»: compruebe la Dirección Modbus (1 por defecto) y el cable entre el logger y el inversor.
- «El inversor rechaza los registros leídos»: el modelo elegido no corresponde al inversor.
- Valores que parecen erróneos (una potencia 10 veces demasiado pequeña, un signo invertido): compruebe el modelo, en especial batería de baja o alta tensión en los Deye híbridos trifásicos, e indíquelo en el foro con una captura de la aplicación Solarman.
- Más detalles en los registros de la integración, con
LOG_LEVEL=debug.
Limitaciones
- Solo lectura: no se puede cambiar ningún ajuste del inversor (modo de funcionamiento, carga de la batería, límite de exportación), a propósito, por la seguridad de la batería y de la red.
- Un inversor por instalación de la integración.
- El logger atiende a pocos clientes a la vez: Gladys mantiene una sola conexión y lee como mucho cada 15 segundos. Otra herramienta local que lea el mismo logger al mismo tiempo puede recibir errores.
- La nube de Solarman no se usa y sigue funcionando como antes.
- El consumo total de la casa no tiene índice en Gladys (solo el valor del día), para que nunca se cuente dos veces en la pestaña de energía.
- Otros modelos (inversores Deye sin batería, híbridos Sofar y Solis, Afore, KStar, Megarevo…) aún no son compatibles: pídalo en el foro.
Mapas de registros según ha-solarman (MIT) y protocolo V5 según pysolarmanv5 (MIT). Sin relación con Solarman, Deye, Sofar o Solis.
Parámetros de configuración
Estos son los parámetros que Solarman (Deye, Sofar, Solis) te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Logger Solarman | section | No | El inversor se lee a través de su logger Wi-Fi Solarman (llave LSW-3), en la red local, puerto 8899. El número de serie del logger es el número de 10 cifras de su etiqueta (17…, 21…, 23…, 27…, 40…). Solo lectura: nunca se escribe nada en el inversor. |
| Dirección IP del logger | string | Sí | Asigne al logger una dirección fija en su router. |
| Número de serie del logger | string | Sí | 10 cifras, en la etiqueta del logger (no el número del inversor). |
| Modelo de inversor | select | Sí | |
| Entradas FV usadas | number | No | Número de cadenas de paneles conectadas al inversor (una producción por entrada, de 1 a 4). |
| Intervalo de lectura (s) | number | No | 15 segundos como mínimo: el logger también envía sus datos a la nube de Solarman. |
| Umbral de exportación (W) | number | No | Potencia exportada a partir de la cual se activa el disparador «Exportación a red iniciada». |
| Dirección Modbus | number | No | Dirección del inversor detrás del logger: 1 en casi todos los casos. |
| Puerto TCP del logger | number | No | |
| Idioma de los nombres de las funciones | select | No | Se usa para los nombres de las funciones del inversor (al añadirlo) y para los mensajes de las acciones. |
Cómo instalar Solarman (Deye, Sofar, Solis) en Gladys
- En Gladys, abre Integraciones: Solarman (Deye, Sofar, Solis) aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-solarman:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-solarman.
Solarman (Deye, Sofar, Solis) requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Solarman (Deye, Sofar, Solis) es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación