Saltar al contenido principal

Integración domótica Suez / Saur (eau), gratuita y de código abierto

Integración Suez / Saur (eau) para Gladys Assistant

Consumo diario de agua de los contadores Suez y Saur, con alertas de fuga y sobreconsumo.

Desarrollada sin cuenta de cliente (Developed without an account: feedback welcome): esta integración se escribió y probó sin una cuenta real de Suez ni de Saur, a partir de las bibliotecas libres que ya utiliza Home Assistant. Si la prueba, sus comentarios en el foro de Gladys son muy valiosos, funcione a la primera o no.

Esta integración no está afiliada a Suez ni a Saur, ni cuenta con su aprobación (not affiliated with Suez or Saur).

Presentación​

Siga en Gladys el consumo de agua medido por su contador, tal como su distribuidor de agua lo publica en su área de cliente en línea:

  • Suez, área de cliente «Tout sur mon eau» (toutsurmoneau.fr);
  • Saur, «Mon espace client» (mon-espace.saurclient.fr).

Para cada contador, Gladys obtiene:

  • el consumo de cada día, en litros, guardado en el historial el día en que se consumió el agua;
  • el índice del contador, en m³;
  • el consumo del mes y del año en curso, en m³;
  • con Suez, el precio medio del agua (€/m³) y la alerta de fuga enviada por Suez;
  • un disparador de escena «Consumo de agua anormal», una vez por episodio;
  • una acción de escena que da las cifras del contador, para un mensaje o una condición;
  • un widget para el panel: ayer, este mes y la comparación con el mes pasado y el año pasado.

Los datos llegan con uno o dos días de retraso: el contador con telelectura envía sus medidas al distribuidor, que las publica al día siguiente (a veces dos días después). No es un seguimiento en tiempo real.

Requisitos previos​

  • Gladys 5.1.0 o posterior.
  • Un contador de agua con telelectura (radio): sin telelectura, el área de cliente solo muestra un índice leído dos veces al año, y la integración no tiene nada diario que mostrarle.
  • Un área de cliente en línea activa en su distribuidor, con su correo y su contraseña. Compruebe primero que el sitio web muestra su consumo día a día: si el sitio no lo muestra, la integración tampoco lo verá.
  • Gladys debe poder salir a Internet (la integración lee el sitio web del distribuidor).

El nombre del distribuidor figura en su factura del agua. Si su agua viene de un servicio municipal, de Veolia o de otro distribuidor, esta integración no es para usted: consulte las demás integraciones de agua del store (Veolia, Agur…).

Configuración​

En Integraciones → Suez / Saur (eau) → Configuración:

CampoFunción
Distribuidor de aguaSuez o Saur.
Correo electrónicoEl de su área de cliente.
ContraseñaLa de su área de cliente. Gladys la guarda; nunca aparece en los registros.
Número de contadorOpcional. Déjelo vacío para seguir todos los contadores de la cuenta. Si no, el número de contador o de punto de suministro de la factura (se ignoran los espacios).
Consumo anormalEl umbral del disparador: el doble, el triple (por defecto) o cinco veces su consumo habitual, o solo las alertas del distribuidor.
Idioma de los textosIdioma de los nombres de funciones y de los mensajes (francés por defecto). Los nombres se fijan al añadir el contador: elija el idioma antes.

Guarde: la integración se conecta enseguida. El botón Conectar y leer ahora vuelve a leer cuando usted lo pida (como mucho una vez cada cuarto de hora) e indica lo que ha encontrado.

Después, en la pestaña Descubrir, añada el contador o los contadores propuestos. Al añadirlo, la integración envía a Gladys el historial ya leído: 13 meses de consumo día a día. Esto lleva unos minutos (Gladys limita el número de valores recibidos por minuto) y se hace en segundo plano.

El contador de agua​

Cada contador se convierte en un dispositivo «Contador de agua Suez 19ZZ123456» (o Saur). Su identificador en Gladys procede del punto de suministro que da el distribuidor, no del número de serie: si el distribuidor cambia su contador, el dispositivo, su historial y sus escenas se mantienen.

FunciónUnidadContenido
Índice del contadorm³El último índice conocido, fechado el día de su lectura.
Consumo diarioLUn valor por día, guardado en el historial el día consumido (a mediodía). Es la curva que debe mirar para seguir su consumo.
Consumo del mesm³El total del mes natural en curso, sobre los días ya publicados. El día 1 vuelve a cero a la espera de los primeros datos.
Consumo del añom³El total desde el 1 de enero.
Precio medio del agua (€/m³)€Solo Suez: el precio medio del m³ (cuota fija e impuestos incluidos) que Suez indica para su contrato o su municipio.
Alerta de fuga (Suez)—Solo Suez: 1 cuando Suez señala una fuga en su área de cliente, 0 si no.

