Trockenlaufschutz für die Gartenpumpe mit Senvolon Füllstandmesser & Home Assistant

Trockenlaufschutz für die Gartenpumpe mit Senvolon Füllstandmesser & Home Assistant

Zisterne per LiDAR-Sensor in Home Assistant absichern

Aktualisiert am 24.09.2026: an Teil 3 der Zisternen-Reihe angeglichen. Die Automationen schalten die Pumpe jetzt direkt über ihre Entity-ID und lassen sie bei einem Sensorausfall sicher aus.

Eine Pumpe, die nicht weiß, wann sie aufhören soll

Eine Gartenpumpe ohne Trockenlaufschutz ist eine Zeitbombe. Läuft sie ohne Wasser, überhitzt die Gleitringdichtung in Sekunden. Das Lager folgt. Im besten Fall ein teurer Reparaturfall, im schlechtesten Fall ein Totalschaden und ein vertrocknetes Beet.

Die vermeintlich einfache Lösung ist ein einfacher Schwimmschalter. Das funktioniert solange, bis der Schwimmer sich verhakt, der Schalter korrodiert oder man schlicht vergisst, dass die Zisterne nach einem trockenen August nur noch zu fünf Prozent gefüllt ist.

Auch ein Trockenlaufschutz mit Druckmessung, wie ihn viele Hauswasserwerke eingebaut haben, reagiert erst, wenn der Druck in der Leitung einbricht, also wenn die Pumpe bereits Luft zieht. Ein Füllstandssensor schaltet vorher ab, solange noch Wasser in der Zisterne steht.

Eine automatische Pumpensteuerung auf Basis eines Füllstandssensors klingt zunächst unkompliziert: Sensor installieren, Werte in Home Assistant einbinden, Schwellwerte definieren, fertig. In der Praxis entscheidet jedoch nicht die Automation über die Zuverlässigkeit des Systems, sondern die Qualität und Eignung der eingesetzten Sensorik.

● Detail eins: Günstige Ultraschallsensoren verlieren in feuchten Umgebungen an Messgenauigkeit. Nach ein bis zwei Jahren Betrieb in einer Zisterne zeigen sich Kondensatschäden, veränderte Resonanzfrequenzen und nachlassende Reflexionsempfindlichkeit. Dazu kommt ein physikalisches Grundproblem: Ultraschall misst Schallgeschwindigkeit, und die ist temperaturabhängig. Eine Erdkeller-Zisterne schwankt zwischen 5 °C im Winter und 15 °C im Sommer. Ohne Temperaturkompensation entstehen systematische Messfehler von mehreren Prozentpunkten. Ein Trockenlaufschutz auf Basis solcher Werte ist unzuverlässig.

● Detail zwei: Viele preiswerte Sensoren funken über Herstellerserver. Fällt der Cloud-Dienst aus, liefert Home Assistant `unavailable`. Eine naive Automation tut dann nichts. Die Pumpe läuft weiter.

● Detail drei: Ein Schwellenwert ohne Hysterese lässt die Pumpe bei bewegter Wasseroberfläche im Kurzrhythmus schalten. Das ist mechanischer Stress, der die Pumpe schneller kaputt macht als ein einzelner Trockenlauf-Vorfall.

Dieser Guide zeigt, wie man das richtig löst: mit einem LiDAR-Sensor, der lokal per MQTT kommuniziert, mit einer Automation, die Sensor-Ausfall explizit als Fehlerzustand behandelt, und mit einer Hysterese-Logik, die Pump-Cycling verhindert. Voraussetzung dafür ist eine zuverlässige Messung des Wasserstands. Alle Möglichkeiten dazu finden Sie in unserem Überblick: Füllstand der Zisterne messen und überwachen

Hardware & Stückliste (BOM)

Pos.

Komponente

Zweck / Hinweis

1

Senvolon Füllstandsmesser LD WLAN

LiDAR-Präzision, temperaturunabhängig, lokales MQTT.

2

optional:
Senvolon Füllstandsmesser LD Bundle: LiDAR-Sensor mit externem Antennenanschluss & externer 2,4 GHz WLAN-Antenne

Pflicht bei vergrabenen Betonzisternen für stabilen Empfang.

3

WLAN-Schaltaktor (z. B. Shelly)

Schaltet die Pumpe basierend auf den Sensorwerten.

4

Home Assistant Hub

Die Schaltzentrale (Raspberry Pi, HA Green o.ä.).

5

Wasserwaage

Essenziell für die exakt waagerechte Sensormontage.

 

 

Die technische Umsetzung


