Saltar al contenido principal

Integración domótica Kostal Plenticore, gratuita y de código abierto

Integración Kostal Plenticore para Gladys Assistant

Inversores Kostal Plenticore y PIKO IQ en red local: producción, casa, red y batería.

Presentación​

Esta integración lee su inversor Kostal PLENTICORE plus, PLENTICORE BI o PIKO IQ / PIKO MP en su red local, mediante la API REST que usa su propia interfaz web. Sin la nube de Kostal, sin registros Modbus que configurar: usted indica la dirección del inversor y la contraseña de propietario, y Gladys obtiene un dispositivo con los datos reales del inversor.

  • la producción solar, total y por cadena FV;
  • el consumo de la casa y el intercambio con la red (importación y exportación);
  • la batería, si la hay: nivel de carga, potencia de carga y de descarga, ciclos;
  • los contadores de energía del día y desde la puesta en servicio, listos para el seguimiento de energía de Gladys;
  • el estado del inversor y sus alarmas, con el texto de alarma que da el inversor;
  • un widget de panel, desencadenantes de escena (alarma, batería llena, batería vacía) y, si usted los permite, dos acciones de escena sobre los ajustes de la batería.

Desarrollada sin el hardware: se basa en la API tal como la usan la integración de Home Assistant y la biblioteca pykoplenti, y se ha probado con un inversor simulado. Sus comentarios son bienvenidos, en el foro o en una issue de GitHub.

Esta integración no está afiliada a KOSTAL Solar Electric. Kostal, PLENTICORE y PIKO son marcas de sus propietarios.

Requisitos previos​

  • Gladys 5.1 o posterior (el seguimiento de energía de los contadores funciona mejor con Gladys 5.2).
  • Un inversor Kostal PLENTICORE plus, PLENTICORE BI, PIKO IQ o PIKO MP, conectado a su red por cable o Wi-Fi, con una dirección IP fija (basta una reserva DHCP en su router).
  • La contraseña de propietario (en alemán «Anlagenbetreiber»): la que usa para entrar en la interfaz web del inversor, en http://<dirección del inversor>. Si nunca la ha definido, su instalador o la aplicación Kostal Solar pueden ayudarle. No hace falta el código de servicio del instalador.
  • Gladys y el inversor en la misma red: la integración habla directamente con el inversor.

Configuración​

  1. Instale la integración desde la tienda (o Integraciones → Instalar desde GitHub con la dirección del repositorio).
  2. En la pestaña Configuración:
    • Dirección IP: la dirección del inversor, por ejemplo 192.0.2.20. También sirve un nombre de host.
    • Contraseña de propietario: guardada solo en la configuración de Gladys, nunca escrita en los registros.
    • Intervalo de actualización: 10, 15 (por defecto), 30 o 60 segundos. Cada actualización es una petición al inversor.
    • Idioma de los textos de los dispositivos: nombres del dispositivo y de sus funciones, estado del inversor, textos de las alarmas (francés por defecto). Los nombres se fijan al añadir el dispositivo.
    • Batería llena a partir de / Batería vacía a partir de: los niveles que activan los desencadenantes de escena de la batería.
    • Permitir los ajustes de la batería: desactivado por defecto, vea «Acciones de escena».
  3. Haga clic en Probar conexión: la integración inicia sesión e indica lo que ha encontrado (modelo, cadenas FV, batería, firmware, ajustes de la batería).
  4. Abra la pestaña Descubrir y añada el inversor. Sus estados llegan de inmediato.

El dispositivo​

Un dispositivo por inversor, con el nombre de su modelo (por ejemplo «Kostal PLENTICORE plus 10»). Una función solo existe si el inversor la mide: sin funciones de batería sin batería, sin funciones por cadena con una sola cadena.

FunciónSignificado
Producción solarPotencia CC de todas las cadenas FV, en W
Cadena FV 1, 2, 3Potencia de cada cadena (a partir de dos cadenas)
Consumo de la casaLo que consume la casa, en W
Red (importación +, exportación −)Intercambio con la red: positivo cuando la casa toma de la red, negativo cuando el inversor inyecta
Salida CA del inversorLo que entrega el inversor en su lado CA, en W
Nivel de bateríaNivel de carga, en %
Carga / Descarga de la bateríaPotencia que entra en la batería y que sale de ella, en W
Ciclos de la bateríaCiclos completos contados por el inversor
Producción de hoyEnergía producida desde medianoche, en kWh
Producción totalEnergía producida desde la puesta en servicio, en kWh
Casa desde la red (total)Energía que la casa tomó de la red, en kWh
Exportación a la red (total)Energía inyectada en la red, en kWh (calculada como Home Assistant: producción menos el consumo de la casa cubierto por el inversor)
Energía cargada / descargada (total)Contadores de la batería, en kWh
Estado del inversorProduciendo, En espera, Limitado, Sobrecalentamiento…
Alarmas activasNúmero de errores activos
Última alarmaTexto de la última alarma activa, tal como lo formula el inversor, o «Sin alarmas»

