Zum Hauptinhalt springen

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

Suez / Saur (eau)-Integration für Gladys Assistant

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:

FeldRolle
WasserversorgerSuez oder Saur.
E-Mail-AdresseDie deines Kundenkontos.
PasswortDas deines Kundenkontos. Gladys bewahrt es auf; es erscheint nie in den Logs.
ZählernummerOptional. Leer lassen, um alle Zähler des Kontos zu verfolgen. Sonst die Zähler- oder Lieferstellennummer der Rechnung (Leerzeichen werden ignoriert).
Ungewöhnlicher VerbrauchDie Schwelle des Auslösers: das Doppelte, das Dreifache (Standard) oder das Fünffache deines üblichen Verbrauchs, oder nur die Alarme des Versorgers.
Sprache der TexteSprache 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.

FunktionEinheitInhalt
Zählerstandm³Der letzte bekannte Zählerstand, datiert auf den Tag seiner Ablesung.
TagesverbrauchLEin Wert pro Tag, im Verlauf am Verbrauchstag abgelegt (mittags). Das ist die Kurve, um deinen Verbrauch zu verfolgen.
Verbrauch diesen Monatm³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 Jahrm³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:

AusgabeInhalt
last_dateLetzter bekannter Tag (JJJJ-MM-TT)
last_day_litersLiter an diesem Tag
month_m3Verbrauch des laufenden Monats (m³)
year_m3Verbrauch des laufenden Jahres (m³)
index_m3Zählerstand (m³)
previous_month_change_percentAbweichung von denselben Tagen des Vormonats
last_year_change_percentAbweichung vom selben Monat des Vorjahres (%)
abnormalWahr 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_liters liegt ü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 /data aufbewahrt, 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 /data aufbewahrt (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.

EinstellungTypPflichtfeldBeschreibung
Dein Kundenkonto WassersectionNeinNutze 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.
WasserversorgerselectJaDas Unternehmen, das dir das Wasser berechnet (steht auf der Rechnung).
E-Mail-AdressestringJa
PasswortsecretJa
Zählernummer (optional)stringNeinLeer lassen, um alle Zähler des Kontos zu verfolgen. Sonst die Zähler- oder Lieferstellennummer der Rechnung.
Ungewöhnlicher VerbrauchselectNeinDrei Tage in Folge mit diesem Vielfachen deines üblichen Tagesverbrauchs lösen einen Alarm aus, zusätzlich zu den Alarmen des Versorgers.
Sprache der TexteselectNeinSprache der Funktionsnamen (beim Hinzufügen des Zählers festgelegt) und der Meldungen.

So installierst du Suez / Saur (eau) in Gladys​

  1. Öffne in Gladys Integrationen: Suez / Saur (eau) erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. 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).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. 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.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