Du schaust lieber Videos als zu lesen? In diesem Youtube Video werden die Schritte 1 bis 3 erklärt.

Installationsvideo Füllstandmesser


 

Schritt 1: Sensor montieren

Bevor Software angefasst wird, muss die Montage sitzen. Fehler hier sind später schwer zu debuggen, und ein schräg montierter Sensor produziert systematische Messfehler, die sich nicht weg kalibrieren lassen.

 

● Montagepunkt vorbereiten: Nutzen Sie eine Winkelkonsole oder eine Querstrebe, die stabil im Schachtzugang sitzt. Der Sensor muss waagerecht und gerade über der Wasseroberfläche hängen. Wasserwaage anlegen. Schon eine leichte Schrägstellung kann das Messergebnis verfälschen. Der Sensor misst dann eine längere Strecke als tatsächlich nötig, wodurch ein dauerhafter Messfehler entsteht.

● Mindestabstand zur Wasseroberfläche: 10 cm absolut. Bei klarem Regenwasser mindestens 20 cm einplanen. Klares Wasser transmittiert Licht teilweise, statt es vollständig zu reflektieren, was Mehrfachreflexionen wahrscheinlicher macht. Wer zu nah montiert, bekommt keine validen Messwerte. Der Sensorkopf außerhalb des Gehäuses lässt sich um 180° drehen (zwei Schrauben lösen, auf der anderen Seite befestigen), falls die Einbausituation das erfordert.

● WLAN-Check vor der Endmontage: Bevor der Sensor fest verbaut wird, Verbindung herstellen und den RSSI-Wert im Sensor-Webinterface auslesen. Unter -70 dBm gelten Verbindungsabbrüche als wahrscheinlich. Ein nachträglicher Antennen-Umbau ist aufwändig. Deshalb: erst messen, dann abdichten.

● Lichtkegel-Check vor der Endmontage: Der ToF-Sensor hat keinen punktförmigen Strahl. Der Lichtkegel weitet sich mit zunehmender Distanz auf: bei 1 m Abstand beträgt der Durchmesser 6 cm, bei 2 m bereits 12 cm, bei 6 m 36 cm. Alles, was in diesen Kegel ragt, Rohre, Schwimmkörper, Befüllungsschläuche, Tauchleitungen, wird mitgemessen und verfälscht das Ergebnis. Sichtlinie vor der Endmontage prüfen und Hindernisse konsequent aus dem Kegel entfernen.

● Erdtank mit Beton- oder Stahldeckel: Ein entsprechender Deckel dämpft WLAN-Signale erheblich. Das RP-SMA-Antennen-Bundle ist für dieses Szenario keine Spielerei. Das Antennenkabel durch den Zisternenzugang nach oben führen, Antenne außen montieren.

 

Schritt 2: Sensor ins Heimnetz einbinden

Nach dem Einschalten öffnet der Sensor einen eigenen Access Point.

  1. Mit dem WLAN „Level Sensor-[ID]" verbinden (Passwort: „12345678“). Auf dem Smartphone mobile Daten vorher deaktivieren.
  2. Im Browser http://192.168.4.1/wifi aufrufen.
  3. SSID auswählen und Passwort des Heimnetzes eintragen, Hostnamen vergeben (z. B. „zisterne“), speichern.
  4. Der Sensor verbindet sich ins Heimnetz. Die zugewiesene IP wird nach erfolgreicher Verbindung unten links angezeigt.
  5. Sensor-Webinterface aufrufen: http://[IP-Adresse]. Kein App-Download, keine Plattform-Registrierung.

 

Fallback: Verliert der Sensor die WLAN-Verbindung, baut er automatisch seinen eigenen Access Point wieder auf und ist immer unter 192.168.4.1 erreichbar. Der Sensor verschwindet nicht ohne Diagnosemöglichkeit.

Abbildung 1

 

Schritt 3: Tankparameter im Webinterface konfigurieren

Alle Kerneigenschaften des Sensors werden über das browserbasierte Frontend konfiguriert. Das ist der primäre Konfigurationsweg. Im Browser http://[IP-Adresse] aufrufen, dann Tank auswählen:

 

● Geometrie: Passende Form wählen (Quader, vertikaler Zylinder, horizontaler Zylinder, Kugel). Für individuelle Behälterformen steht die Option einer Ausliterungstabelle oder eine freie Formel-Engine zur Verfügung.

● Distanz zur Oberfläche: Abstand vom Sensor bis zur Wasseroberfläche bei Vollfüllung in cm. Bei klarem Wasser mindestens 20 eintragen. Diesen Wert mit einem Zollstock messen, nicht schätzen.

