Saltar al contenido principal

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

Integración OpenSprinkler para Gladys Assistant

Riego OpenSprinkler: estaciones, programas, retraso por lluvia y sensores, en red local.

Controle su programador de riego OpenSprinkler u OpenSprinkler Pi desde Gladys, en su red local: vea qué estaciones riegan y durante cuánto tiempo, riegue un parterre al instante, inicie un programa, suspenda el calendario con un retraso por lluvia y lea los sensores de lluvia, de suelo y de caudal.

Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración se ha escrito a partir de la documentación de la API de OpenSprinkler y de respuestas grabadas en el firmware oficial (versión Demo), no en un controlador físico. Indique lo que funciona y lo que no en GitHub.

Esta integración no está afiliada a OpenSprinkler ni a OpenThings Inc.

Requisitos​

  • Un controlador OpenSprinkler (2.x, 3.x, 4.x) u OpenSprinkler Pi con un firmware 2.x (2.1.9 o posterior recomendado, probado con la 2.2.1(6)).
  • El controlador y Gladys en la misma red local. La integración habla directamente con el controlador (sin nube, sin cuenta de OpenThings Cloud).
  • La contraseña del dispositivo: la que escribe en la aplicación OpenSprinkler (por defecto: opendoor).
  • Gladys 5.2.0 o posterior (los botones del widget abren formularios).

Configuración​

En Gladys, vaya a Integraciones → OpenSprinkler → Configuración:

  • Dirección: la dirección IP o el nombre del controlador, por ejemplo 192.168.1.20. Añada :puerto si el servidor web no escucha en el puerto 80 (un OpenSprinkler Pi escucha a menudo en :8080). Asigne al controlador una dirección IP fija en su router.
  • Contraseña del dispositivo: la contraseña de la aplicación OpenSprinkler. Se envía al controlador como hash MD5, como hace la aplicación oficial, y nunca se escribe en los registros.
  • Nombre (opcional): el nombre del dispositivo en Gladys; vacío, se usa el nombre configurado en el controlador.
  • Hasta tres controladores (secciones segunda y tercera).
  • Intervalo de actualización: 30 segundos o 1 minuto. El controlador también se vuelve a leer justo después de cada orden.
  • Duración de riego de un interruptor de estación: cuánto tiempo riega una estación cuando enciende su interruptor en Gladys (10 minutos por defecto). El propio controlador la detiene al final.
  • Unidad del caudal por impulso: litros o galones EE. UU., la unidad del volumen por impulso configurado en las opciones de OpenSprinkler (solo con caudalímetro).
  • Idioma de los nombres de funciones: los nombres de las funciones al añadir el dispositivo y los textos de los eventos de escena.

Use después Probar la conexión: la integración lee cada controlador e indica su firmware, sus estaciones y sus programas. Por último, abra la pestaña Descubrimiento y añada el controlador a Gladys.

Dispositivos y funciones​

Un dispositivo por controlador, identificado por su dirección MAC: cambiar su dirección IP o su lugar en la configuración conserva el dispositivo y su historial.

FunciónTipoQué hace
Controlador activadointerruptorActiva o desactiva el funcionamiento del controlador (ningún programa se ejecuta mientras está desactivado).
Un interruptor por estación, con el nombre de la estacióninterruptorEncendido mientras la estación riega. Encenderlo riega la estación durante el tiempo configurado; apagarlo la detiene.
Programa: …interruptorEncendido mientras el programa está activado. Apagarlo desactiva el programa (ya no se ejecuta según su calendario).
Nivel de riegonivel (%)El porcentaje de riego aplicado a los programas (0 a 250 %), fijado por el ajuste meteorológico o a mano.
Retraso por lluviaduración (horas)Las horas que faltan para que los programas vuelvan a ejecutarse, 0 sin retraso por lluvia.
Sensor de lluviasensor de lluviaSolo con un sensor de lluvia en una entrada de sensor: 1 cuando se detecta lluvia.
Sensor de suelo (húmedo)entradaSolo con un sensor de suelo: 1 cuando el suelo está húmedo.
Caudal de aguacaudal (m³/h)Solo con un caudalímetro: el caudal actual.
Contador de aguavolumen (litros)Solo con un caudalímetro: el agua consumida desde que se añadió el dispositivo. El controlador cuenta los impulsos desde su encendido; la integración los suma entre sus reinicios y guarda el total en /data.