Todas las funciones son de solo lectura: nada en el panel puede modificar el inversor.

Seguimiento de energía​

«Casa desde la red (total)» es un índice de energía: Gladys deriva de él un consumo por media hora y su coste, como para un contador, y lo vincula a su contador eléctrico principal si lo tiene. Es el único índice de consumo del dispositivo: la energía que usted mismo produce nunca se cuenta como comprada.

Los contadores de producción («Producción total», «Exportación a la red (total)») y los de la batería se guardan con su historial y se muestran en los gráficos. Gladys 5.2 aún no convierte el índice de producción de una integración externa en producción por media hora: llegará con el núcleo.

Widget del panel​

Añada el widget Kostal a un panel. Muestra:

  • mosaicos para la producción solar, la casa, la red, la batería y la producción de hoy, en directo;
  • la curva de producción y consumo de las últimas 24 horas;
  • una lista de estado: importación o exportación, batería cargando o descargando, estado del inversor, alarmas, autarquía y autoconsumo del día, consumo de la casa del día, los ajustes de la batería (si están permitidos), la hora de la última lectura.

El widget no cuesta ninguna petición al inversor: muestra la última lectura.

Desencadenantes de escena​

  • Alarma del inversor Kostal: ha aparecido una nueva alarma en el inversor. Variables: el código de la alarma, su texto (en el idioma de la configuración) y su categoría. Un mismo código se activa como máximo una vez cada 10 minutos.
  • Batería Kostal llena: el nivel de carga ha alcanzado el valor «Batería llena a partir de». Solo se vuelve a activar tras bajar 5 puntos.
  • Batería Kostal vacía: el nivel de carga ha bajado al valor «Batería vacía a partir de». Solo se vuelve a activar tras subir 5 puntos.

No se activa nada en la primera lectura tras un arranque: un reinicio nunca repite una alarma antigua.

Para un umbral sobre una potencia (exportación por encima de 2000 W durante 10 minutos), use el desencadenante estándar «estado de un dispositivo» de Gladys sobre la función «Red»: tiene el umbral y la duración.

Acciones de escena​

Ambas acciones están desactivadas por defecto: active primero «Permitir los ajustes de la batería» en la configuración. Solo funcionan si el inversor permite al propietario cambiar el ajuste (la prueba de conexión se lo indica), y cada cambio escribe una línea en los registros.

  • Ajustar la reserva de la batería Kostal: el estado de carga mínimo que conserva la batería, de 5 a 100 %, en pasos del 5 %. La escena recibe el valor aplicado.
  • Control inteligente de la batería Kostal: activa o desactiva el control inteligente de la batería de Kostal. Activarlo desactiva el control horario, como hace la propia interfaz del inversor.

Un valor erróneo cambia el uso de su batería: compruébelo después en la interfaz web del inversor.

Ejemplos de escenas​

  • Guardar una reserva antes de una tormenta: cuando llegue una alerta meteorológica, ejecute «Ajustar la reserva de la batería Kostal» al 50 %; vuelva a ponerla al 10 % al día siguiente.
  • Aprovechar el excedente: desencadenante «estado de un dispositivo» sobre «Red (importación +, exportación −)» por debajo de −2000 W durante 10 minutos → encender el calentador de agua; apagarlo cuando el valor vuelva a superar 0.
  • Recibir un aviso de avería: desencadenante «Alarma del inversor Kostal» → enviar el mensaje «Alarma del inversor {{triggerEvent.data.code}}: {{triggerEvent.data.description}}».
  • Batería llena a mediodía: desencadenante «Batería Kostal llena» → poner en marcha el lavavajillas o la carga del coche.