● Distanz zum Boden: Abstand vom Sensor bis zum Tankboden in cm.

● Minimum: Alarmschwelle Minimum, z. B. 10 für 10 %. Das ist die Trockenlaufschutz-Schwelle.

● HYST min: Hysterese in Prozentpunkten, z. B. 5. Der Alarm erlischt erst, wenn der Füllstand wieder auf 15 % gestiegen ist. Verhindert das Flattern bei grenzwertiger Füllung.

 

Anschließend Konfiguration > MQTT:

● Broker IP: IP-Adresse des Home Assistant Servers

● Port: 1883

● Benutzername: z.B. mqtt_user

● Passwort: entsprechend

● Sensor Name: zisterne (bestimmt alle MQTT-Topics)

Speichern. Der Sensor verbindet sich danach mit dem Broker.

 

Schritt 4: Mosquitto MQTT Broker in Home Assistant installieren, sofern nicht vorhanden

  1. Gehe zu Einstellungen > Add-ons > Add-on Store.
  2. Suche nach "Mosquitto Broker", klicke auf Installieren und dann auf Starten.
  3. Aktiviere "Beim Start ausführen".
  4. Lege einen dedizierten MQTT-Benutzer an: Einstellungen > Personen > Benutzer > Benutzer hinzufügen.
    1. Name und Benutzername: mqtt_user
    2. Vergib ein sicheres Passwort und aktiviere "Nur lokaler Benutzer".

Nachdem die Einrichtung abgeschlossen ist, erscheint der Füllstandssensor in der Übersicht unter "Geräte & Dienste". Dort werden Ihnen unmittelbar die aktuellen Messwerte präsentiert. Besonders hilfreich ist die "Alert"-Entität: Diese leitet ihren Status automatisiert aus den von Ihnen definierten MIN- und HYST_MIN-Parametern ab. Eine ausführliche Anleitung zur Einbindung inklusive manueller Konfiguration finden Sie hier: Füllstandsensor per MQTT in Home Assistant integrieren.

 

Abbildung 2

Schritt 5: Automation: Pumpe bei Trockenlaufgefahr abschalten

Kernstück der Automation ist die „Alert“-Entität, die ihren Zustand basierend auf den von Ihnen konfigurierten MIN- und HYST_MIN-Werten berechnet. Sobald diese Entität den Status „MIN“ ausgibt, schaltet das System die Pumpe sofort ab und sendet eine Benachrichtigung an Ihr Smartphone sowie an das Home Assistant Dashboard.

alias: Zisterne fast leer
description: >
  Schaltet die Gartenpumpe ab, wenn der Füllstand der Zisterne unter den
  konfigurierten Schwellenwert fällt oder der Sensor nicht erreichbar ist.
  Verhindert Trockenlauf.
triggers:
  - trigger: state
    entity_id:
      - sensor.level_sensor_alert
    to:
      - MIN
      - unavailable
      - unknown
conditions: []
actions:
  - variables:
      meldung: >
        {% if is_state('sensor.level_sensor_alert', 'MIN') %}Zisterne bei
        {{ states('sensor.level_sensor_level') | int(0) }} %.{% else %}Füllstandsensor
        nicht erreichbar.{% endif %} Pumpe wurde automatisch abgeschaltet.
  - action: switch.turn_off
    target:
      entity_id: switch.gartenpumpe
  - action: persistent_notification.create
    data:
      title: ⚠️ Trockenlaufschutz ausgelöst
      message: "{{ meldung }}"
      notification_id: trockenlaufschutz
  - action: notify.mobile_app_ihr_smartphone
    data:
      title: ⚠️ Trockenlaufschutz ausgelöst
      message: "{{ meldung }}"
mode: single

switch.gartenpumpe durch die Entity-ID Ihrer Steckdose ersetzen (Entwicklerwerkzeuge → Zustände → nach switch. filtern), notify.mobile_app_ihr_smartphone durch Ihren Notify-Dienst.

Abbildung 3

 

Schritt 6: Automation für die Reaktivierung der Pumpe

Damit der Betrieb nach einer Trockenlauf-Abschaltung wieder aufgenommen werden kann, nutzt das System erneut die „Alert“-Entität als zentrales Steuerelement. Die Logik basiert hierbei auf den von Ihnen festgelegten MIN- und HYST_MIN-Parametern.

Der Status „MIN“ bleibt so lange aktiv, bis der Füllstand den durch HYST_MIN definierten Schwellenwert überschreitet. Diese Hysterese stellt sicher, dass die Pumpe nicht durch minimale Wellenbewegungen an der Wasseroberfläche verfrüht oder in zu kurzen Intervallen ein- und ausgeschaltet wird, was die Hardware schont.