Los nombres se fijan al añadir el dispositivo. Una estación renombrada, un programa añadido o un sensor conectado más tarde: la pestaña Descubrimiento ofrece Actualizar para el dispositivo.

Las estaciones maestras (bomba, válvula maestra) aparecen como las demás y muestran cuándo funcionan, pero no se inician solas: el controlador las abre con las estaciones a las que sirven.

Widget del panel​

Añada el widget OpenSprinkler a un panel (elija el controlador en su configuración, o déjelo vacío para el primero). Muestra:

  • el Nivel de riego, el Retraso por lluvia y el Caudal (con caudalímetro) como mosaicos;
  • el estado del controlador (En reposo, Regando, En pausa, Desactivado, retraso por lluvia), el sensor de lluvia cuando detecta lluvia, y cada estación que riega con su tiempo restante o que espera su turno;
  • cuatro botones: Regar… (elegir una estación y una duración), Programa… (elegir un programa, con o sin el nivel de riego), Detener todo (pide confirmación) y Retraso lluvia… (un número de horas), que pasa a Anular retraso mientras dura un retraso por lluvia.

Disparadores de escena​

  • Estación OpenSprinkler terminada: una estación ha terminado de regar. Filtros: el controlador y lo que la inició (riego manual, horario de un programa, o programa iniciado a mano / programa de una vez). Variables: el número y el nombre de la estación, la duración de riego en minutos, lo que la inició y el nombre del controlador.
  • OpenSprinkler inaccesible: el controlador ha dejado de responder en la red (dos lecturas seguidas). Variables: el nombre del controlador y el motivo.

Acciones de escena​

  • Regar una estación OpenSprinkler: abre una estación (número 1 = la primera) durante unos minutos (1 a 1080), tras las estaciones que ya están regando.
  • Detener el riego OpenSprinkler: detiene todas las estaciones que riegan o esperan.
  • Iniciar un programa OpenSprinkler: inicia un programa ahora (número 1 = el primero), con o sin el nivel de riego. Lo que está regando se detiene y el programa toma el relevo.
  • Fijar el retraso por lluvia OpenSprinkler: suspende los programas durante unas horas (0 a 720; 0 anula el retraso).

Ejemplos de escenas​

  • Se acerca la lluvia: cuando su integración meteorológica emite una alerta de lluvia, Fijar el retraso por lluvia OpenSprinkler en 24 horas.
  • Regar el huerto desde la tableta mural: el botón Regar… del widget, o una escena iniciada por un botón que ejecuta Regar una estación OpenSprinkler durante 15 minutos.
  • Informe de riego: con Estación OpenSprinkler terminada, enviar un mensaje «{{triggerEvent.data.station_name}} ha regado {{triggerEvent.data.duration_minutes}} min».
  • Niños en el jardín: cuando se detecta una presencia en el jardín, Detener el riego OpenSprinkler.
  • Controlador sin conexión: con OpenSprinkler inaccesible, enviar una notificación.