Saur no publica ni precio ni alerta de fuga por esta vía: un contador Saur solo tiene las cuatro primeras funciones.

El seguimiento de energía de Gladys 5.2 solo trata la electricidad (el núcleo todavía rechaza un contrato de «agua»): el consumo de agua no entra en él, sigue siendo un sensor de volumen con su historial, como en las integraciones Veolia y Agur.

Widget​

El widget Consumo de agua (elija el contador en sus ajustes; si no, se toma el primero) muestra:

  • la fecha de los últimos datos publicados;
  • el consumo de ayer (o del último día conocido), en litros;
  • el consumo del mes en curso, en m³;
  • la diferencia, en porcentaje, con los mismos días del mes pasado y con el mismo mes del año pasado (naranja por encima de +20 %, verde cuando consume menos);
  • los últimos 14 días en barras;
  • el año en curso, el precio medio (Suez) y, si la hay, la alerta en curso.

La comparación se detiene en el último día conocido: el día 13 compara del 1 al 13 con del 1 al 13. Solo se muestra si se conoce al menos el 80 % del periodo de referencia.

Disparador de escena​

Consumo de agua anormal (abnormal_consumption) se dispara una vez por episodio, cuando aparece una de estas condiciones:

  • Alerta de fuga del distribuidor (leak_alert): Suez señala una fuga;
  • Alerta de sobreconsumo (overconsumption_alert): Suez señala un sobreconsumo;
  • Días muy por encima de lo habitual (unusual_consumption): los tres últimos días conocidos, seguidos, superan cada uno el umbral elegido (el triple por defecto) de su consumo habitual, y en al menos 100 litros. El consumo habitual es la mediana de los 28 días anteriores.

El episodio termina cuando ya no queda nada anormal; un nuevo episodio volverá a disparar. Un reinicio de Gladys no vuelve a disparar un episodio en curso.

Filtros: el contador, el motivo. Variables utilizables en la escena: reason (el motivo), provider (Suez o Saur), date (día de la lectura), liters (litros ese día), usual_liters (litros habituales por día).

¿Por qué tres días y no «agua que corre por la noche»? Suez y Saur solo publican una cifra por día a través de estas API: no se puede ver un caudal nocturno continuo. Una cisterna que pierde o una tubería rota se ve, en datos diarios, como varios días seguidos muy por encima de lo normal. Un solo día grande (llenar una piscina, regar) no dispara. La alerta de fuga de Suez la calcula la propia Suez con los datos más finos del contador.

Acción de escena​

Obtener el consumo de agua (get_water_summary): elija el contador; la acción devuelve al resto de la escena:

SalidaContenido
last_dateÚltimo día conocido (AAAA-MM-DD)
last_day_litersLitros ese día
month_m3Consumo del mes en curso (m³)
year_m3Consumo del año en curso (m³)
index_m3Índice del contador (m³)
previous_month_change_percentDiferencia con los mismos días del mes pasado
last_year_change_percentDiferencia con el mismo mes del año pasado (%)
abnormalVerdadero durante un episodio de consumo anormal

Un valor desconocido (por ejemplo, todavía sin historial para comparar) se deja vacío en lugar de ponerlo a cero.

Ejemplos de escenas​

  • Fuga sospechada → corte y mensaje. Disparador «Consumo de agua anormal», motivo «Alerta de fuga del distribuidor» o «Días muy por encima de lo habitual»; acciones: enviar «Fuga de agua sospechada: {{triggerEvent.data.liters}} L ayer en lugar de {{triggerEvent.data.usual_liters}} L habitualmente», y después cerrar la electroválvula de entrada de agua si dispone de una.
  • El resumen de la mañana. Disparador programado todos los días a las 8; acción «Obtener el consumo de agua»; mensaje: «Ayer: X L, este mes: Y m³ (Z % respecto al mes pasado)».
  • Casa vacía. Disparador programado cada mañana; acción «Obtener el consumo de agua»; condiciones: la casa está en modo ausente y last_day_liters supera 20 L; acción: mensaje «Ayer corrió agua aunque no había nadie».

Los valores fechados (consumo diario, índice del día) se guardan en el historial el día de la lectura: Gladys no dispara ninguna escena de «cambio de estado» con un valor fechado en el pasado. Para reaccionar al consumo, utilice el disparador y la acción de escena anteriores.