alias: Zisternenpumpe kann wieder eingeschaltet werden
description: >
  Schaltet die Pumpe wieder ein und meldet es, wenn der Füllstand der Zisterne
  wieder über den konfigurierten Schwellenwert steigt. Bei einem Sensorausfall
  bleibt die Pumpe aus.
triggers:
  - trigger: state
    entity_id:
      - sensor.level_sensor_alert
conditions:
  - condition: template
    value_template: >
      {{ states('sensor.level_sensor_alert')
         not in ['MIN', 'MAX', 'unavailable', 'unknown'] }}
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.gartenpumpe
  - action: persistent_notification.create
    data:
      title: ✅ Trockenlaufschutz aufgehoben
      message: >
        Zisterne wieder bei {{ states('sensor.level_sensor_level') | int(0) }} %.
        Pumpe wurde automatisch eingeschaltet.
      notification_id: trockenlaufschutz
  - action: notify.mobile_app_ihr_smartphone
    data:
      title: ✅ Trockenlaufschutz aufgehoben
      message: >
        Zisterne wieder bei {{ states('sensor.level_sensor_level') | int(0) }} %.
        Pumpe wurde automatisch eingeschaltet.
mode: single

switch.gartenpumpe durch die Entity-ID Ihrer Steckdose ersetzen (Entwicklerwerkzeuge → Zustände → nach switch. filtern), notify.mobile_app_ihr_smartphone durch Ihren Notify-Dienst.

Falls Sie eine präzisere Steuerung bevorzugen, lässt sich die Automatik so anpassen, dass die Pumpe nicht eigenständig anläuft, sondern lediglich eine Benachrichtigung erfolgt. Die manuelle Reaktivierung der Bewässerung kann anschließend bequem über das im nächsten Abschnitt vorgestellte Dashboard durchgeführt werden.

 

Schritt 7: Dashboard

Dieses Dashboard bietet eine zentrale Kontrolleinheit: Es bildet nicht nur den aktuellen Füllstand und den Status der Pumpe inklusive Steuermöglichkeit ab, sondern integriert auch den kommenden Wetterbericht sowie relevante WLAN-Verbindungsparameter.


views:
  - type: sections
    max_columns: 4
    title: Zisterne
    path: zisterne
    icon: mdi:watering-can
    sections:
      - type: grid
        cards:
          - type: heading
            icon: mdi:car-coolant-level
            heading: Füllstand
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
          - type: gauge
            entity: sensor.level_sensor_level
            name: Füllstand
            needle: true
            segments:
              - from: 0
                color: '#EA4335'
              - from: 10
                color: yellow
              - from: 15
                color: '#34A853'
              - from: 85
                color: yellow
              - from: 90
                color: '#EA4335'
            unit: '%'
          - show_name: true
            show_icon: true
            type: button
            icon: mdi:pump
            show_state: true
            name: Wasserpumpe
            icon_height: 50px
            entity: switch.gartenpumpe
          - type: tile
            entity: sensor.level_sensor_fluid
            grid_options:
              rows: 1
          - type: vertical-stack
            cards:
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: MIN
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Alarm-Status:'
                  icon: mdi:water-minus
                  color: red
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: MAX
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Alarm-Status:'
                  icon: mdi:water-plus
                  color: red
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: ''
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Alarm-Status: OK'
                  icon: mdi:water-check
                  color: green
            grid_options:
              columns: 6
              rows: auto
          - type: history-graph
            entities:
              - entity: sensor.level_sensor_level
            logarithmic_scale: false
          - type: heading
            icon: mdi:weather-lightning-rainy
            heading: Wettervorhersage
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
          - show_current: false
            show_forecast: true
            type: weather-forecast
            entity: weather.forecast_home
            forecast_type: daily
            forecast_slots: 5
            secondary_info_attribute: precipitation_unit
            round_temperature: true
            name: Wettervorhersage
          - type: heading
            icon: mdi:wifi
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
            heading: WLAN Verbindung
          - type: tile
            entity: sensor.level_sensor_ip
          - type: tile
            entity: sensor.level_sensor_rssi
    cards: []
Anwendungsbeispiel Regenwasserzisterne

Abbildung 4

 

Physikalische Grenzen und Fallstricke

● Mindestabstand: Ist eine harte physikalische Grenze. Unter 10 cm zur Wasseroberfläche liefert der Sensor keine validen Werte. Bei klarem Regenwasser sind 20 cm der sichere Wert.