Solución de problemas​

  • «no responde»: compruebe la dirección y el puerto (abra http://<dirección> en un navegador: debe aparecer la página de OpenSprinkler). La integración se ejecuta en un contenedor Docker: el controlador debe ser accesible desde el servidor de Gladys.
  • «contraseña rechazada»: vuelva a escribir la contraseña de la aplicación OpenSprinkler (distingue mayúsculas y minúsculas). La de fábrica es opendoor.
  • «no hay ningún OpenSprinkler en esta dirección»: algo responde en esta dirección, pero no la API de OpenSprinkler (otro dispositivo, una página web).
  • Un interruptor de estación se vuelve a apagar solo: el controlador ha rechazado el riego. Una estación que ya riega o espera, una estación maestra o un controlador desactivado no se pueden iniciar; el mensaje de error indica cuál.
  • Más detalles: ponga la variable de entorno LOG_LEVEL en debug en la configuración de la integración; los registros muestran entonces cada lectura. Nunca contienen la contraseña.

Límites​

  • Frecuencia de lectura y carga del controlador: el controlador (un ESP8266 en el OpenSprinkler 2.3 / 3.x) atiende una petición cada vez. La integración lo lee cada 30 segundos o cada minuto con una sola petición /ja (cinco peticiones, una tras otra, en los firmwares anteriores a 2.1.6), más una lectura tras cada orden. No se usa ningún servicio en la nube, así que no hay cuota; no baje de 30 segundos.
  • Las estaciones y los programas se identifican por su número en el controlador, el único identificador que da la API: borrar o reordenar programas en la aplicación OpenSprinkler desplaza los interruptores de programa (los nombres siguen siendo los de la creación hasta Actualizar).
  • Un programa iniciado a mano se ejecuta como programa «de una vez» (run-once) en el controlador: su interruptor solo indica si está activado, y el disparador «estación terminada» lo señala como iniciado a mano.
  • El disparador estación terminada lee el último riego terminado del controlador en cada lectura: cuando dos estaciones terminan entre dos lecturas, solo se señala la última.
  • El contador de agua empieza en 0 al añadir el dispositivo, y pierde el agua consumida mientras la integración está detenida durante un reinicio del controlador.
  • Los sensores ampliados (sensores analógicos del firmware 2.2.1), las estaciones especiales y la edición de programas no se gestionan: use la aplicación OpenSprinkler.
  • La integración habla HTTP con el controlador, como la aplicación oficial en la red local; el hash de la contraseña viaja sin cifrar por la red local.

Parámetros de configuración​

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

ParámetroTipoObligatorioDescripción
Su OpenSprinklersectionNoOpenSprinkler u OpenSprinkler Pi con firmware 2.x, en su red local. Hasta tres controladores.
DirecciónstringSíDirección IP o nombre del controlador, con :puerto si no es 80 (OpenSprinkler Pi: a menudo :8080).
Contraseña del dispositivosecretNoLa contraseña de la aplicación OpenSprinkler (por defecto: opendoor). Se envía al controlador como hash MD5.
NombrestringNoNombre del dispositivo en Gladys. Vacío: el nombre configurado en el controlador.
Segundo OpenSprinkler (opcional)sectionNoLos mismos campos, para otro controlador de su red.
DirecciónstringNoDirección IP o nombre del controlador, con :puerto si no es 80 (OpenSprinkler Pi: a menudo :8080).
Contraseña del dispositivosecretNoLa contraseña de la aplicación OpenSprinkler (por defecto: opendoor). Se envía al controlador como hash MD5.
NombrestringNoNombre del dispositivo en Gladys. Vacío: el nombre configurado en el controlador.
Tercer OpenSprinkler (opcional)sectionNoLos mismos campos, para otro controlador de su red.
DirecciónstringNoDirección IP o nombre del controlador, con :puerto si no es 80 (OpenSprinkler Pi: a menudo :8080).
Contraseña del dispositivosecretNoLa contraseña de la aplicación OpenSprinkler (por defecto: opendoor). Se envía al controlador como hash MD5.
NombrestringNoNombre del dispositivo en Gladys. Vacío: el nombre configurado en el controlador.
OpcionessectionNo
Intervalo de actualizaciónselectNoCon qué frecuencia se leen los controladores. Se vuelven a leer justo después de cada orden.
Duración de riego de un interruptor de estaciónselectNoEncender una estación en Gladys la riega durante este tiempo; después el controlador la detiene.
Unidad del caudal por impulsoselectNoSolo con caudalímetro: la unidad del volumen por impulso configurado en las opciones de OpenSprinkler.
Idioma de los nombres de funcionesselectNoNombres de las funciones al añadir un dispositivo y textos de los eventos de escena.

Cómo instalar OpenSprinkler en Gladys​

  1. En Gladys, abre Integraciones: OpenSprinkler 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-opensprinkler: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-opensprinkler.

OpenSprinkler requiere Gladys >=5.2.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​

OpenSprinkler 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 🙂