Automatische Überwachung des Salzstands in der Enthärtungsanlage

Automatische Überwachung des Salzstands in der Enthärtungsanlage

Das Überwachen des Salzstands in einer Wasserenthärtungsanlage ist wichtig für die optimale Funktion der Anlage und die Qualität des aufbereiteten Wassers. Leider ist bei meiner BWT Aqa Perla der Alarm für fehlendes Salz so leise, dass man es selbst dann nicht hört wenn man sich im selben Raum befindet. Wenn der Salzstand zu niedrig ist, kann die Anlage ihre Funktion nicht mehr vollständig ausführen, was zu hartem Wasser, Kalkablagerungen in Haushaltsgeräten und Rohrleitungen sowie zu erhöhtem Energieverbrauch führen kann.

Um das zu verhindern war ich auf der Suche nach einem smarten Gerät, das mich an das Nachfüllen des Salzes erinnert und bin auf das Selbstbauprojekt von Andrea „Adonno“ gestoßen. Durch die kontinuierliche Überwachung des Salzstands lässt sich nicht nur der ordnungsgemäße Betrieb der Enthärtungsanlage sicherstellen, sondern auch unnötige Wartungsarbeiten vermeiden. Diese smarte Lösung sorgt somit nicht nur für eine höhere Effizienz und Langlebigkeit der Anlage, sondern trägt auch zur Schonung von Haushaltsgeräten und zur Verbesserung der Wasserqualität bei.

Im Folgenden habe ich Adonnos Anleitung auf Deutsch übersetzt und aktualisiert.

Benötigtes Material

Für die Umsetzung dieses Projekts wird zunächst eine Wasserenthärtungsanlage benötigt, beispielsweise ein Modell wie die BWT Aqa Perla. Kernstück der Elektronik ist der Wemos D1 Mini, ein kompaktes Mikrocontroller-Board, das sich sehr gut für IoT-Projekte eignet. Zur Messung des Salzstands kommt der HC-SR04 Sensor zum Einsatz, der Entfernungen mittels Ultraschall bestimmt und dabei keine direkte Berührung mit dem Messobjekt benötigt. Ein 4-adriges Kabel dient zur Verbindung des HC-SR04 mit dem D1 Mini. Die Stromversorgung des D1 Mini erfolgt über ein 5V Netzteil.

Für die Montage und den Aufbau sind einige Werkzeuge und Materialien erforderlich: Ein Lötkolben wird benötigt, um die Kabel sicher mit den Pins zu verbinden. Abisolierzangen und Seitenschneider sind hilfreich, um die Kabel entsprechend vorzubereiten.

Zum flashen der Firmware kommt zum Einsatz. Eine detaillierte Anleitung zum Einstieg in ESPHome findest du auf deren Webseite.

Vorbereitung der Firmware

Die Firmware-Konfiguration ist relativ einfach. Der Code muss an die spezifische Höhe deines Salzbehälters angepasst werden – dies ist der Abstand vom Sensorstandort bis zum Boden des Behälters. Ich habe meinen Sensor am Deckel der BWT Aqa Perla mit Heißkleber befestigt. Der Abstand beträgt ca. 50 cm, kann aber im yaml entsprechend der Positionierung noch angepasst werden.

Beachte: Der Sensor misst von oben nach unten, das bedeutet, dass der gemessene Wert steigt, wenn der Salzstand sinkt. Um diesen in einen abnehmenden Wert umzuwandeln, wird die gemessene Distanz vom Sensor zur Oberfläche des Salzes von der vollen Höhe des Behälters abgezogen.

YAML-Datei erstellen

Erstelle eine Datei namens salt_level_sensor.yaml im Verzeichnis /config/esphome (für Hass.io-Nutzer). Der Inhalt sollte in etwa so aussehen:

---
esphome:
  name: salt_level_sensor
  platform: ESP8266
  board: d1_mini

# WiFi connection, replace these with values for your WiFi.
wifi:
  ssid: "SSID"
  password: "xxx"

# Enable logging
logger:

# Enable Home Assistant API
api:

# Enable over-the-air updates.
ota:
  platform: esphome
  
# Enable Web server.
web_server:
  port: 80
  
# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: salt_level_sensor ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: salt_level_sensor IP
    ssid:
      name: salt_level_sensor SSID
    bssid:
      name: salt_level_sensor BSSID

# Exposed switches.
# Switch to restart the salt_level_sensor.   
switch:
  - platform: restart
    name: "salt_level_sensor Restart"

sensor:
  # Uptime sensor.
  - platform: uptime
    name: salt_level_sensor Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: salt_level_sensor WiFi Signal
    update_interval: 60s

  - platform: ultrasonic
    trigger_pin: 
      number: D1
      allow_other_uses: true
    echo_pin: 
      number: D2
      allow_other_uses: true    
    name: "Saltlevel in percent"
    update_interval: 12h
    filters:
    # Calculates in %
    # 1. Replace 0.53 with the height of your container. From the sensor to the bottom.
    # 2. Replace 0.40 with the maximum height of the containers content. 
    # The difference between 1. and 2. is the gap between the sensor and a full container.
    # I used this website to know how I should multiply my values :https://www.skillsyouneed.com/num/percent-change.html 
    - lambda: return (0.53-x)*(100/0.40);
    unit_of_measurement: "%"
    
  - platform: ultrasonic
    trigger_pin:
      number: D1
      allow_other_uses: true
    echo_pin:
      number: D2
      allow_other_uses: true
    name: "Saltlevel in cm"
    update_interval: 12h
    filters:
      - lambda: return (0.53-x)*100;
    unit_of_measurement: "cm"

Firmware hochladen

Über das ESPHome Add-on in Home Assistant kannst du das yaml jetzt sehr einfach auf den D1 flashen. Verwende dazu am besten Chrome und folge einfach den leicht nachvollziehbaren Schritten im Einrichtungsassistenten.

Anschluss des D1 Mini und des Sensors

Achte darauf, dass der D1 Mini während des Verdrahtens von der Stromversorgung getrennt ist. Der Sensor wird mit den Pins D1 und D2 verbunden. Der HC-SR04 benötigt eine 5V-Stromversorgung (Vcc) und GND.

Wemos D1 MiniHC-SR04
D1Trig
D2Echo
GGnd
5VVcc

Sensorinstallation im Salz-/Solebehälter

Die Positionierung des Sensors im Behälter ist flexibel. Du kannst ihn z.B. mit Heißkleber befestigen. Ich habe das D1 Mini Board in einem Gehäuse untergebracht, das ich an die spezielle Deckelform meiner BWT Aqa Perla angepasst habe. Du kannst mein Design auf Thingiverse finden.

Integration in Home Assistant

Die Integration des Sensors in Home Assistant ist sehr einfach. Gehe zu: Einstellungen > Geräte & Dienste -> ESPHome und der Sensor sollte oben in der Liste erscheinen. In der Regel wird der Sensor auch automatisch von Home Assistant erkannt.

Um bei einem niedrigen Salzstand rechtzeitig benachrichtigt zu werden, kann man in Home Assistant einfache Automatisierungen einrichten, die eine Benachrichtigung senden, sobald der Salzstand einen bestimmten Schwellenwert unterschreitet. Dazu erstellt man in Home Assistant eine neue Automatisierung, die den Sensorwert des Salzstands überwacht. Wenn der Wert beispielsweise unter 20% fällt, kann Home Assistant eine Benachrichtigung per Push-Nachricht an das Smartphone oder eine E-Mail senden.

Quelle: Der ursprüngliche Blog-Artikel für den Sensor ist auf adonno.com zu finden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Hinweis von Real Cookie Banner