Peticiones al inversor​

  • Una petición por actualización (de 10 a 60 segundos, a su elección), con una sesión que se mantiene entre peticiones: un inicio de sesión al arrancar, de nuevo solo si el inversor se ha reiniciado.
  • Cada 30 minutos, cuatro peticiones ligeras vuelven a leer qué es el inversor (actualización de firmware, batería añadida).
  • Los textos de alarma solo se leen mientras hay una alarma activa; los ajustes de la batería cada 5 minutos, y solo si están permitidos.
  • No se lee nada mientras el dispositivo no esté añadido a Gladys, salvo para el widget.
  • Una contraseña rechazada no se vuelve a intentar durante 15 minutos (o hasta que guarde la configuración): el inversor bloquea la cuenta tras varios inicios de sesión fallidos.
  • La integración cierra la sesión al detenerse: el inversor solo mantiene unas pocas sesiones.

Solución de problemas​

  • «El inversor no responde»: compruebe la dirección (abra http://<dirección> en un navegador en la misma red), que el inversor esté en la red y que Gladys pueda alcanzarlo.
  • «El inversor ha rechazado la contraseña»: introduzca la contraseña de propietario de la interfaz web (no el código de servicio del instalador, no la contraseña del portal Kostal Solar). Guarde la configuración para volver a intentarlo de inmediato.
  • «El inversor ha bloqueado la cuenta de propietario»: espere a que se desbloquee (su interfaz web se lo indica) y vuelva a guardar la configuración.
  • Falta una función: el inversor no lista la medida (sin batería, una sola cadena, un firmware más antiguo). Ejecute «Probar conexión» y, tras una actualización del firmware, «Actualizar» en la pestaña Descubrir.
  • Los signos de la red o de la batería parecen invertidos: indíquelo en el foro con su modelo y su firmware: solo se han comprobado con la documentación.
  • Más detalles: ponga la variable de entorno LOG_LEVEL de la integración en debug. Los registros nunca contienen la contraseña ni la sesión.

Limitaciones​

  • Desarrollada sin el hardware: los signos (red, batería), la lista exacta de medidas de cada modelo y los ajustes modificables proceden de la documentación y de la integración de Home Assistant, no de una prueba con un inversor real.
  • Solo acceso de propietario: los ajustes que exigen el código de servicio del instalador (y la clave maestra) no son compatibles.
  • Un solo inversor por instalación de la integración.
  • El contador de exportación es calculado (producción menos el consumo de la casa cubierto por el inversor), como hace Home Assistant.
  • Sin producción por media hora en el seguimiento de energía mientras el núcleo de Gladys no la admita para las integraciones externas.
  • Los PIKO IQ / MP y PLENTICORE BI deberían responder como el PLENTICORE plus (misma plataforma); una medida ausente da simplemente una función ausente.

Parámetros de configuración​

Estos son los parámetros que Kostal Plenticore te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Conectar su inversor KostalsectionNoIntroduzca la dirección IP del inversor (visible en su router o en la pantalla del inversor) y la contraseña de propietario con la que entra en su interfaz web. Gladys lee el inversor en su red local, sin la nube de Kostal. Después abra la pestaña Descubrir.
Dirección IPstringSíDel inversor. También sirve un nombre de host.
Contraseña de propietariosecretSíLa contraseña de la cuenta de propietario de la interfaz web del inversor. No hace falta el código de servicio del instalador.
Intervalo de actualizaciónselectNoFrecuencia de lectura del inversor: una petición cada vez.
Idioma de los textos de los dispositivosselectNoNombres del nuevo dispositivo y de sus funciones, textos de estado del inversor y de las alarmas.
Batería llena a partir de (%)numberNoNivel de carga que activa el desencadenante de escena «Batería llena».
Batería vacía a partir de (%)numberNoNivel de carga que activa el desencadenante de escena «Batería vacía»: normalmente, el estado de carga mínimo configurado en el inversor.
Ajustes de la batería (avanzado)sectionNoDesactivados por defecto. Una vez permitidos, dos acciones de escena pueden cambiar el estado de carga mínimo y activar o desactivar el control inteligente de la batería, si el inversor lo permite al propietario. Un valor erróneo cambia el uso de su batería: compruébelo después en la interfaz web del inversor.
Permitir los ajustes de la bateríabooleanNoPermite que las acciones de escena escriban en el inversor.

Cómo instalar Kostal Plenticore en Gladys​

  1. En Gladys, abre Integraciones: Kostal Plenticore aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-kostal:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-kostal.

Kostal Plenticore 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​

Kostal Plenticore 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.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