● Lichtkegel-Durchmesser: Wächst mit der Tiefe. Bei 2 m Abstand beträgt der Kegeldurchmesser 12 cm, bei 6 m sind es 36 cm. Rohre, Schwimmkörper, Überlaufventile und Tauchleitungen, die in diesen Kegel ragen, werden mit gemessen. Sensorposition entsprechend planen.

● Waagerechte Ausrichtung: Schräge Montage verlängert den Lichtweg und ändert den Reflexionswinkel, was systematische Messfehler ergibt. Die Firmware-Kalibrierungstabelle kann dies nur abmildern, nicht ersetzen.

● Nicht für brennbare Flüssigkeiten: Kein Einsatz für Heizöl, Diesel oder Benzin.

● Nur für drucklose Behälter: Druckbehälter, Warmwasserspeicher unter Druck und pneumatische Tanks sind kein valider Anwendungsfall.

 

Troubleshooting: Die häufigsten Symptome

 

Symptom

Wahrscheinliche Ursache

Fix

Sensor zeigt unavailable in HA

WLAN-Verbindung unterbrochen oder RSSI zu schwach

RSSI im Sensor-Webinterface prüfen. Unter -70 dBm: externe Antenne nachrüsten. Fallback-AP Level Sensor erscheint wenn WLAN-Verbindung verloren ist.

Messwerte springen ±10 cm

Objekt im Lichtkegel, unruhige Wasseroberfläche

Taschenlampen-Test: Sichtlinie prüfen. Median-Fenster im Webinterface vergrößern. READ_INTERVAL erhöhen.

Automation schaltet Pumpe nicht ab

Entity-IDs stimmen nicht überein

Entwicklerwerkzeuge > Zustände: korrekte Entity-ID der Steckdose verifizieren und in beiden Automationen eintragen. Zum Testen die Automation unter Einstellungen > Automationen & Szenen über „Ausführen“ starten.

Pumpe schaltet im Kurzrhythmus

Hysterese nicht konfiguriert

MINI 10 und HYST_MIN 5 im Sensor setzen. Die Reaktivierung in Schritt 6 schaltet erst wieder ein, wenn der MIN-Alarm erloschen ist.

HA erkennt Sensor nicht nach MQTT-Setup

MQTT Discovery deaktiviert

Einstellungen Geräte & Dienste > MQTT > Konfigurieren > Discovery aktiviert? prüfen.

Sensor zeigt dauerhaft maximale Distanz

Lichtkegel trifft Tankwand statt Wasseroberfläche

Sensor zentrieren, Hindernisse aus Lichtkegel entfernen.

Entity bleibt nach Start auf unknown

Gleitender Median braucht mehrere Samples zum Konvergieren

2 bis 3 Minuten warten. Ist normal beim ersten Start.


Warum lokales MQTT hier kein Nice-to-have ist

Der LWT-Mechanismus (Last Will & Testament) ist die technische Basis für den Sensor-Watchdog in der Automation. Geht der Sensor offline, hinterlässt er beim Broker eine vordefinierte Offline-Nachricht. Home Assistant erkennt das sofort über das availability_topic in den Sensor-Definitionen. Bei Cloud-vermittelten Systemen ist dieses Signal häufig verzögert oder gar nicht verfügbar. Der Senvolon LD WLAN publiziert direkt auf den lokalen Broker. Es gibt keine externe Abhängigkeit und keine Routing-Verzögerung. Wer weltweiten Zugriff auf die Messwerte möchte, kann remote.senvolon.de als Opt-in nutzen. Wer komplett lokal bleibt, verliert dabei kein Feature des Sensors.

 

Fazit

Dieses Setup ist kein Bastelprojekt mit Ablaufdatum. Ein Senvolon Füllstands-Sensor ist gegenüber Ultraschall langlebiger in feuchten Umgebungen, temperaturunabhängig und nicht auf Schall als Medium angewiesen. Kombiniert mit einem lokalen Broker, einer Automationslogik mit Hysterese und einem expliziten Fail-Safe bei Sensor-Ausfall entsteht ein Trockenlaufschutz, der unbeaufsichtigt funktioniert. Wer die Montage sorgfältig durchführt, den WLAN-RSSI vor der Endmontage prüft und die Tankparameter einmal sauber einstellt, hat danach einen Schutz, der im Hintergrund arbeitet und nicht weiter gepflegt werden muss.

Weiterführende Links

● Senvolon Füllstandsmesser LD WLAN im Shop

● Produktdokumentation & Bedienungsanleitung (im Shop verlinkt)

● Fragen, Erfahrungen, alternative Konfigurationen? Einfach direkt beim Senvolon Support melden.