Actualización, cuotas e historial​

  • La integración lee al distribuidor tres veces al día (cada 8 horas) y lo vuelve a intentar dentro de la hora si el sitio no responde. El núcleo de Gladys no siempre consulta los dispositivos de las integraciones externas (Gladys#3198): es la integración la que se actualiza sola.
  • Cada lectura hace algunas peticiones por contador (conexión si hace falta, lista de contadores, días del mes, precio y alertas o índice). Ni Suez ni Saur publican una cuota: este ritmo es el de las integraciones equivalentes de Home Assistant (dos lecturas al día) y cuida sus servidores. El botón «leer ahora» está limitado a una vez cada cuarto de hora.
  • La sesión (la cookie de Suez, el token de Saur) se guarda en /data para evitar una conexión en cada lectura. Una contraseña rechazada no se vuelve a probar en bucle (podría bloquear su cuenta): corrija la configuración o pulse el botón.
  • En la primera lectura, la integración lee 13 meses de historial (para el total del año y la comparación con el año pasado), y después solo los últimos días en cada lectura (con algunos días de solapamiento: los distribuidores corrigen a veces sus últimas cifras). Los días leídos se guardan en /data (dos años como máximo).

Solución de problemas​

  • «rechaza el correo o la contraseña»: conéctese al sitio del distribuidor con los mismos datos. Si el sitio pide cambiar la contraseña o aceptar condiciones, hágalo primero y vuelva a guardar la configuración.
  • «no responde por ahora»: el sitio del distribuidor está en mantenimiento o caído (ocurre por la noche y los fines de semana). La integración lo vuelve a intentar sola dentro de la hora.
  • Ningún contador encontrado: su área de cliente no muestra ningún contador con telelectura, o el número configurado no corresponde a ningún contador (el mensaje da entonces los números de la cuenta).
  • «Sin valor reciente» en el consumo diario: el último día publicado tiene más de dos días. Es el retraso del distribuidor; compruébelo en su sitio.
  • Un pico de consumo no aparece enseguida: aparece al día siguiente o dos días después, cuando el distribuidor lo publica.
  • Registros: en caso de problema, ponga LOG_LEVEL=debug para ver cada lectura. Nunca se escribe en ellos ninguna contraseña, cookie ni token.

Limitaciones​

  • Datos diarios, con uno o dos días de retraso: sin tiempo real, sin consumo por horas, sin detección de fugas «nocturnas».
  • Precio medio y alerta de fuga: solo Suez. Las alertas de Suez se refieren al contrato: en una cuenta con varios contadores, se aplican a cada uno.
  • El consumo de agua no entra en el seguimiento de energía de Gladys 5.2 (solo electricidad).
  • El consumo diario, fechado el día consumido, no dispara escenas de «estado del dispositivo»: utilice el disparador y la acción de escena de la integración.
  • La integración lee los sitios de los distribuidores como lo hace su navegador, sin API oficial: un cambio del sitio puede romperla hasta una actualización.
  • Desarrollada sin cuenta (Developed without an account): las respuestas de los sitios proceden de las bibliotecas y de las pruebas de las integraciones de Home Assistant, no de una conexión real.

Créditos y avisos​

El protocolo de Suez procede de pySuezV2 (jb101010-2/pySuez, Apache-2.0), la biblioteca de la integración suez_water de Home Assistant (Apache-2.0). El de Saur procede de saur_client (cekage/Saur_fr_client, MIT) y de la integración EyeOnSaur (cekage/eyeonsaur-ha, MIT), cuyas respuestas de prueba sirven de fixtures. Gracias a sus autores.

Suez, Tout sur mon eau y Saur son marcas de sus propietarios. Esta integración independiente no está afiliada a Suez ni a Saur (not affiliated with Suez or Saur).

Parámetros de configuración​

Estos son los parámetros que Suez / Saur (eau) te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Su área de cliente de aguasectionNoUse el correo y la contraseña de su área de cliente en línea: Tout sur mon eau para Suez, Mon espace client para Saur. Su contador debe tener telelectura.
Distribuidor de aguaselectSíLa empresa que le factura el agua (figura en la factura).
Correo electrónicostringSí
ContraseñasecretSí
Número de contador (opcional)stringNoDéjelo vacío para seguir todos los contadores de la cuenta. Si no, el número de contador o de punto de suministro de la factura.
Consumo anormalselectNoTres días seguidos con este múltiplo de su consumo habitual generan una alerta, además de las alertas del distribuidor.
Idioma de los textosselectNoIdioma de los nombres de funciones (fijados al añadir el contador) y de los mensajes.

Cómo instalar Suez / Saur (eau) en Gladys​

  1. En Gladys, abre Integraciones: Suez / Saur (eau) 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-eau: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-eau.

Suez / Saur (eau) 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​

Suez / Saur (eau) 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 🙂