Suez / Saur (eau) Smart-Home-Integration, kostenlos und Open Source

Täglicher Wasserverbrauch der Suez- und Saur-Zähler, mit Leck- und Mehrverbrauchsalarm.
Ohne Kundenkonto entwickelt (Developed without an account: feedback welcome): Diese Integration wurde ohne echtes Suez- oder Saur-Konto geschrieben und getestet, auf Grundlage der freien Bibliotheken, die Home Assistant bereits nutzt. Wenn du sie ausprobierst, ist deine Rückmeldung im Gladys-Forum wertvoll, ob sie auf Anhieb funktioniert oder nicht.
Diese Integration ist weder mit Suez noch mit Saur verbunden oder von ihnen anerkannt (not affiliated with Suez or Saur).
Überblick
Verfolge in Gladys den Wasserverbrauch, den dein Zähler misst, so wie dein Wasserversorger ihn in deinem Online-Kundenkonto veröffentlicht:
- Suez, Kundenkonto „Tout sur mon eau“ (toutsurmoneau.fr);
- Saur, „Mon espace client“ (mon-espace.saurclient.fr).
Für jeden Zähler erhältst du in Gladys:
- den Verbrauch jedes Tages in Litern, im Verlauf an dem Tag abgelegt, an dem das Wasser verbraucht wurde;
- den Zählerstand in m³;
- den Verbrauch des laufenden Monats und Jahres in m³;
- bei Suez den mittleren Wasserpreis (€/m³) und den Leckalarm von Suez;
- einen Szenen-Auslöser „Ungewöhnlicher Wasserverbrauch“, einmal pro Episode;
- eine Szenen-Aktion, die die Zahlen des Zählers liefert, für eine Nachricht oder eine Bedingung;
- ein Widget für das Dashboard: gestern, dieser Monat und der Vergleich mit Vormonat und Vorjahr.
Die Daten kommen ein bis zwei Tage verzögert: Der fernausgelesene Zähler schickt seine Messwerte an den Versorger, der sie am nächsten Tag veröffentlicht (manchmal am übernächsten). Das ist keine Echtzeit-Überwachung.
Voraussetzungen
- Gladys 5.1.0 oder neuer.
- Ein fernausgelesener Wasserzähler (Funk): Ohne Fernauslesung zeigt das Kundenkonto nur einen Zählerstand, der zweimal im Jahr abgelesen wird, und die Integration hat dir nichts Tägliches zu zeigen.
- Ein aktives Online-Kundenkonto bei deinem Versorger, mit E-Mail-Adresse und Passwort. Prüfe zuerst, dass die Website deinen Verbrauch Tag für Tag anzeigt: Wenn die Website ihn nicht zeigt, sieht ihn auch die Integration nicht.
- Gladys muss ins Internet kommen (die Integration liest die Website des Versorgers).
Der Name des Versorgers steht auf deiner Wasserrechnung. Wenn dein Wasser von einem kommunalen Betrieb, von Veolia oder einem anderen Versorger kommt, ist diese Integration nichts für dich: Schau dir die anderen Wasser-Integrationen im Store an (Veolia, Agur…).
Konfiguration
Unter Integrationen → Suez / Saur (eau) → Konfiguration:
| Feld | Rolle |
|---|---|
| Wasserversorger | Suez oder Saur. |
| E-Mail-Adresse | Die deines Kundenkontos. |
| Passwort | Das deines Kundenkontos. Gladys bewahrt es auf; es erscheint nie in den Logs. |
| Zählernummer | Optional. Leer lassen, um alle Zähler des Kontos zu verfolgen. Sonst die Zähler- oder Lieferstellennummer der Rechnung (Leerzeichen werden ignoriert). |
| Ungewöhnlicher Verbrauch | Die Schwelle des Auslösers: das Doppelte, das Dreifache (Standard) oder das Fünffache deines üblichen Verbrauchs, oder nur die Alarme des Versorgers. |
| Sprache der Texte | Sprache der Funktionsnamen und der Meldungen (standardmäßig Französisch). Die Namen werden beim Hinzufügen des Zählers festgelegt: wähle die Sprache vorher. |
Speichere: Die Integration verbindet sich sofort. Der Knopf Jetzt anmelden und ablesen liest auf Wunsch erneut (höchstens einmal pro Viertelstunde) und sagt, was er gefunden hat.
Danach fügst du im Tab Entdecken den oder die angebotenen Zähler hinzu. Beim Hinzufügen schickt die Integration Gladys den bereits gelesenen Verlauf: 13 Monate Tagesverbrauch. Das dauert ein paar Minuten (Gladys begrenzt die Zahl der Werte pro Minute) und läuft im Hintergrund.
Der Wasserzähler
Jeder Zähler wird ein Gerät „Wasserzähler Suez 19ZZ123456“ (oder Saur). Seine Kennung in Gladys kommt von der Lieferstelle des Versorgers, nicht von der Seriennummer: Wenn der Versorger deinen Zähler tauscht, bleiben das Gerät, sein Verlauf und deine Szenen erhalten.
| Funktion | Einheit | Inhalt |
|---|---|---|
| Zählerstand | m³ | Der letzte bekannte Zählerstand, datiert auf den Tag seiner Ablesung. |
| Tagesverbrauch | L | Ein Wert pro Tag, im Verlauf am Verbrauchstag abgelegt (mittags). Das ist die Kurve, um deinen Verbrauch zu verfolgen. |
| Verbrauch diesen Monat | m³ | Die Summe des laufenden Kalendermonats über die bereits veröffentlichten Tage. Am 1. beginnt sie wieder bei null, bis die ersten Daten kommen. |
| Verbrauch dieses Jahr | m³ | Die Summe seit dem 1. Januar. |
| Mittlerer Wasserpreis (€/m³) | € | Nur Suez: der mittlere Preis pro m³ (Grundgebühr und Steuern inklusive), den Suez für deinen Vertrag oder deine Gemeinde angibt. |
| Leckalarm (Suez) | — | Nur Suez: 1, wenn Suez in deinem Kundenkonto ein Leck meldet, sonst 0. |
Saur veröffentlicht auf diesem Weg weder Preis noch Leckalarm: Ein Saur-Zähler hat nur die ersten vier Funktionen.
Das Energie-Monitoring von Gladys 5.2 behandelt nur Strom (der Kern lehnt einen „Wasser“-Vertrag noch ab): Der Wasserverbrauch geht dort nicht ein, er bleibt ein Volumensensor mit Verlauf, wie in den Integrationen Veolia und Agur.
Widget
Das Widget Wasserverbrauch (wähle den Zähler in seinen Einstellungen, sonst wird der erste Zähler genommen) zeigt:
- das Datum der zuletzt veröffentlichten Daten;
- den Verbrauch von gestern (oder vom letzten bekannten Tag) in Litern;
- den Verbrauch des laufenden Monats in m³;
- die Abweichung in Prozent von denselben Tagen des Vormonats und vom selben Monat des Vorjahres (orange über +20 %, grün, wenn du weniger verbrauchst);
- die letzten 14 Tage als Balken;
- das laufende Jahr, den mittleren Preis (Suez) und, falls vorhanden, den laufenden Alarm.
Der Vergleich endet am letzten bekannten Tag: Am 13. vergleicht er den 1. bis 13. mit dem 1. bis 13. Er erscheint nur, wenn mindestens 80 % des Vergleichszeitraums bekannt sind.
Szenen-Auslöser
Ungewöhnlicher Wasserverbrauch (abnormal_consumption) löst einmal pro Episode aus, wenn
eine dieser Bedingungen eintritt:
- Leckalarm des Versorgers (
leak_alert): Suez meldet ein Leck; - Mehrverbrauchsalarm (
overconsumption_alert): Suez meldet einen Mehrverbrauch; - Tage weit über dem Üblichen (
unusual_consumption): Die letzten drei bekannten Tage in Folge liegen jeweils über der gewählten Schwelle (standardmäßig das Dreifache) deines üblichen Verbrauchs, und um mindestens 100 Liter. Der übliche Verbrauch ist der Median der 28 Tage davor.
Die Episode endet, wenn nichts Ungewöhnliches mehr bleibt; eine neue Episode löst erneut aus. Ein Neustart von Gladys löst eine laufende Episode nicht noch einmal aus.
Filter: der Zähler, der Grund. Variablen für die Szene: reason (der Grund), provider (Suez
oder Saur), date (Tag der Ablesung), liters (Liter an diesem Tag), usual_liters (übliche
Liter pro Tag).
Warum drei Tage und nicht „nachts laufendes Wasser“? Suez und Saur veröffentlichen über diese APIs nur eine Zahl pro Tag: Ein durchgehender nächtlicher Durchfluss ist nicht zu sehen. Eine undichte Spülung oder ein geplatztes Rohr zeigt sich in Tagesdaten als mehrere Tage in Folge weit über dem Normalen. Ein einzelner großer Tag (Pool füllen, gießen) löst nicht aus. Den Leckalarm von Suez berechnet Suez selbst aus den feineren Daten des Zählers.
Szenen-Aktion
Wasserverbrauch abrufen (get_water_summary): Wähle den Zähler; die Aktion liefert dem Rest
der Szene:
| Ausgabe | Inhalt |
|---|---|
last_date | Letzter bekannter Tag (JJJJ-MM-TT) |
last_day_liters | Liter an diesem Tag |
month_m3 | Verbrauch des laufenden Monats (m³) |
year_m3 | Verbrauch des laufenden Jahres (m³) |
index_m3 | Zählerstand (m³) |
previous_month_change_percent | Abweichung von denselben Tagen des Vormonats |
last_year_change_percent | Abweichung vom selben Monat des Vorjahres (%) |
abnormal | Wahr während einer ungewöhnlichen Episode |
Ein unbekannter Wert (zum Beispiel noch kein Verlauf zum Vergleichen) bleibt leer, statt auf null gesetzt zu werden.
Szenen-Beispiele
- Leck vermutet → Absperren und Nachricht. Auslöser „Ungewöhnlicher Wasserverbrauch“, Grund „Leckalarm des Versorgers“ oder „Tage weit über dem Üblichen“; Aktionen: „Wasserleck vermutet: {{triggerEvent.data.liters}} L gestern statt üblicherweise {{triggerEvent.data.usual_liters}} L“ senden, dann das Magnetventil am Wassereingang schließen, falls du eines hast.
- Der Morgenbericht. Zeitplan-Auslöser jeden Tag um 8 Uhr; Aktion „Wasserverbrauch abrufen“; Nachricht: „Gestern: X L, diesen Monat: Y m³ (Z % ggü. Vormonat)“.
- Leeres Haus. Zeitplan-Auslöser jeden Morgen; Aktion „Wasserverbrauch abrufen“; Bedingungen:
das Haus ist im Abwesenheitsmodus und
last_day_litersliegt über 20 L; Aktion: Nachricht „Gestern ist Wasser geflossen, obwohl niemand da war“.
Die datierten Werte (Tagesverbrauch, Zählerstand des Tages) werden im Verlauf am Tag der Ablesung abgelegt: Gladys löst auf einen in der Vergangenheit datierten Wert keine Szene „Zustand geändert“ aus. Um auf den Verbrauch zu reagieren, nutze den Auslöser und die Szenen-Aktion oben.
Aktualisierung, Kontingente und Verlauf
- Die Integration liest den Versorger dreimal am Tag (alle 8 Stunden) und versucht es innerhalb einer Stunde erneut, wenn die Website nicht antwortet. Der Gladys-Kern fragt die Geräte externer Integrationen nicht immer ab (Gladys#3198): Die Integration aktualisiert sich selbst.
- Jede Ablesung macht ein paar Anfragen pro Zähler (Anmeldung wenn nötig, Zählerliste, Tage des Monats, Preis und Alarme oder Zählerstand). Weder Suez noch Saur veröffentlichen ein Kontingent: Dieser Rhythmus entspricht den gleichwertigen Home-Assistant-Integrationen (zwei Ablesungen am Tag) und schont ihre Server. Der Knopf „jetzt ablesen“ ist auf einmal pro Viertelstunde begrenzt.
- Die Sitzung (das Suez-Cookie, das Saur-Token) wird in
/dataaufbewahrt, um nicht bei jeder Ablesung neu anzumelden. Ein abgelehntes Passwort wird nicht in Schleife erneut versucht (das könnte dein Konto sperren): Korrigiere die Konfiguration oder drücke den Knopf. - Bei der ersten Ablesung liest die Integration 13 Monate Verlauf (für die Jahressumme und den
Vergleich mit dem Vorjahr), danach bei jeder Ablesung nur die letzten Tage (mit ein paar Tagen
Überlappung: Die Versorger korrigieren manchmal ihre letzten Zahlen). Die gelesenen Tage werden
in
/dataaufbewahrt (höchstens zwei Jahre).
Fehlerbehebung
- „lehnt E-Mail-Adresse oder Passwort ab“: Melde dich mit denselben Zugangsdaten auf der Website des Versorgers an. Wenn die Website verlangt, das Passwort zu ändern oder Bedingungen zu akzeptieren, tu das zuerst und speichere dann die Konfiguration erneut.
- „gerade nicht erreichbar“: Die Website des Versorgers ist in Wartung oder ausgefallen (das kommt abends und am Wochenende vor). Die Integration versucht es innerhalb einer Stunde von selbst erneut.
- Kein Zähler gefunden: Dein Kundenkonto listet keinen fernausgelesenen Zähler, oder die eingestellte Nummer passt zu keinem Zähler (die Meldung nennt dann die Nummern des Kontos).
- „Kein aktueller Wert“ beim Tagesverbrauch: Der zuletzt veröffentlichte Tag ist älter als zwei Tage. Das ist die Verzögerung des Versorgers; prüfe es auf seiner Website.
- Eine Verbrauchsspitze erscheint nicht sofort: Die Spitze erscheint am nächsten oder übernächsten Tag, wenn der Versorger sie veröffentlicht.
- Logs: Setze bei Problemen
LOG_LEVEL=debug, um jede Ablesung zu sehen. Kein Passwort, Cookie oder Token wird dort je geschrieben.
Grenzen
- Tägliche Daten, ein bis zwei Tage verzögert: keine Echtzeit, kein Stundenverbrauch, keine „nächtliche“ Leckerkennung.
- Mittlerer Preis und Leckalarm: nur Suez. Die Alarme von Suez betreffen den Vertrag: Bei einem Konto mit mehreren Zählern werden sie auf jeden übertragen.
- Der Wasserverbrauch geht nicht in das Energie-Monitoring von Gladys 5.2 ein (nur Strom).
- Der Tagesverbrauch, datiert auf den Verbrauchstag, löst keine Szene „Gerätezustand“ aus: Nutze den Auslöser und die Szenen-Aktion der Integration.
- Die Integration liest die Websites der Versorger wie dein Browser, ohne offizielle API: Eine Änderung der Website kann sie bis zu einem Update stören.
- Ohne Konto entwickelt (Developed without an account): Die Antworten der Websites stammen aus den Bibliotheken und Tests der Home-Assistant-Integrationen, nicht aus einer echten Anmeldung.
Danksagung und Hinweise
Das Suez-Protokoll stammt aus pySuezV2 (jb101010-2/pySuez, Apache-2.0), der Bibliothek der
Home-Assistant-Integration suez_water (Apache-2.0). Das von Saur stammt aus saur_client
(cekage/Saur_fr_client, MIT) und der Integration EyeOnSaur (cekage/eyeonsaur-ha, MIT), deren
Testantworten als Fixtures dienen. Danke an ihre Autoren.
Suez, Tout sur mon eau und Saur sind Marken ihrer Inhaber. Diese unabhängige Integration ist weder mit Suez noch mit Saur verbunden (not affiliated with Suez or Saur).
Konfigurationseinstellungen
Diese Einstellungen fragt Suez / Saur (eau) in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Dein Kundenkonto Wasser | section | Nein | Nutze E-Mail-Adresse und Passwort deines Online-Kundenkontos: Tout sur mon eau für Suez, Mon espace client für Saur. Dein Zähler muss fernausgelesen werden. |
| Wasserversorger | select | Ja | Das Unternehmen, das dir das Wasser berechnet (steht auf der Rechnung). |
| E-Mail-Adresse | string | Ja | |
| Passwort | secret | Ja | |
| Zählernummer (optional) | string | Nein | Leer lassen, um alle Zähler des Kontos zu verfolgen. Sonst die Zähler- oder Lieferstellennummer der Rechnung. |
| Ungewöhnlicher Verbrauch | select | Nein | Drei Tage in Folge mit diesem Vielfachen deines üblichen Tagesverbrauchs lösen einen Alarm aus, zusätzlich zu den Alarmen des Versorgers. |
| Sprache der Texte | select | Nein | Sprache der Funktionsnamen (beim Hinzufügen des Zählers festgelegt) und der Meldungen. |
So installierst du Suez / Saur (eau) in Gladys
- Öffne in Gladys Integrationen: Suez / Saur (eau) erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-eau:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-eau.
Suez / Saur (eau) benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
Suez / Saur (eau) ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation