Zum Inhalt

Alle Artikel# Blog

Wasserstand in Zisternen mit HomeAssistant, ESPHome und TL-136 Drucksensor messen - UPDATE!

>> Go to the English version of this post

Regenwasser ist mittlerweile ein kostbares Gut. Im letzten Jahr haben wir eine 5.000 Liter Regenwasserzisterne von Rewatec bekommen. So etwas extra und nachträglich nur wegen des Regenwassers einbauen zu lassen, dürfte sich eher selten lohnen, da Aufwand und Kosten beträchtlich sind.

5.000 Liter Regenwasserzisterne von Rewatec

Beim Umbau unserer Terrasse stellten wir jedoch fest, dass die Ableitungen unserer Regenrinnen marode waren und der Bagger war ohnehin schon da, sodass die Zisterne mit geringem Aufwand umsetzbar war. In sie fließen nun die Niederschläge, die auf die 75 qm Südseite des Dachs fallen – sofern es überhaupt regnet …

Aus der Zisterne speisen wir unsere Gardena Sprinkler, die durch eine Renkforce Tauchpumpe (welche schon seit 5 7 Jahren ihren Dienst verrichtet) versorgt werden. Man will natürlich wissen, wie viel Wasser in der Zisterne ist, um danach die Bewässerung steuern zu können. Zudem benötigt die Tauchpumpe mindestens 8 cm Füllstand, damit sie nicht trocken läuft.

DIY-Lösungen meist unzuverlässig

Für die Wasserstandsmessung gibt es einige DIY-Ansätze, die aber oft eher schlecht als recht funktionieren. Ultraschallsensoren, die auf die Wasseroberfläche gerichtet sind, leiden nicht nur unter der feuchten Umgebung und fallen dann aus, sondern messen durch Reflexionen oft nicht korrekt. Gleiches gilt für optische TOF (Time of Flight) Sensoren. Kapazitive Fühler messen eher ungenau, da Verunreinigungen die Dielektrizitätskonstante des Wassers verändern. Ich habe damit auch experimentiert, bin aber schnell wieder davon abgekommen.

Tests mit kapazitiver Wasserstandsmessung

Kaskaden mit Reed-Relais und Widerständen und einem Schwimmer mit Magnet funktionieren gut und sind robust, lösen aber nur sehr grob auf. Für eine Zisterne, die ein Maximallevel von 1,05 Metern erreichen kann, ist das eher unbefriedigend.

Schwimmer mit Umlenkrollen und Seil an einem Potenziometer sind zu abenteuerlich.

Sehr genau sind hingegen Drucksensoren. Kleine Drucksensoren, wie sie in Blutdruckmessgeräten eingebaut sind, wären für die Anwendung ausreichend und sind recht preiswert. Allerdings berücksichtigt man damit nicht den veränderlichen Luftdruck, der auf die Wassersäule wirkt und man erhält keine genauen Messwerte, zudem verstopft der Schlauch zum Sensor gerne.

TL-136 Drucksensor als Lösung

Nicht ganz so preiswert, dafür aber robust und genau, sind piezoelektrische Drucksensoren, den TL-136 Flüssigkeitsstand-Messumformer. Diese haben in der Zuleitung auch ein kleines Rohr, das den Außendruck in die Messung in die Messung einfließen lässt. Diese Sensoren sind für verschiedene Füllhöhen für ungefähr 50 Euro erhältlich. Dafür erhält man ein massives Edelstahlgehäuse samt recht einfacher Ansteuerung. Der Sensor wird einfach auf den Grund der Zisterne oder des Tanks gelegt. Ich habe das 0-1 Meter Modell gewählt, da bei meiner Zisterne der Überlauf bereits bei 105 cm ist. Auch für die beliebten IBC-Container dürfte das 0-1 Meter Modell geeignet sein, lässt man diese ja nicht bis auf den letzten Zentimeter volllaufen.

TL-136 Sensor

Der Sensor wird mit 24 Volt versorgt und wandelt den Druck im Bereich 0-20 mA um. Daher muss man den Strom messen, um daraus Füllhöhe und später die Füllmenge zu berechnen. Es gibt günstige kleine Module, mit Transkonduktanzwandler, also der Umwandlung eines Stroms in eine Spannung. Man kann aber auch einfach einen Widerstand nehmen, an dem die abgefallene Spannung abgreift.

Mit einem 150 Ohm Widerstand kann man den Bereich bis 100 cm so abgreifen, dass daraus eine Spannung mit maximal 3,2 Volt wird – ideal für den ADC eines ESP8266 oder ESP32. Mit einem 27 kOhm Widerstand in Reihe zum Analogeingang des ESP, hat man einen zusätzlichen Schutz, da dieser maximal 3,3 Volt verträgt. Ich nutze noch immer sehr gerne die praktischen und preiswerten WeMos D1 Mini.

Schaltplan mit einem ESP8266 WeMos D1 Mini

Für die 24 Volt des Sensors muss man auch nicht ein zusätzliches Netzteil bemühen. Ein Stepup-Konverter tut es hier auch und kann die 24 V aus dem 5 Volt Pin des ESP erzeugen. Den Step-Up-Konverter stellt man VOR dem Einbau auf die erforderlichen 24 V Ausgangsspannung ein.

Testaufbau mit einem wassergefüllten HT-Rohr und Multimeter

Um herauszufinden, welche Spannung bei welchem Füllstand ausgegeben wird, habe ich ein 100 mm HT-Rohr mit einem Stopfen verstehen, mit Wasser befüllt, den Sensor unterschiedlich tief eingetaucht und die Spannung gemessen. Der hydrostatische Druck ist in einem solchen Rohr in gleicher Tiefe ebenso groß, wie in einer 5.000 Liter Zisterne.

Eintauchtiefe und Messwerte ermitteln

Der ESPHome Code für die Wasserstandsmessung

Der Code für den ESPHome Sensor ist ziemlich selbsterklärend. Es wird der A0 Pin, also der Analog-Digital-Wandler ausgelesen. Beim ESP8266 wird hier übrigens nicht 0 – 3,3 Volt ausgegeben, sondern 0 – 1 V. Darum habe ich einen Filter mit – multiply: 3.3 eingebaut. Die id: levelraw ermöglicht, dass ich später auf den Füllstand in Zentimetern noch einmal in einer anderen Funktion zugreifen kann.

esphome:
  name: waterking
  platform: ESP8266
  board: d1_mini


# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:
  password: !secret ota password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Waterking Fallback Hotspot"
    password: !secret fallback password

captive_portal:


sensor:
  - platform: adc
    pin: A0
    name: "Wasserstandcm"
    id: levelraw
    update_interval: 2s
    filters:
      - multiply: 3.3
      - sliding_window_moving_average:
          window_size: 30
          send_every: 30
      - calibrate_linear:
            - 0.61 -> 0.0
            - 0.76 -> 0.075
            - 0.8 -> 0.09
            - 0.81 -> 0.1
            - 0.8411 -> 0.12
            - 0.99 -> 0.172
            - 1.04 -> 0.22
            - 1.2 -> 0.25
            - 1.8 -> 0.5
            - 2.4 -> 0.75
            - 2.66 -> 0.9
            - 2.983 -> 1.0
            - 3.2 -> 1.19
      - multiply: 100
    accuracy_decimals: 1
    unit_of_measurement: cm
    icon: "mdi:car-coolant-level"

  - platform: adc
    pin: A0
    name: "Zisterne Volt"
    update_interval: 5s
    filters:
      - multiply: 3.3
      - median:
          window_size: 7
          send_every: 4
          send_first_at: 3

  - platform: template
    name: "Zisterne Liter"
    lambda: |-
      return id(levelraw).state;

    filters:
      - calibrate_linear:
          - 4 -> 80
          - 10 -> 200
          - 12.5 -> 300
          - 15 -> 400
          - 17.5 -> 500
          - 20 -> 600
          - 25 -> 850
          - 27.5 -> 1000
          - 40 -> 1700
          - 45 -> 2000
          - 60 -> 3000
          - 70 -> 3600
          - 80 -> 4000
          - 85 -> 4400
          - 90 -> 4700
          - 95 -> 4900
          - 100 -> 5100
    unit_of_measurement: l
    accuracy_decimals: 0

  - platform: template
    name: "Idraw"
    lambda: |-
      return id(levelraw).state;

Der Median glättet die Werte, da das Signal etwas rauscht. Warum habe ich noch nicht herausgefunden. Die Spannungsversorung des Step-Up-Wandlers ist stabil. Allerdings bewegt sich das Rauschen im Bereich von 0,5 cm Füllhöhe, was vernachlässigbar ist. Die Genauigkeit des Sensors selbst ist mit 0,2 – 0,5 % FS angegeben. Bei einer Füllhöhe von 0 – 1 Meter sind die 0,5 cm Rauschen genau 0,5 % …

[Update] Ein 1 uF Kondensator zwischen Masse und A0 schafft etwas Abhillfe gegen das Rauschen und ist im Schaltplan berücksichtigt.

[Update 2] Der A/D-Wandler des ESP8266 ist nicht für solche Messungen geeignet und arbeitet auch nicht linear. Das sagen auch die Datenblätter von Espressif. Darum habe ich jetzt einen ADS1115 AD-Wandler im Einsatz und damit ist das Rauschen weg. Allerdings muss ich die Werte neu erfassen und die Zisterne ist gerade voll. Ein Update dazu kommt demnächst.

Der calibrate_linear Filter wandelt die Spannung in die tatsächliche Füllhöhe um, denn der Sensor arbeitet nicht völlig linear. Ich habe die ersten Werte mit meinem Testaufbau ermittelt und korrigiere nun nach und nach mit den Werten aus der Zisterne. Der – multiply: 100 Filter sorgt dafür, dass die Ausgabe in Zentimetern erfolgt.

Wasserstandsensor Home Assistant

Die Schaltung auf Perfboard in einer Verteilerdose

Ich frage den ADC dann ein weiteres Mal ab, um eine Ausgabe in Volt zu erhalten, mit der ich nach und nach den Linear-Filter mit den echten Füllständen korrigieren kann.

Die zweite Funktion startet mit – platform: template

Hier hole ich mir mit return id(levelraw).state; den Wert in Zentimetern, um ihn dann mit einem weiteren – calibrate_linear Filter auf den Füllstand in Litern umzurechnen.

TL - 136 Flüssigkeitsstandsender Wasser Ölstandsensor Detektor 24VDC 420mA Signalausgang(0-2m), SenderTL – 136 Flüssigkeitsstandsender Wasser Ölstandsensor Detektor 24VDC 420mA Signalausgang(0-2m), Sender

Füllhöhe mit Füllstandskurve in Volumen umrechnen

Meine Rewatec-Zisterne hat ja eine recht komplexe Form, sodass die Füllstände in Litern über die Füllhöhe nicht linear sind. Rewatec schickte mir auf Anfrage eine Füllstandskurve. Damit lässt sich der Füllstand in Abhängigkeit der Füllhöhe umrechnen. Wie zuvor erwähnt: Bei 5.000 Litern ist es egal, ob da 20 Liter mehr oder weniger angezeigt werden. Der Rest ist nur eine Hilfsfunktion, die man weglassen kann.

Füllstandskurve der Zisterne

Momentan ist es auch bei uns sehr trocken, sodass sich der Wasserstand in der Zisterne auf einem sehr niedrigen Level von 10 – 25 Zentimetern und damit 150 – 1000 Litern bewegt.

Füllstandsverlauf über 10 Tage mit Bewässerung und wenig Niederschlag

Man sieht jedoch wunderbar Zu- und Abflüsse und kann damit auch feststellen, wie viel Liter etwa 5 Minuten Rasenbewässerung sind. In unserem Fall kommen wir auf etwa 150 Liter pro Bewässerung. Ebenso erkennt man Regenfälle und damit den recht schnellen Anstieg des Levels ausgezeichnet.

Füllstand Zisterne Home Assistant

Füllstandsanstieg bei Regen

Da wir auch noch zwei eingelassene und verbundene Regentonnen mit jeweils 1.500 Litern haben, werde ich hier demnächst auch noch einen Sensor einbauen.

Die zwei eingelassenen Regentonnen werden auch noch mit einem TL-136 versehen

Insgesamt ist die Lösung mit den TL-136 Flüssigkeitsstand-Messumformer eine einfache und hinreichend genaue Lösung für die Messung von Füllständen. Die Sensoren sind robust und einfach anzusteuern. Mit den Linear-Filtern der ESPHome-Plattform lassen sie sich einfach korrigieren, sodass eine Genauigkeit im Bereich von 1 % möglich ist. Für die Anwendung in Regenwassertonnen und Zisternen ist das mehr als ausreichend.

Füllstandsanzeige in Home Assistant

Mit den gewonnenen Werten kann man die Bewässerungsdauer dynamisch steuern, also etwa die Bewässerungszeit verkürzen, wenn nur noch wenig Wasser in der Zisterne ist.

Update 2023 – zuverlässiger und genauer messen

Wie letztes Jahr angekündigt, habe ich den Wasserstandsensor optimiert. Das Problem beim ursprünglichen Projekt war der schlechte ADC des ESP8266, der sehr stark rauscht. Zudem war die Schaltung mit dem einfachen Messwiderstand nicht besonders sicher, was auch hier in den Kommentaren richtigerweise angemerkt wurde. Wegen der Wintersaison und anderen Projekten, hat es mit dem Update etwas länger gedauert, als geplant.

Wie bereits beschrieben, habe ich nun einen ADS1115 4-fach ADC im Einsatz. Man benötigt nur einen der 4 Kanäle des ADS1115, hat also noch 3 ADC für andere Aufgaben übrig.

Nach einigen Tests habe ich mich auch für den günstigen Stromwandler / Messwertumformer entschieden. Dieses kleine Modul hat nicht nur den Vorteil, dass der Eingang des ADS1115 nie mehr als 3,3 Volt sieht. Dazu entfernt man alle Jumper auf dem Modul. Außerdem kann man den Nullpunkt (Sensor nicht eingetaucht) und die maximale Ausgangsspannung einstellen. So lässt sich der Messbereich maximieren, auch wenn man etwa bei einem 0-1 Meter Sensor nur bis maximal 70 cm messen muss. Ich habe die Klemmen ausgelötet, damit ich das Modul auf meine Streifenrasterplatine löten kann.

Vereinfachter Schaltplan der neuen Version mit ADS1115 (zum Vergrößern anklicken!)

Nach einem Hinweis in den Kommentaren musste ich mein Wissen über 4-20 mA Stromschleifen wieder auffrischen (das ist dann doch schon knapp 30 Jahre her und ich hatte das nicht mehr parat): Diese Stromschleifen sind sehr robust gegen Störungen und können 100 m und mehr lang sein. So kann man den TL136 Sensor bis ins Haus verlängern, wo die zugehörige Elektronik im Warmen und Trockenen montiert ist

Die Beschaltung ist denkbar einfach. Der ADS1115 wird per I2C-Bus an den Wemos angebunden, der Ausgang des Messwertumformers kommt an einen Eingang (bei mir ADC0) des ADS1115.

TL136 Wasserstandssensor

Erste Tests und Messreihe mit der neuen Elektronik

Mit dem im Schaltplan “Zero” bezeichneten Trimmer, stellt man die Ausgangsspannung des Moduls (grünes Kabel im Plan) auf nahe 0 Volt ein, wenn der Sensor nicht eingetaucht ist. Nun taucht man den TL136-Sensor bis zur maximalen Tiefe bei maximalem Füllstand ein und stellt mit dem “Span” Trimmer die Spannung am Ausgang (grünes Kabel im Plan) auf knapp 3,3 Volt ein. Damit hat man den möglichen Messbereich optimal ausgenutzt und erhält somit die maximale Auflösung.

Ich habe wieder eine Messreihe mit 10 cm Schritten gemacht und die entsprechenden Spannungen notiert. Daraus wird, wie vorher auch, erst die Füllhöhe in Zentimetern errechnet und von dieser wieder die Füllmenge nach dem vorliegenden Fülldiagramm des Herstellers.

Dank des Messwertumformers und des ADS1115 wird man mit einer sehr präzisen (wenngleich für die Anwendung schon übertriebenen Genauigkeit) und rauschfreien Messung belohnt. Das Restrauschen beträgt maximal 0,1 % und entspricht damit der Toleranz des TL136 Sensors.

Hier ein Vergleich der alten Methode mit der neuen, was wohl für sich spricht:

Stark hineingezoomt sieht man, dass die Abweichung nun nur noch +- 1mm beträgt:

Die übrigen ADC-Kanäle des ADS1115 kann man z. B. für einfache Bodenfeuchtesensoren etc. nutzen.

Da ohnehin noch GPIOs am Wemos frei waren, habe ich auch noch einen Eingang für 1-Wire-Sensoren vorgesehen. Mit den günstigen DS18B20 Temperatursensoren kann man z. B. die Bodentemperatur, Termperatur im Gerätehaus oder die Wassertemperatur der Zisterne erfassen. Mehrere dieser 1-Wire-Sensoren lassen sich parallel an einem Eingang betreiben.

Stückliste:

Der neue Code mit ADS1115 und 1-Wire (die 1-Wire-Beschaltung ist aber im Schaltplan nicht enthalten – das schafft ihr selbst, wenn ihr es benötigt 😉 !) sieht bei mir so aus:

esphome:
  name: zisterne
  platform: ESP8266
  board: d1_mini


# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: zisterne.local


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Waterking Fallback Hotspot"
    password: !secret fallback_password

captive_portal:

# i2c Bus auf D1 und D2 konfigurieren
i2c:
  id: bus_a
  sda: D2
  scl: D1
  scan: True

# 1-Wire-Sensoren am Pin D4
dallas:
  - pin: D4

# ADC einrichten, ADDR-Pin ist auf VCC gelegt, daher Adresse 0x49
ads1115:
  - address: 0x49
    id: ads1115_49

# ADC Kanal A0 zur Messwerterfassung
sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 4.096
    name: "Wasserstand Zisterne cm"
    id: levelraw
    update_interval: 2s
    unit_of_measurement: cm
    accuracy_decimals: 1
    icon: "mdi:car-coolant-level"
# Messwerte glätten:
    filters:
      - sliding_window_moving_average:
          window_size: 20
          send_every: 20
# Spannungen nach Messreihe in Füllhöhe umrechnen
      - calibrate_linear:
          - 0.0 -> 0.0
          - 0.3 -> 10
          - 0.69 -> 20
          - 1.0 -> 30
          - 1.35 -> 40
          - 1.75 -> 50
          - 2.03 -> 60
          - 2.42 -> 70
          - 2.7 -> 80
          - 3.1 -> 90

# Füllmenge nach Füllstandskurve berechnen

  - platform: template
    name: "Zisterne Liter"
    lambda: |-
      return id(levelraw).state;

    filters:
      - calibrate_linear:
          - 4 -> 80
          - 10 -> 200
          - 12.5 -> 300
          - 15 -> 400
          - 17.5 -> 500
          - 20 -> 600
          - 25 -> 850
          - 27.5 -> 1000
          - 40 -> 1700
          - 45 -> 2000
          - 60 -> 3000
          - 70 -> 3600
          - 80 -> 4000
          - 85 -> 4400
          - 90 -> 4700
          - 95.5 -> 4980

    unit_of_measurement: l
    accuracy_decimals: 0

# 1-Wire Temperatursensor

  - platform: dallas
    address: 0xef0516905a21ff28
    name: "Zisterne Sens1"
    unit_of_measurement: °C
    accuracy_decimals: 1

Wer will, kann über den I2C-Bus oder die Wemos SPI-Bus Pins D5, D6 und D7 auch noch ein Display zur Anzeige des Wasserstands, der Temperatur etc. anbinden. Hier bieten sich ein LC-Display vom Typ 1602/HD44780 oder ein MAX7219 7-Segment-Display an. Letzteres habe ich auch in meiner Bewässerungssteuerung “Waterking” im Einsatz, die auch bereits den Wasserstand der Zisterne anzeigt.

Unsere neue PV-Anlage: Sungrow SH10RT Hybrid-Wechselrichter, SBR096 Batteriespeicher und Wallbox wurden installiert

Unser PV-Anlagen-Projekt startete bereits im letzten November, wo 14,1 kWp Solar-Panels auf unserem Dach installiert wurden. Leider war die Liefersituation bei Wechselrichtern und Speichern sehr angespannt, sodass wir einige Zeit darauf warten mussten. Allerdings war das über die Wintermonate verschmerzbar, da diese ohnehin die ertragsärmsten im Jahr sind. Da unsere Anlage damit auch erst 2023 fertiggestellt wird, können wir den Wegfall der Mehrwertsteuer bei PV-Komponenten ohne bürokratische Hürden mitnehmen.

PV-Anlage Erfahrung, Test, Angebot nachbelichtet

Letzte Woche kam dann aber der Sungrow SH10RT Hybrid-Wechselrichter, der Sungrow SBR096 Speicher mit 9,6 kWh und die nagelneue Wallbox aus dem gleichen Haus.

Ungünstigerweise waren die Leerrohre vom Dachboden in den Technikraum, die ursprünglich einmal für eine Solarthermie-Anlage vorgesehen waren, nicht für die PV-Kabel nutzbar. Irgendwo waren sie wohl gequetscht oder verstopft, sodass selbst mit Fiberglas-Stäben und viel Probieren kein Durchkommen war. Kurzerhand haben wir die Kabel dann in einem Edelstahlrohr in einer unauffälligen Nische außen am Haus verlegt.

Der Sungrow SH10RT Wechselrichter war schnell montiert und die Kabel können ohne Öffnen des Geräts verbunden werden. Im Verteilerschrank wurde die Trenneinrichtung, ein eigenes Smart Meter und die Verdrahtung für den Notstrombetrieb vorbereitet.

Der Sungrow SH10RT Hybrid-Wechselrichter kann bei einem Stromausfall automatisch, innerhalb von nur 20 ms, auf Ersatzstrom umschalten und die daran angeschlossenen Verbraucher 3-phasig mit bis zu 9,9 kW mit Strom aus dem Speicher versorgen. Wenn dieser leer sein sollte, ist der Wechselrichter Schwarzstart-fähig. Das bedeutet, dass sofort Strom zur Verfügung steht, wenn die PV-Module wieder Strom liefern – auch wenn das Stromnetz noch immer ausgefallen ist.

Sungrow SH10RT Hybrid-Wechselrichter und SBR096 Batteriespeicher in unserem Technikraum

In Zeiten, in denen nicht genug PV-Strom für die Speicher-Ladung zur Verfügung steht, kann man den Speicher mit Netzstrom immer auf einer Mindestladung halten, um auch hier für einen Stromausfall gerüstet zu sein. Der Batteriespeicher dient daher nicht hauptsächlich zu Erhöhung des Eigenverbrauchs (und Verringerung der unattraktiven Netzeinspeisung), sondern vor allem für die Versorgungssicherheit bei Netzausfällen.

Unseren Speicher werden wir wohl auch noch mit zwei weiteren Modulen auf insgesamt 16 kWh aufrüsten. Die Sungrow SBR Batteriespeicher lassen sich ja praktisch per “Plug and Play” und ohne Verkabelungsaufwand jederzeit erweitern.

An der Garage gibt es nun außen eine neue Sungrow Wallbox. Zwar hatten wir schon den go-e Charger, der aber in der Garage angeschlossen war. Mit der externen Sungrow Wallbox können jetzt auch Freunde und Verwandte bequem laden und ein zweites E-Auto steht wohl auch irgendwann vor der Tür. Die Elektromobilität ist in unserem Umfeld bereits voll angekommen.

Sungrow Wallbox an unserer Garage

Die Sungrow Wallbox kommuniziert über ein RS485 Kabel mit dem Wechselrichter und kann so eingestellt werden, dass es z. B. nur bei PV-Strom-Überschuss lädt oder immer mit voller Leistung, wenn man dringend höhere Reichweite benötigt. Freigegeben wird der Ladevorgang per RFID-Karte oder der App.

Diese Tage kommen die Elektriker noch einmal und klemmen den Wechselrichter sowie die Verbraucher für den Notstrombetrieb an. Außerdem muss noch der Zähler gegen ein Smart Meter getauscht und der Hybrid-Wechselrichter konfiguriert werden. Dann ist auch (hoffentlich) der Frühling mit viel Sonne da und wir können das erste Mal Strom aus eigener Erzeugung ernten. Die iSolarCloud zur Überwachung und Monitoring ist auch schon eingerichtet und die Anbindung an Home Assistant sollte auch kein Problem sein, da die Kommunikation per ModBUS-Protokoll erfolgt.

Seid gespannt auf den nächsten Beitrag, wenn die Anlage am Netz ist und ich erste Erfahrungen und Messwerte habe!

Hier geht es zu

Teil 1: Wir bekommen eine PV-Anlage

Teil 2: Unsere PV-Anlage ist auf dem Dach

Teil 3: Erste Erfahrungen nach 5 Monaten

Die 10 häufigsten Home Assistant Fehler, die du unbedingt vermeiden solltest

Smart Home-Systeme wie Home Assistant können dein Leben erleichtern und dir zahlreiche Möglichkeiten zur Automatisierung und Steuerung deiner Geräte bieten. Allerdings machen viele Menschen bei der Einrichtung von Home Assistant einige Fehler, die zu Frustration führen können. Hier sind die 10 häufigsten Fehler und wie du sie vermeiden kannst:

Nicht mit Familie und Partner absprechen

Bevor du überhaupt mit der Einrichtung von Home Assistant beginnst, solltest du sicherstellen, dass alle Familienmitglieder und dein Partner einverstanden sind. Jeder, der das System nutzen wird, sollte wissen, wie es funktioniert und welche Vorteile es bietet. Es ist auch wichtig, die Bedürfnisse und Vorlieben aller Familienmitglieder zu berücksichtigen, um sicherzustellen, dass das System für alle von Nutzen ist.

LCN-GT8 Glastaster mit Temperatursensor und Bargraph-Anzeige

Nicht jede interessante, anspruchsvolle oder gar abgefahrene Funktion stößt bei den anderen Nutzern auf Gegenliebe. Ein Smart Home sollte Dinge immer vereinfachen und komfortabler machen und nichts komplizierter, als es vorher war. Zudem sollte dir klar sein, dass du sehr viel Zeit in Home Assistant stecken kannst (und am Anfang auch stecken musst). Hast du diese Zeit und bist du auch bereit, diese zu investieren?

Zu viel wollen, wenn noch die Kenntnisse fehlen

Ein essenzieller Tipp ist, klein einzusteigen und mit der Aufgabe zu wachsen. Viele Fragensteller in den Home Assistant Communities haben gerade mal das Grundsystem installiert und fragen schon nach den komplexesten Funktionen, ohne die notwendigen Kenntnisse erworben zu haben.

Was sind Entities, Services, Scenes, Scripts usw.? Probiert viel aus, ohne dass das System schon wirklich in euer Leben integriert ist und ihr in Hardware investiert habt.

YAML – das unbekannte Wesen

YAML ist gewöhnungsbedürftig und eine der größten Problemquellen für Einsteiger, denn eine falsche Einrückung und eine Konfiguration oder Automation funktioniert nicht oder nicht mehr. YAML ist aber essenziell wichtig! Bekomme ein Verständnis für YAML und dessen Grundlagen. Eine ausgezeichnete Anleitung gibt es hier:

https://www.home-assistant.io/docs/configuration/yaml/

Nicht durchdachte Automationen

Die Automatisierung von Geräten kann Zeit und Mühe sparen, aber es ist wichtig, sie sorgfältig zu planen. Zu viele Automationen können zu Verwirrung führen, insbesondere wenn sie nicht richtig funktionieren. Es ist ratsam, nur die Geräte zu automatisieren, die du wirklich benötigst und die sinnvoll sind. Denke daran, dass jede Automatisierung auch Wartung erfordert und dass du Änderungen vornehmen musst, wenn sich deine Bedürfnisse und Anforderungen ändern.

Du solltest jede Automation ausgiebig testen. Dazu kann man z. B. in den Entwickler-Tools die Werte der beteiligten Entitäten manipulieren. So lässt sich eine Automation schnell und einfach testen, ohne dass man erst auf die Änderung der Werte und Status warten muss. Ergeben sich hier Ungereimtheiten oder funktioniert die Automation gar nicht, kann man mithilfe der Trace-Funktion und im Logbuch den Ablauf nachvollziehen und anpassen.

Foren und Community falsch nutzen

Die Home Assistant Community ist immer hilfreich und freundlich. Ebenso sollte man dort auftreten. Dazu gehört eine Forensuche, ob das eigene Problem nicht schon einmal Thema war, bevor man einen eigenen Thread dazu startet. Eine exakte Beschreibung des Problems sollte selbstverständlich sein und ein Auszug aus dem Log ist auch von Vorteil.

Home Assistant Subreddit.

Sei freundlich und geduldig, wenn nicht gleich nach 10 Minuten eine Antwort kommt. Am meisten lernt man aber auch, wenn man nicht sofort nach Hilfe fragt, sondern recherchiert, probiert und sich durchbeißt. Das gilt meiner Ansicht nach fürs ganze Leben 😉

Natürlich freuen sich alle, wenn ihr eure Entdeckungen und Erkenntnisse teilt und anderen ebenfalls behilflich seid.

Logfiles bei der Fehlersuche ignorieren

Man kann in Home Assistant praktisch alles protokollieren lassen. Bei der Fehlersuche ist das unbezahlbar. Wer bei Problemen mit Home Assistant Hilfe in den Foren oder bei Reddit sucht, wird häufig zuerst nach verdächtigen Log-Einträgen gefragt und die sollte man immer zu Hand haben.

Wie ausführlich Home Assistant protokolliert, kann man in der Configuration.yaml einstellen. Mehr dazu kann man hier nachlesen: https://www.home-assistant.io/integrations/logger/

Das Logging lässt ich auch für Custom Components aktivieren.

Zu viel Dashboard und zu wenig Automation

Ein weiterer häufiger Fehler bei der Einrichtung von Home Assistant ist das Erstellen von zu vielen Dashboards mit Lovelace und zu wenig Automatisierungen. Dashboards sind großartig, um deine Geräte zu überwachen, aber viele verwenden zu viel Zeit für stylische Dashboards oder gar Floorplans, die vielleicht noch in Form eines Tablets an der Wand hängen, um Freunde und Bekannte zu beeindrucken.

Stelle sicher, dass du genügend Automationen einrichtest, um die Geräte automatisch steuern zu lassen, um nicht jedes Mal manuell eingreifen zu müssen. Investiere die Zeit statt in Dashboards, besser in die Grundlagen von Home Assistant. Ein Smart Home ist nur dann wirklich smart, wenn es ohne dein Zutun arbeitet.

Falsche Hardware

Ein Raspberry Pi ist für den Einstieg gut. Auf Dauer wird er dich nicht glücklich machen. Ausfälle der SD-Karte gehören zu den häufigsten Fehlern. Ein gebrauchter Mini-PC ist oft die viel bessere (und zurzeit auch preisgünstigere) Alternative mit mehr Rechenpower. Ein PC hat mehr Schnittstellen, du kannst sofort eine schnelle und zuverlässige SSD nutzen und hast ein robustes Gehäuse. Eine andere Möglichkeit sind alte Notebooks. Wenn der Akku noch okay ist, hast du gleich eine unterbrechungsfreie Stromversorgung (USV) eingebaut.

Auch bei den angebundenen Geräten ist es wichtig sicherzustellen, dass diese kompatibel sind und dass sie von Home Assistant unterstützt werden. Die Auswahl der falschen Hardware kann zu Problemen bei der Einrichtung und Verwendung des Systems führen. Vergewissere dich, dass deine Geräte mit den aktuellen Standards kompatibel sind, um zukünftige Kompatibilitätsprobleme zu vermeiden.

Gebrauchter Mini-PC für unter 100 € als Raspi-Alternative

Vermeiden sollte man auch Geräte, die auf die Cloud-Dienste der Hersteller angewiesen sind. Entscheidet sich der Hersteller die Dienste zu beschränken oder ganz einzustellen, hat man nur noch einen teuren Briefbeschwerer. Für viele Geräte gibt es aber auch alternative Open-Source-Firmware und lokale Dienste wie z. B. TUYA Lampen, Roborock Sauger oder Sonoff Schalter.

Keine Backups

Das Erstellen von Backups ist eine der wichtigsten Aufgaben bei der Einrichtung von Home Assistant, da es deine Konfiguration und Einstellungen schützt, falls etwas schiefgeht. Ohne Backups kannst du deine Konfiguration und Einstellungen nicht wiederherstellen, wenn du einen Fehler machst oder wenn deine Hardware defekt ist.

Daher solltest du regelmäßig Backups erstellen, was mit der eingebauten Backup-Funktion von Home Assistant zum Glück sehr einfach ist. Allerdings solltest du diese Backups auch immer an einem zweiten Ort speichern, z. B. mit der Google Drive Erweiterung.

Release Notes nicht lesen

In diese Falle bin ich auch schon öfter gelaufen: Die Release-Zyklen von Home Assistant sind atemberaubend schnell. Wer aber ebenso schnell auf “Update” klickt, erlebt nicht selten unangenehme Überraschungen. Der Grund hierfür sind die “Breaking Changes”. Damit sind Funktionen gemeint, die sich bei der aktuellen Version verändert haben oder sogar ganz weggefallen sind.

Home Assistant ist noch immer eine vergleichsweise junge Software, die sich ständig verändert. Manche alte Funktion wird durch eine bessere ersetzt und manche Geräte werden einfach nicht mehr unterstützt. Hat man das vorher nicht gelesen, verschwendet man vielleicht unnötig Zeit mit der Fehlersuche. Das gilt übrigens nicht nur für das Core-System, sondern auch für Add-Ons, Integrationen und HACS-Komponenten.

Zu große Configuration.yaml

Wenngleich immer mehr über die Benutzeroberfläche konfiguriert werden kann, ist das Herzstück von Home Assistant noch immer die Configuration.yaml. Sobald dein System größer wird, solltest du darüber nachdenken, die Configuration.yaml in übersichtlichere und einfacher pflegbare Teile zu zerlegen.

Ich habe z. B. meine LCN-Konfiguration, meine Sensoren, Automationen, Lichter, Alexa-Entitäten und noch mehr in extra Dateien aufgeteilt, die ich in der configuration.yaml einbinde:

1
2
3
4
5
6
7
light: !include lights.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
switch: !include switch.yaml
sensor: !include sensors.yaml
alexa: !include alexa.yaml

Damit wird alles nicht nur viel übersichtlicher – es erleichtert auch die Fehlersuche, weil man im Notfall mal eine dieser Dateien herausnehmen kann.

Mehr dazu findet ihr hier: https://www.home-assistant.io/docs/configuration/splitting_configuration/

Fazit

Die Einrichtung von Home Assistant kann eine Herausforderung sein, aber wenn du diese 10 häufigen Fehler vermeidest, kannst du ein effektives und zuverlässiges Smart Home-System aufbauen. Sprich mit deiner Familie und deinem Partner, starte klein, lerne die Grundlagen, hol dir Hilfe aus der Community, erstelle regelmäßige Backups, plane Automationen sorgfältig und recherchiere vor dem Kauf von Geräten, ob sich diese auch mit Home Assistant nutzen lassen.

Die 5 besten Sensoren für Home Assistant

Mithilfe von Sensoren kann man alle möglichen Messwerte mit Home Assistant erfassen. Gerade Temperatur- und Luftfeuchtigkeitssensoren sind essenziell, um Energie zu sparen und ein angenehmes Wohlfühlklima zu erhalten. Ich habe einige Tipps für euch:

ThermoPro TP357 Bluetooth Sensor

Der ThermoPro TP357 ist ein Sensor, der per Bluetooth mit Home Assistant verbunden wird. Er erfasst die Temperatur und Luftfeuchte zuverlässig und genau. Auf seiner Anzeige kann man aktuelle Werte auch ohne Home Assistant ablesen und ein Smiley zeigt an, wie es um das Raumklima steht.

ThermoPro TP357

Wer will, kann auch die zugehörige Smartphone-App nutzen, was auch parallel zu einer Home Assistant Nutzung möglich ist. Für die ThermoPro Sensoren gibt es eine eigene Integration für Home Assistant, sodass dem reibungslosen Einsatz nichts im Wege steht. Diese ermöglicht auch den Einsatz der Modelle TP359, TP 358 und TP393

Mit knapp 13 Euro ist der ThermoPro TP357 eine sehr preiswerte Lösung, von der man auch ein paar mehr kaufen kann.

Aqara ZigBee Sensoren

Wer lieber auf den ZigBee-Standard setzt, kann sich die Sensoren von Aqara ansehen. Diese lassen sich problemlos mit ZHA, ZigBee2MQTT oder DeConz nutzen. Der Aqara Fenstersensor ist klein und recht unauffällig, allerdings leider nur in Weiß zu haben. Die Batterie hält fast 2 Jahre (zumindest bei uns). Ebenfalls interessant ist der Wassersensor, mit dem man auslaufendes Wasser von Waschmaschinen oder Geschirrspülern schnell und sicher überwachen kann.

Meine Aqara Fenstersensoren

Leider sind die Aqara Sensoren relativ teuer geworden. Ich habe den Fenstersensor oder den Temperatursensor vor 3 Jahren noch für deutlich unter 10 Euro gekauft.

Ebenso empfehlenswert ist der kompakte Aqara Bewegungsmelder, der sehr zuverlässig funktioniert und sich unauffällig und einfach befestigen lässt.

Die Preise haben sich seitdem bedauerlicherweise verdoppelt. Trotzdem sind die Aqara-Sensoren eine sehr zuverlässige und gute Wahl.

Sonoff ZigBee Sensoren

Eine Alternative zu den Aqara Sensoren sind die Modelle von Sonoff, die auch noch etwas billiger sind. Einige Nutzer berichten von Verbindungsabbrüchen, wenn der Sensor am Rand des ZigBee-Netzes benutzt wird.

Sonoff ZigBee Sensoren

Was viele nicht wissen ist, dass man ein ZigBee-Netz mit ZigBee-Geräten, die permanent mit Strom versorgt werden, erweitern und stabilisieren kann. Eine ZigBee-Steckdose oder ZigBee-Leuchten, die mit Netzspannung versorgt wird, arbeitet dann als Repeater und sorgt dafür, dass die Abdeckung erweitert wird.

1-Wire Temperatursensoren vom Typ 18b20

Die 18b20 Sensoren sind sehr preiswert und einfach in der Anwendung. Überall, wo man gleich Temperaturen erfassen will, bieten sich diese Sensoren an. Sie lassen sich als Anlegesensor für Heizungsrohre verwenden, in den Estrich zur Temperaturmessung des Bodens eingießen oder in der Erde versenken, um die Bodentemperatur im Garten oder Hochbeet zu messen.

Mein Multisensor für die Überwachung von Vor- und Rücklauf.

Bis zu 200 Sensoren lassen sich an einem Bus betreiben, der bis zu 100 Meter lang sein kann (dann am besten max. 10 Sensoren pro Strang). Es ist nur ein 3-adriges Kabel notwendig und mit der ESPHome Plattform ist die 1-Wire Einbindung in Home Assistant sehr einfach. Wer einen Raspi als Plattform für Home Assistant nutzt, kann die Sensoren auch gleich an einem GPIO-Pin anschließen.

Man kann die 18b20 Sensoren auch dazu “missbrauchen”, um den Status eines Schalters oder Kontakts zu erfassen. Man schaltet die Stromversorgung des Sensors und prüft einfach, ob die Adresse des 1-Wire Sensors auffindbar ist. Wenn ja: Schalter geschlossen. Wenn nein: Schalter offen. Damit kann man z. B. Fenstersensoren mit Reed-Kontakt sehr einfach und preiswert in Home Assistant einbinden. Mehr dazu demnächst hier.

Das waren meine Tipps für empfehlenswerte Sensoren für die Anwendung mit Home Assistant. Welche Sensoren habt ihr im Einsatz? Schreibt es gerne als Kommentar!

10 Tipps: Das beste Zubehör für Home Assistant

Für Home Assistant benötigt man zunächst eine Plattform, auf der das System laufen kann. Für viele ist das der Raspberry Pi. Dieser kompakte Einplatinen-Computer war vor allem wegen seines günstigen Preises für viele die erste Wahl. Nun werden für den kleinen Rechner aber Mondpreise verlangt, sofern sie überhaupt lieferbar sind und auch in andere Hinsicht ist der Raspberry nicht die ideale Plattform für einen stabilen und langfristigen Betrieb.

Home Assistant installieren Raspberry Pi NUC VM

Raspberry Pi4 mit externer SSD am USB3-Adapter

Beitreibt man ihn nur mit Micro-SD-Karten hat man früher oder später das Problem, dass diese ausfallen. Man kann mit regelmäßigen Backups oder einer SSD mit USB3-Adapter entgegenwirken, doch der Aufwand ist relativ hoch. Alternativen sind Klein-PCs mit eingebauter SSD, vernünftigem Gehäuse und deutlich mehr Rechenleistung. Hier muss es aber kein teurer Intel NUC sein, sondern …

1. Gebrauchte Thin Clients und Mini-PCs als günstige Home Assistant Basis

Für ein paar Euro (oft deutlich unter 100 Euro) bekommt man einen gebrauchten Mini-PC, wie etwa einen DELL Optiplex 3020 mit Intel i5 CPU und 8 GB RAM oder den Lenovo M700 tiny.

Damit hat man eine deutlich leistungsfähigere Basis für Home Assistant, als es ein Raspberry Pi ist wäre, die fast ebenso energieeffizient ist. In der heutigen Zeit kein unwichtiges Argument, für ein System, das 24/7 läuft. Achtet jedoch darauf, dass ihr ein Modell mit USB3-Anschlüssen bekommt, falls ihr eine externe SSD als NAS oder für Backups verwenden wollt.

Dell Optiplex Mini-PC

Ich habe meine umfangreiche Home Assistant Installation auf einem solchen System getestet und konnte sogar 4 Überwachungskameras mit Frigate stabil darauf betreiben.

Bei Gebraucht-PC-Spezialisten wie Harlander, bekommt ihr auch neuere Modelle zu recht günstigen Preisen.

Auch ein altes Notebook kann eine gute Basis für Home Assistant sein, da es gleich mehrere Vorteile mit sich bringt: Man hat ein Display und eine Tastatur, falls man mal direkt an die Home Assistant Console muss und wenn die Batterie noch in Ordnung ist, hat man praktisch eine eingebaute Notstromversorgung (USV).

2. Unterbrechungsfreie Stromversorgung (USV) bei Stromausfällen

Apropos USV: Mit der Energiekrise wurde auch die Gefahr von Stromausfällen größer. Je nach Betriebsart eurer Home Assistant Installation, ist es wichtig, dass das System sauber herunterfährt, damit es nicht zu Datenverlust oder gar Problemen mit der Installation kommt.

Eine USV hilft hierbei und sorgt – je nach Größe und angeschlossener Hardware dafür, dass euer System lange genug weiterläuft, um einen kurzen Stromausfall zu überbrücken oder zumindest noch sauber herunterfahren kann, wenn es länger dauert.

Um die passende Leistung für eure USV zu ermitteln, nehmt ihr die Leistung aller angeschlossenen Geräte in Watt x 1,6. Damit erhaltet ihr die Leistung in VA (Volt x Ampere), die ihr mindestens anschaffen sollte. 20-30 Prozent Spielraum nach oben ist immer sinnvoll.

Wenn ihr einen Server mit 60 Watt, eure Fritz!Box mit 10 Watt und einen PoE-Switch mit z. B. 3 Kameras 50 Watt angeschlossen habt (120 Watt gesamt), rechnet ihr 120 Watt * 1,6 = 192 VA. Mit 30 % Reserve kommt ihr also auf 250 VA. Damit benötigt ihr nur ein recht kleines Modell, das es schon für deutlich unter 100 Euro gibt. Ihr solltet aber darauf achten, dass die USV eine USB-Schnittstelle zur Überwachung und Steuerung hat.

Mit der UPS-Tools Integration (NUT), könnt ihr die USV mit Home Assistant verbinden, deren Status überwachen und bei einem längeren Stromausfall euer System sauber herunterfahren lassen.

Selbst wenn ihr einen Raspi als Plattform für Home Assistant nutzt, ist eine einfache USV oft deutlich billiger, als die speziellen USV-Platinen für den Raspi und ihr könnt außerdem weitere Geräte damit absichern.

3. ZigBee Stick für ZHA

ZHA ist eine Kernkomponente von Home Assistant und ermöglicht euch, alle ZigBee Geräte – egal ob Philips Hue, Lidl, IKEA Tradfri, Aqara und viele andere direkt in Home Assistant einzubinden. Bislang habe ich auf den ConBee II ZigBee-Stick gesetzt, habe nun jedoch den Sonoff Zigbee 3.0 USB Dongle Plus (für etwa 20 Euro bei Ebay) im Einsatz (Vergleichspreis Amazon). Die Reichweite ist besser, unterstützt mehr Geräte und die Reichweite ist höher.

Eine sehr interessante Alternative scheint der “offizielle” Sky Connect Stick von Home Assistant zu sein, der aber aktuell noch nicht bei deutschen Händlern zu bekommen ist.

4. Strommessung mit dem Shelly 3EM

Die Strompreise sind durch die Decke gegangen. Darum ist es wichtig zu wissen, wann man wo wie viele Strom verbraucht. Sehr zuverlässig und vergleichsweise einfach geht das mit den Energiemessgeräten von Shelly.

Der Shelly 3EM erfasst 3 Phasen und erkennt auch Einspeisungen, wenn ihr eine PV-Anlage habt. Durch seine Stromzangen ist die Installation relativ einfach, sollte aber trotzdem durch einen Fachmann erfolgen.

Shelly Pro 4EM mit Energiezähler

Wer einzelne Räume oder Verbraucher erfassen und auch gleich schalten möchte, kann den Shelly Pro 4EM einsetzen, der seinen Platz in der Verteilung findet. Überhaupt sind die smarten Geräte von Shelly eine ideale Lösung, um das Heim nachträglich in ein Smarthome zu verwandeln und sie arbeiten dabei einwandfrei mit Home Assistant zusammen.

5. Google Coral – Rechenpower für die Kameraüberwachung mit Frigate

Frigate ist wohl die beste Lösung zur Kameraüberwachung mit Home Assistant. Frigate erkennt nicht nur einfache Bewegung, sondern kann Personen, Fahrzeuge oder Tiere unterscheiden. Über die verschiedenen Sensoren, die Frigate bereitstellt, kann man damit z. B. einen intelligenten Bewegungsmelder für das Außenlicht realisieren, der auch wirklich nur bei Personen reagiert und nicht bei jeder Katze.

Google Coral

Google Coral USB3

Frigate benötigt aber einiges an Rechenpower, damit die Objekterkennung schnell und zuverlässig funktioniert. Dabei kann man es mit dem Google Coral Tensor unterstützen. Das ist ein spezialisierter Rechner für TensorFlow, der am USB3-Anschluss Platz findet. Er verbessert die Erkennungsleistung von Frigate um ein Vielfaches, ohne die CPU des Rechners zu belasten.

Zwar waren in der Chip-Krise die Preise für den kleinen Google Coral jenseits von Gut und Böse, aber nun scheinen sich Verfügbarkeit und Preise zu normalisieren. Einige Händler hatten ihn zeitweise für unter 100 € im Angebot. Ich habe meinen im Sommer 2021 für 67,80 Euro gekauft.

6. Amazon Alexa für Sprachsteuerung und Infos

Amazons Alexa polarisiert, bei uns ist sie jedoch kaum mehr wegzudenken. Die meisten Funktionen in unserem Haus kann man auch mit dem Sprachassistenten steuern und sie gibt Auskünfte über aktuelle Messwerte und Zustände.

Preiserhöhung für Home Assistant Cloud

“Alexa, wie ist meine Zusammenfassung” sagt mir etwa, ob das Garagentor noch offen und die Haustüre verschlossen ist, ob noch Fenster offen sind und welchen Energieverbrauch das Haus aktuell hat. Ich kann die Gartenbewässerung damit manuell steuern oder die Kaffeemaschine einschalten und sie sagt mir, wann ich das Fenster nach einer Lüftung wieder schließen sollte. Natürlich sorgt sie auch für Musik.

Alle Geräte mit Amazon Alexa bei Amazon

7. Wetterstation und Temperaturmessung mit Ecowitt Wetterstationen

Einer der wichtigsten Parameter in einem Smarthome ist die Temperatur und Luftfeuchtigkeit – sowohl innen als auch außen. Mit den Wetterstationen und Sensoren von Ecowitt, kann man diese Messwerte einfach und preiswert erfassen.

Ecowitt Wittboy Wetterstation

Entweder man startet nur mit dem günstigen Ecowitt Gateway, mit dem man Thermometer, Regenmesser, Bodenfeuchte- und viele andere Sensoren verbinden kann oder man greift gleich zu einer Ecowitt Wetterstation mit Gateway.

Ich habe übrigens den Ecowitt “Wittboy” im Testbetrieb. Dieser kommt auch für den Wind- und Regenmesser ohne bewegliche Teile aus. Der Wind wird dabei mittels Ultraschallsensoren und die Regenmenge mit Piezoelementen gemessen. Die Messwerte sind sehr gut, was ich mit meiner bisherigen Wetterstation und manuellen Messungen bestätigen konnte. Auch hier ist schon ein Gateway dabei, der sich problemlos mit Home Assistant verbinden lässt.

Baugleicher Sensor von DNT

Die Ecowitt WH31 Sensoren gibt es oft für deutlich unter 20 Euro und sie sind für innen uns außen geeignet. Die Reichweite des 866 MHz Funks ist ausgezeichnet und damit sind sie eine gute Alternative zu ZigBee-Sensoren. Übrigens sind die Geräte von FrogIT und DNT baugleich und kompatibel.

Mit den gewonnenen Werten des Windmessers, könnt ihr z. B. eure Jalousien automatisch öffnen lassen, wenn Sturm aufkommt und der Regenmesser macht euch darauf aufmerksam, besser die Fenster zu schließen, falls diese geöffnet sind und auch überwacht werden. Damit kommen wir zu …

8. ZigBee Fensterkontakte von Aqara, Sonoff und anderen

Fensterkontakte auf ZigBee-Basis gibt es von Aqara, Sonoff und einigen anderen Herstellern. Wenn ihr ZHA im Einsatz habt, sollten praktisch alle Sensoren in Home Assistant nutzbar sein. Diese kleinen Helfer sagen euch, wenn ein Fenster oder Türe offen ist, können aber auch Auskunft über die Position des Garagentors geben.

Aqara Türsensor an der Haustüre

Aqara Türsensor an der Haustüre

Ich habe die Aqara-Sensoren im Einsatz. Sie sind zuverlässig und die Batterien halten fast 2 Jahre. Neben den Türsensoren gibt es auch Modelle, die Vibrationen erfassen, Bewegungsmelder und auch sehr schöne und kleine Multisensoren für Temperatur, Luftfeuchte und Luftdruck.

9. NFC-Tags als universelle Schalter

NFC-Tags sind billig und man kann sie – zusammen mit einem Smartphone (das man ohnehin meist bei sich hat) – als universelle Schalter einsetzen.

NFC Tags mit Home Assistant

NFC Tags als Schalter

Einfach das Tag in der Home Assistant App anlernen und mit einer entsprechenden Automation verbinden. 50 NFC Tags gibt es für etwa 15 Euro. Sie lassen sich mit Kleber oder Silikon (Außenbereich, kein Acryl – das hält nicht!) befestigen und vielfältig einsetzen.

Mehr Infos dazu habe ich in diesem HA-Quickie.

10. Bluetooth Adapter für zig Aufgaben

Mit einem Bluetooth-Adapter ergeben sich jede Menge interessanter Funktionen. So kann man die Anwesenheit anhand von Smartphones oder Fitnesstrackern ermitteln und viele Bluetooth-Sensoren in Home Assistant einbinden.

Sogar die Grill-Thermometer von Govee können so in Home Assistant eingebunden werden und Alexa sagt einem dann, wann das Fleisch (oder der Tofu 😉 ) seine Kerntemperatur erreicht hat.

Ihr müsst nur darauf achten, dass der Chip des BT-Adapters mit Home Assistant kompatibel ist.

Das waren meine 10 Tipps für essenzielles Home Assistant Zubehör. Welches Zubehör ist für dich besonders wichtig?

5 Must-have Integrationen für Home Assistant

Stand heute, gibt es 2377 Integrationen für Home Assistant. Eine Integration bedeutet, dass man damit neue Funktionen erhält. Dabei kann es sich um Erweiterungen wie z. B. sehr komfortabel einstellbare Timer oder Statistikfunktionen handeln, aber auch um die Anbindung von Geräten wie z. B. Wärmepumpen, Heizungssteuerungen, Fernseher, Smart-Lights, PV-Anlagen oder E-Autos. Natürlich gibt es auch Integrationen für fast alle Gebäudeautomations-Standards wie KNX, LCN Issendorff, Loxone, Homematic und viele andere.

Durch diese Integrationen wird Home Assistant zum zentralen Hub für alle intelligenten Geräte im Haushalt und ermöglicht es, dass sich noch so unterschiedliche Systeme nun miteinander steuern und auslesen lassen. So kann man z. B. bei einem Anruf über eine AVM Fritzbox, die Deckenbeleuchtung blinken lassen, während sich gleichzeitig die Lautstärker des Fernsehers reduziert.

Gerade in der aktuellen Energiekrise helfen diese Möglichkeiten Energie zu sparen, in dem man etwa Heizungen viel intelligenter steuern kann, als es die Hersteller vorgesehen haben. So kann man etwa Anwesenheit, die Wettervorhersage und vieles mehr in die optimale Heizungssteuerung einfließen lassen.

1. HACS – die Integration für Integrationen

HACS ist eine Erweiterung, die den Zugriff auf den “Community Store” ermöglicht. Darin findet Integrationen, die von Nutzern erstellt wurden und hier gibt es jede Menge interessanter Möglichkeiten. Ich nutze daraus z. B. Irrigation Unlimited für meine DIY Bewässerungssteuerung.

HACS kann mit einem Klick installiert werden und ist eine Fundgrube für fast jede Anforderung. Bei HACS findet ihr auch neue Möglichkeiten für eure Dashboards, interessante Cards und vieles mehr.

Hier geht es zur HACS Seite mit weiteren Infos und Installationsanleitung

2. Power Calc – Stromverbrauch ohne Hilfsmittel messen

Mit Power Calc lässt sich der Stromverbrauch vieler Geräte ermitteln, ohne dass dazu Energiemessgeräte wie eine smarte Steckdose oder der von mir sehr geschätzte Shelly 3EM notwendig wäre.

Power Calc kennt viele Geräte wie z. B. Philips Hue Lights, IKEA Tradfri, innr, WLED Anwendungen, aber auch andere Verbraucher, wenn man diesen einen fixen Stromverbrauch zuordnen kann.

Power Calc findet kompatible Geräte direkt

Weiß man etwa, dass die Beleuchtung in der Küche 32 Watt verbraucht, weil sie aus 8 LED Spots mit 4 Watt Leistung besteht, kann man daraus einen virtuellen Verbrauchssensor erstellen. Dieser erfasst dann automatisch den Verbrauch, wenn die Beleuchtung in Betrieb ist.

Selbst gedimmte Leuchtmittel lassen sich damit erstaunlich genau erfassen, wenn man deren Verbrauch bei verschiedenen Helligkeitsstufen vorher einmal mit einem Verbrauchsmessgerät erfasst und eine entsprechende Umrechnung integriert, die etwa so aussehen kann:

sensor:
  - platform: powercalc
    entity_id: light.wohnzimmer_deckenbeleuchtung
    linear:
      calibrate:
        - 1 -> 0.3
        - 10 -> 1.25
        - 50 -> 3.50
        - 100 -> 6.8
        - 255 -> 15.3

So lassen sich auch nicht lineare Verbräuche, was besonders bei klassischen Glühlampen mit Glühfaden der Fall ist, die gedimmt werden, mit Power Calc erfassen.

Power Calc findet ihr im HACS Store. Hier geht es zu Power Calc bei GitHub.

3. Eure Heizungssteuerung – Beispiel Vissmann ViCare

Home Assistant bietet Integrationen für viele Heizungshersteller und Wärmepumpen. Teils als offizielle Integration, aber häufig über HACS.

Wir haben eine Viessmann Gastherme im Einsatz, die über ein Internet-Gateway verfügt. Dieser lässt sich mit der ViCare-Integration auslesen und auch verschiedene Steuerungsmöglichkeiten sind möglich. Dies unterliegt in der kostenlosen Version allerdings einem API-Limit, das 1450 Abrufe pro 24 Stunden erlaubt. Für die Auswertung und Steuerung ist das genug, wenn man z. B. 90 Sekunden Intervalle einstellt (Standard 60 Sekunden).

Messwerte aus der ViCare-Integration unserer Heizung

Mit einer solchen Integration kann man (je nach Hersteller) nicht nur die aktuellen Vorlauftemperaturen, die eingestellten Temperaturen für normalen und abgesenkten Betrieb, Warmwasser oder den Gasverbrauch ermitteln. Man kann die Heizung damit auch aktiv in die Steuerung eingreifen.

Heizungssteuerungen – und die von Viessmann besonders – sind eigentlich ein ziemliches Ärgernis, weil sich das Steuerungsverhalten kaum nachvollziehen lässt und selbst Fachbetriebe keine Ahnung haben, warum die Anlage das so macht. Hauptsache es wird warm …

Mit der Integration der Heizung in Home Assistant kann man nun gezielt Heizkreise steuern oder die Heizung komplett abschalten. So schalte ich den Heizkreis für die Fußbodenheizung und Heizkörper ab, wenn meine Referenzräume (Wohnzimmer und Büro) über 22 °C haben und das Bad zwischen 6:30 und 8:00 Uhr werktags und 7:30 und 10:00 am Wochenende über 23 Grad warm ist.

Die Steuerung von Viessmann würde hier sonst trotzdem lustig weiterheizen. Durch verschiedene Optimierungen in der Steuerung selbst und durch die zusätzliche Einbindung in Home Assistant, konnten wir unseren Gasverbrauch 2022 um über 40 % gegenüber 2021 reduzieren – bei gleichem (und teils besseren) Komfort. Solche Integrationen gibt es auch für Wärmepumpen von z. B. Nibe, Panasonic oder Daikin.

3. Thermal Comfort – gefühlte Temperatur, Taupunkt und absolute Luftfeuchte

Thermal Comfort ist eine Helferfunktion, die aus der gemessenen Temperatur und Luftfeuchtigkeit viele wichtige Parameter errechnet. So wird die gefühlte Temperatur ermittelt, denn nicht immer müssen 22 °C Raumtemperatur auch angenehm sein.

Einige Thermal Comfort Messwerte

Ebenso wichtig ist die absolute Luftfeuchtigkeit. Nur mit dieser kann zweifelsfrei eine Lüftungsempfehlung gegeben werden. Liegt die abs. Luftfeuchte außen unterhalb der abs. Luftfeuchte innen, kann bedenkenlos gelüftet werden. Ansonsten muss das Fenster zu bleiben, da man sich sonst noch feuchtere Luft hereinholt.

Mehr dazu habe ich in diesem Beitrag https://nachbelichtet.com/richtig-lueften-mit-hilfe-des-smart-homes/ geschrieben. Mit den Werten aus Thermal Comfort lassen sich dann auch gezielt Anzeigen steuern, die zum Lüften auffordern, den Luftbe- und Entfeuchter steuern und Hinweise auf den Taupunkt geben.

Thermal Comfort findet ihr im HACS Store. Hier geht es zur GitHub Seite.

4. ESPHome – Sensoren, Displays und Steuerungen selbst bauen

ESPHome ist eine offizielle Integration von Home Assistant. Mit ihr könnt ihr eigene Hardware auf Basis von ESP-Mikrocontrollern bauen und nahtlos in Home Assistant integrieren. Das macht nicht nur Spaß, sondern man kann damit auch sehr individuelle Steuerungs- und Messprobleme lösen.

ESPHome Multisensor mit Display DIY

ESPHome Sensor

Meine DIY-Bewässerungssteuerung für Gardena Sprinkler läuft ebenso damit, wie die Temperaturerfassung meiner Heizung (Schichtspeicher, Vor- und Rücklauftemperaturen) oder die Wasserstandsmessung in unserer Regenwasserzisterne.

Mit der ESPHome Plattform können viele günstige Sensoren und auch Displays genutzt werden, um daraus eigene smarte Geräte zu bauen. ESPHome Mikrocontroller können direkt aus Home Assistant heraus programmiert und upgedatet werden, was die Erstellung eigener Funktionen stark vereinfacht.

Mehr Infos: ESPHome Seite

AngebotBestseller Nr. 1OSRAM Smart+ LED, ZigBee Lampe mit E27 Sockel, warmweiß, dimmbar, Direkt kompatibel mit Echo Plus und Echo Show (2. Gen.)OSRAM Smart+ LED, ZigBee Lampe mit E27 Sockel, warmweiß, dimmbar, Direkt kompatibel mit Echo Plus und Echo Show (2. Gen.)

  • ZigBee Produkt -> Erweitern Sie Ihr Smart Home: Direkt steuerbar über Amazon Echo Show und Amazon Echo Plus. Für die Nutzung mit Amazon Echo, Amazon Echo Dot und Amazon Echo Spot ist ein zusätzliches Gateway nötig
  • Kompatible Smart Home Systeme: Osram Lightify, Telekom Magenta, Quivicon, Samsung SmartThings, Schwaiger4You und viele mehr
  • Echter Ersatz für eine 60W Glühbirne -> LED Glühlampe mit matter Oberfläche und E27 Sockel für den gewohnten einfachen Austausch 11,99 EUR −57% 5,11 EUR Amazon PrimeJetzt bei Amazon kaufenAngebotBestseller Nr. 2SONOFF ZBMINIR2 Zigbee Smart Schalter, Zigbee 3.0 Lictschalter, Zigbee Smart Switch Funktioniert mit Alexa & Google Home, Zigbee Hub Erforderlich, Neutralleitung ErforderlichSONOFF ZBMINIR2 Zigbee Smart Schalter, Zigbee 3.0 Lictschalter, Zigbee Smart Switch Funktioniert mit Alexa & Google Home, Zigbee Hub Erforderlich, Neutralleitung Erforderlich

  • 【Intelligente Steuerung】Der ZBMINIR2 ist ein Zigbee 3.0 Ein-Kanal-Neutralleitungsschalter, der in einer Montagekasten installiert werden kann und eine maximale Last von 10 A unterstützt, womit er einfache Schalter intelligent macht.

  • 【Miniaturisierte Größe】Mit 3,95 x 3,3 x 1,68 cm passt er in jede Standard-Einbauschiene. Er benötigt eine NEUTRALLEITUNG und unterstützt eine maximale Leistung von 2200 W.
  • 【Personalisierter Lichtsteuerung】Machen Sie Ihre Beleuchtungssysteme intelligent an/aus. Sie können die Geräte leicht konfigurieren und ihre Einstellungen individuell verwalten oder verschiedene Geräte kombinieren, um spezifische Aktionen in Ihrem Heimautomatisierungssystem auszulösen. 12,90 EUR −27% 9,40 EUR Amazon PrimeJetzt bei Amazon kaufenAngebotBestseller Nr. 3SONOFF SNZB-02LD Zigbee wasserdichter Temperatursensor mit 1,5 m Edelstahlsonde, LCD-Display, -40~115°C Bereich, APP-Überwachung, magnetische Halterung, kompatibel mit Zigbee-HubSONOFF SNZB-02LD Zigbee wasserdichter Temperatursensor mit 1,5 m Edelstahlsonde, LCD-Display, -40~115°C Bereich, APP-Überwachung, magnetische Halterung, kompatibel mit Zigbee-Hub

  • Wasserdichtes Design:Die IP65-zertifizierte Hauptvorrichtung widersteht Wasserplatschungen und eignet sich daher für nasse Umgebungen wie Pools, Badewannen oder Küchen, ohne die Leistung einzubüßen.

  • Breiter Temperaturbereich:Ausgestattet mit einer 1,5 m langen 304-Edelstahlsonde für genaue Messungen von -40°C bis 115°C, ideal für Messungen in Kühlschränken, Lüftungskanälen, Gärflaschen und vielem mehr.
  • Echtzeit-LCD-Display:Klares, hochauflösendes LCD-Bildschirm zeigt die aktuelle Temperatur sofort an, sodass Sie nicht jedes Mal Ihr Telefon überprüfen müssen. 21,89 EUR −23% 16,92 EUR Amazon PrimeJetzt bei Amazon kaufenAngebotBestseller Nr. 4SONOFF S60ZBTPF Zigbee Steckdose – Fernsteuerung, Energiemessung, Zigbee-Repeater, Zeitpläne, Überlastschutz, kompatibel mit der eWeLink-App - Erfordert Zigbee-GatewaySONOFF S60ZBTPF Zigbee Steckdose – Fernsteuerung, Energiemessung, Zigbee-Repeater, Zeitpläne, Überlastschutz, kompatibel mit der eWeLink-App – Erfordert Zigbee-Gateway

  • Fernsteuerung – Geräte von überall aus verwalten Steuern Sie Lampen, Ventilatoren oder kleine Geräte bequem über eine Smart-App. Schalten Sie Geräte mit nur einem Tipp auf Ihrem Smartphone ein oder aus – egal ob Sie bei der Arbeit, auf Reisen oder zu Hause sind – und machen Sie sich nie wieder Sorgen über „vergessene Geräte“.

  • Timer & Zeitpläne – Automatisieren Sie Ihren Alltag Stellen Sie individuelle Timer, Countdowns oder wiederkehrende Zeitpläne ein, um Geräte automatisch zu steuern. Beispiele: Starten Sie die Kaffeemaschine um 7 Uhr, schalten Sie die Schlafzimmerlampen um 23 Uhr aus oder stoppen Sie Ladegeräte nach 2 Stunden. Passt sich mühelos Ihrem Alltag an.
  • Energieüberwachung – Verbrauch verfolgen, Kosten senken Sehen Sie Echtzeit- sowie tägliche, wöchentliche und monatliche Energiedaten in der eWeLink-App. Erkennen Sie stromintensive Geräte, passen Sie Ihr Nutzungsverhalten an und senken Sie Ihre Stromkosten mit klaren, umsetzbaren Erkenntnissen. 16,39 EUR −20% 13,19 EUR Amazon PrimeJetzt bei Amazon kaufenAngebotBestseller Nr. 5SONOFF SNZB-02D Zigbee Temperatur- und Feuchtigkeitssensor,Zigbee LCD Smart Thermometer Hygrometer,Zigbee Hub Erforderlich,Temperature Humidity Sensor Kompatibel mit Alexa/Google Home/Home AssistantSONOFF SNZB-02D Zigbee Temperatur- und Feuchtigkeitssensor,Zigbee LCD Smart Thermometer Hygrometer,Zigbee Hub Erforderlich,Temperature Humidity Sensor Kompatibel mit Alexa/Google Home/Home Assistant

  • 【Fernüberwachung in Echtzeit】Der SNZB-02D Zigbee Temperatur- und Feuchtigkeitssensor überwacht die Temperatur und Luftfeuchtigkeit in Echtzeit auf der APP aus der Ferne oder auf dem Bildschirm mit einer Abdeckung von bis zu 120 m/400 ft.

  • 【Hohe Genauigkeit und 5 Sekunden schnelle Aktualisierung】SONOFF Thermometer Hygrometer Sensor Eingebauter, in der Schweiz hergestellter, intelligenter Hygrometersensor, der Ihnen genauere Messwerte liefert und eine Genauigkeit von ±0,2 °C/±0,4 °F bei der Temperatur und eine Genauigkeit von ±2 % RH bei der Luftfeuchtigkeit beibehält, aktualisiert die Messwerte alle 5 Sekunden.
  • 【Großes LCD Display】Verwenden Sie ein großes LCD Display, um die Echtzeitwerte der Temperaturfeuchtigkeit klar und dynamisch anzuzeigen. Mit den intuitiven Anzeigesymbolen können Sie die Raumbedingungen und den Batteriestatus noch einfacher als je zuvor überprüfen. 15,71 EUR −16% 13,20 EUR Amazon PrimeJetzt bei Amazon kaufen

5. ZHA – ZigBee Home Automation. Die Alternative zur Philips Bridge

ZigBee ist einer der Standards im Smarthome. Die beliebten Hue Lampen und Geräte von Philips basieren ebenso auf diesem Standard wie IKEAs Tradfri, Aqara Sensoren oder Lampen von Lidl und Müller Licht.

ZigBee Netzwerk

Ein Ausschnitt aus unserem ZigBee Netzwerk mit ZHA

Dummerweise kann sich die Philips Bridge nicht mit allen Geräten unterhalten. Abhilfe schafft die offielle ZigBee Integration von Home Assistant, abgekürzt ZHA. Damit lassen sich die ZigBee Geräte nahezu aller Hersteller direkt mit Home Assistant verbinden und steuern. Hierzu benötigt man z. B. den Sonoff ZigBee 3.0 USB Dongle Plus. Neuerdings gibt es auch einen “offiziellen” ZigBee Stick von Home Assistant, den Sky Connect Stick.

ZHA arbeitet stabil, ist direkt integriert und macht einfach Spaß. Mehr Infos: https://www.home-assistant.io/integrations/zha/

Zusatztipp: Studio Code Server

Wenn ihr Home Assistant Supervised nutzt, solltet ihr unbedingt auch den Studio Code Server installieren. Damit habt ihr Microsofts hervorragende VSCode Programmierumgebung direkt im Browser und in Home Assistant zur Verfügung. Damit könnt ihr nicht nur die Konfigurationsdateien von Home Assistant komfortabel und mit Code-Vervollständigung bearbeiten, sondern auch ESPHome Projekte viel einfacher programmieren.

ESPHome Programmierung mit VSCode

Der Studio Code Server ist ein Add-on und nicht direkt eine Integration. Add-on bedeutet, dass es eine Anwendung ist, die als Docker-Container in der Supervised-Umgebung läuft.

Studio Code Server Add-on Projektseite

Das waren meine 5 Empfehlungen zu Home Assistant Integrationen, die ich selbst nutze. Natürlich sind die individuellen Anforderungen ausschlaggebend und die Masse der Erweiterungen und Add-Ons, die auch noch täglich wächst, macht es fast unmöglich, allgemeine Empfehlungen zu geben. Ich bin mir aber sicher, dass diese Erweiterungen für Home Assistant auch euch nützen.

Home Assistant und ZigBee – ZHA, DeConz oder ZigBee2MQTT?

Der Vorteil einer Lösung wie Home Assistant liegt darin, unterschiedlichste Systeme miteinander zu verbinden. Dazu gehören auch Lampen, Steckdosen und Sensoren, die auf den ZigBee-Standard hören. Diese bekommt man mittlerweile mit TINT (Müller Licht) auch bei Aldi oder unter dem Namen Silvercrest bei Lidl.

Philips Hue Iris

ConBee Stick II und DeConz/Phoscon – meine bisherige Lösung

Ich habe 15 Lampen von Philips, Aldi, Osram und Lidl sowie weiter 25 Sensoren von Aqara (Magnetsensoren und Multisensoren), Tradfri und Lidl im Einsatz. Das ist schon ein ziemlich umfangreiches ZigBee-Setup. Bislang lief es mit dem ConBee-Stick mit Phoscon/DeConz in einem externen Docker-Container unter UnRAID.

Der Grund dafür war, dass ich es nie geschafft habe, den ConBee II Stick zuverlässig zu meiner virtuellen Maschine durchzureichen, um DeConz/Phoscon direkt in Home Assistant laufen zu lassen. Einzig nach HA-Updates musste ich den DeConz-Container oft neu starten, damit die Geräte von HA aus wieder erreichbar waren. Das habe ich jedoch über ein Skript lösen können, das nach dem Neustart von HA den Docker-Container ebenfalls neu startete.

Phoscon mit ConBee Stick

Ein Nachteil der DeConz-Lösung des ConBee II Sticks ist, dass neue Geräte oft erst sehr viel später unterstützt werden und das System manchmal auch etwas träge in der Ausführung ist. Darum habe ich mir die beiden anderen Lösungen einmal genauer angesehen. Gleich vorweg: Es war ein heißer Ritt und teilweise wirklich nervenaufreibend, denn man muss natürlich alle Geräte neu koppeln, HA Entitäten und Automationen anpassen etc.

ZHA (ZigBee Home Automation) – geht, geht nicht, geht, geht nicht

ZHA ist die direkte Implementierung für ZigBee in Home Assistant. Einfach die Integration installieren, der Anschluss des ZigBee-Coordinators wird normalerweise automatisch erkannt und nach kurzer Zeit hat man ZigBee in Home Assistant zur Verfügung. Die Integration der gefundenen Geräte ist so, wie man es von Home Assistant kennt und alles wirkt wie aus einem Guss. Das Durchreichen eines Sonoff ZigBee USB 3.0 Dongle Plus Sticks war kein Problem und er wurde auch gleich erkannt.

ZHA Integration eines Geräts in Home Assistant

Die ZigBee Geräte waren relativ schnell angelernt, allerdings musste ich feststellen, dass die Geräte bei der Kopplung oft näher am Coordinator sein mussten, als ich das vom ConBee-Stick kannte. Das Setup war jedoch fast identisch: USB-Verlängerung für den Stick und dieser an fast identischer Position im Haus – daran konnte es also nicht liegen.

Ich war irgendwie begeistert, wie schön das alles integriert und aufgebaut ist und sah das schon als “meine” Lösung, weil mit den HA-Updates auch gleich ZHA upgedatet und neu gestartet wird. Die Darstellung der Netzwerk-Topologie ist gut, wenngleich man die Beschreibungen der einzelnen Knoten erst nach starkem Hineinzoomen angezeigt bekommt.

Visualisierung in ZHA

Nachdem alle Geräte gekoppelt waren, zeigten sich erste Probleme, denn plötzlich waren manche (hauptsächlich) Hue-Lampen nicht mehr erreichbar. Die ganzen Sensoren oder auch TINT-Leuchten funktionierten weiterhin. Nach einem Neustart waren die Lampen wieder erreichbar, bis sie einige Stunden später wieder ausfielen. Dabei war kein Schema zu erkennen. Manche Lampen, die nahe am ZigBee-Stick waren, gingen nicht mehr, wohingegen manch weit entfernte problemlos funktionierten. Durch erneutes Koppeln, konnte man sie wiederbeleben, wobei die vorhergehenden Einstellungen erhalten blieben. Nach unbestimmter Zeit waren sie dann wieder andere Geräte offline.

Sonoff ZigBee 3.0 USB Dongle Plus

Da die Logs von ZHA die Kommunikation mit den funktionierenden Geräten ohne Probleme anzeigten, konnte es auch nicht an meiner virtuellen Maschine und dem Pass-Through des USB-Sticks liegen, zumal auch die Sensoren keinerlei Verbindungsprobleme hatten. Das Verhalten hing wohl auch nicht vom ZigBee-Stick ab, denn der Effekt war sowohl mit dem Sonoff-Stick als auch mit dem ConBee gleichermaßen vorhanden.

Eine Recherche ergab (hier nur EIN Beispiel: https://community.home-assistant.io/t/zha-zigbee-network-hell-since-updates/478368/9), dass ich hier nicht allein war. Seit den letzten HA-Updates funktioniert ZHA wohl immer unzuverlässiger – egal ob auf einem Raspi, nativ auf PC-Hardware, HA als Docker oder VM. Viele berichteten auch, dass DeConz beim gleichen Setup nie Probleme verursacht habe.

Das war natürlich kein Zustand, da über die ZigBee-Sensoren auch einige wichtigere Dinge bei mir gesteuert werden. Darum weiter zu …

ZigBee2MQTT – erwachsen, flexibel und mit breiter Geräteunterstützung

ZigBee2MQTT ist eine Open Source Implementierung des ZigBee Protokolls, das unabhängig von der verwendeten Smarthome-Software läuft. Man benötigt natürlich einen MQTT-Broker wie Mosquitto, der aber in Home Assistant als Add-On zur Verfügung steht. ZigBee2MQTT kann auch unter HA als Add-On installiert werden, ich habe mich jedoch dafür entschieden, es als Docker-Container direkt in UnRaid zu installieren, was reibungslos funktionierte.

ZigBee Geräte in ZigBee2MQTT

ZigBee2MQTT kann mit verschiedenen ZigBee-Lösungen wie dem ConBee-Stick, Sonoff ZigBee 3.0, der Sonoff-Bridge oder anderen betrieben werden. Da ich nach dem Reinfall mit ZHA erst einmal testen wollte, wie sich ZigBee2MQTT verhält, habe ich es parallel zu ZHA (mit ConBee) installiert und dazu den Sonoff-Stick eingesetzt.

Auffällig war zunächst, dass das Koppeln der Geräte mit dem Sonoff Stick sehr viel schneller ging, als unter ZHA und ein direkter Vergleich mit beiden Installationen zeigte, dass ZigBee2MQTT schneller auf Befehle (gerade bei Farbwechseln) reagierte, als ZHA. Sehr viel wichtiger ist jedoch, dass die gekoppelten Geräte auch zuverlässig verbunden bleiben und da zeigten sich bei diesem System bislang keine Probleme.

Netzwerk-Topologie

ZigBee2MQTT bietet die breiteste und schnellste Unterstützung für Endgeräte und erlaubt die Konfiguration bis ins kleinste Detail. Die Darstellung der Netzwerk-Topologie ist schön gelöst und informativ. Man hat ein einfaches Dashboard mit allen verfügbaren Geräten, die man von dort aus direkt steuern kann, was bei einem Test sehr praktisch ist. Gerätenamen können direkt editiert werden und auf Wunsch wird der neue Name gleich in HA für die Entity übernommen.

ZigBee2MQTT Dashboard

Auf zigbee2mqtt.io gibt es zudem eine riesige Datenbank über praktisch alle auf dem Markt verfügbaren ZigBee-Geräte mit Beschreibung, Funktionsumfang und wie man sie in den Kopplungsmodus versetzt. Diese Datenbank ist Gold wert und nicht nur für Nutzer dieses Systems hilfreich.

ZigBee2MQTT abstrahiert die ZigBee-Anbindung auch gut, denn durch die MQTT-Basis kann man mit anderen Systemen direkt und ohne Umweg über Home Assistant auf die verbundenen Geräte zugreifen.

Welche ZigBee Lösung ist für Home Assistant die beste?

ZHA wäre definitiv die schönste Lösung, da sie direkt in Home Assistant integriert ist. Leider scheitert die Nutzung an der genannten Unzuverlässigkeit, die wohl kein Einzelfall ist. Ob diese Ausfälle bei größeren Netzen und/oder vielen unterschiedlichen Geräten häufiger sind, konnte ich nicht herausfinden.

Es wird auch von Installationen berichtet, die nur aus 4 oder 5 Geräten bestehen und trotzdem Probleme zeigen. Auch scheint es nicht an der ZigBee Hardware wie Sonoff, ConBee oder anderen zu liegen. Daher ist diese Lösung momentan mit Vorsicht zu betrachten und ihr solltet erst einmal einen Test machen, bevor ihr euch entscheidet oder alles über den Haufen werft.

ZigBee Bewegungsmelder im Vergleich

ZigBee Bewegungsmelder im Vergleich

ZigBee2MQTT ist eine etablierte Lösung mit vielen Möglichkeiten und der breitesten Hardware-Unterstützung. Updates und neue Hardware gibt es laufend und sehr zeitnah, sollten Probleme auftauchen.

Der Nachteil dieser Lösung ist, dass man einen MQTT-Broker benötigt. Gleichzeitig kann das auch ein Vorteil sein, denn ZigBee2MQTT läuft eigenständig und losgelöst von anderen Anwendungen. Will man von Home Assistant etwa auf OpenHAB wechseln (warum sollte man, aber das ist nur ein Beispiel), verbindet man sich mit dem MQTT Broker und hat sofort Zugriff auf die ZigBee-Geräte.

ZigBee2MQTT arbeitet schnell und stabil und auch die Kopplung funktioniert schnell und zuverlässig.

DeConz/Phoscon bietet die schönste Benutzeroberfläche, gute Hardware-Unterstützung – wenngleich neue Geräte oft erst Monate später unterstützt werden. DeConz ist nicht das schnellste System und wer Home Assistant als VM betreibt, kann Probleme mit dem Durchreichen des ConBee II Sticks bekommen.

ConBee 2 USB Stick

Es ist das System, das bei mir am längsten (über 3 Jahren) im Einsatz war und immer zuverlässig arbeitete. Die Integration in Home Assistant ist gut gelöst und es arbeitet auch direkt als Bridge. Damit kann der ZigBee Stick mit DeConz/Phoscon auch direkt mit Alexa oder einer App wie Hue Essentials verbunden werden. Das geht bei ZHA/ZigBee2MQTT nur über Home Assistant oder eine zusätzliche Anwendung wie diyHUE. Das erfordert aber auch eine zusätzliche Installation als Docker Container oder Home Assistant Add-On und erhöht die Komplexität.

Für welche Lösung habe ich mich entschieden?

Gute Frage! Da bin ich mir noch nicht sicher. Aus jetziger Sicht werde ich ZigBee2MQTT parallel mit einigen Lampen laufen lassen und beobachten. Meine Tendenz geht aber wieder klar in Richtung ConBee/DeConz/Phoscon. Es funktionierte lange zuverlässig. Alle Geräte, die ich momentan im Einsatz habe, werden unterstützt und es arbeitet auch gleichzeitig als Bridge, welche auch ohne Home Assistant funktioniert.

Würde ZHA zuverlässig funktionieren, hätte ich kein Problem damit, sofort darauf umzusteigen. Dazu muss man aber erst einmal die Erfahrungen mit zukünftigen Updates beobachten.

Gleichzeitig werde ich mir aber einmal ansehen, wie sich ZHA auf einer anderen Home Assistant Installation verhält. Hierzu werde ich ein Backup meiner HA-Konfiguration einmal direkt auf eine PC-Hardware installieren und einmal als Proxmox-VM.

Ich habe von meiner Home Assistant Installation ein Backup gemacht und als virtuelle Maschine – wie angekündigt – unter Proxmox installiert. Dafür musste ein alter Dell Mini PC mit 8 GB und i5 CPU (Dell Optiplex 790 SFF mit Intel Core i5 2500, gibt es mit 8 GB und 250 GB SSD für unter 100 Euro) herhalten, den ich noch rumstehen hatte. Auch hier habe ich den Sonoff ZigBee Stick an die VM durchgereicht und was soll ich sagen: ZHA läuft hier absolut problemlos!

Der kleine DELL mit dem Sonoff Stick als Basis für meinen Proxmox Test

Noch interessanter ist, dass dieselbe Home Assistant Installation hier deutlich schneller läuft und flüssiger reagiert. Ich kann sogar Frigate mit 4 Kameras direkt mit dem HA Add-On OHNE Google Coral Beschleuniger bei 50 % CPU-Auslastung laufen lassen. Das erste Diagramm zeigt die Auslastung der Home Assistant VM mit und ohne Frigate.

Anscheinend funktioniert die Virtualisierung auf meine UnRaid Server deutlich schlechter, als Proxmox und verursacht auch die Probleme mit den ZigBee-Sticks.

Da ich schon länger mit Proxmox experimentiere, werde ich meinen UnRaid-Server wohl komplett auf Proxmox umstellen. Die Snapshot-Funktionen für die VM und das eingebaute Backup funktionieren hervorragend, während man bei UnRaid selbst Lösungen finden muss, die nie so richtig stabil sind.

ZHA funktioniert schnell und alle gekoppelten Geräte sind zuverlässig erreichbar. Daher ist meine Empfehlung eindeutig ZHA!

Home Assistant Quickie: Werte in Prozent anzeigen

Bei meiner Zisterne, wird aus der Spannung des Wasserstandsensors der Füllstand in Zentimetern und Litern berechnet. Natürlich weiß ich, dass bei 100,5 cm Füllstand die Zisterne bis zum Überlauf voll ist und damit laut Herstellerangabe 5130 Liter Wasser enthalten sind. Doch wie gibt man den Füllstand in Prozent aus? Das ist auch für Batterieanzeigen interessant, denn 70 % Batterielevel sind intuitiver zu verstehen, als 2,7 Volt.

Mit einem Sensor-Template geht die Umrechnung ganz einfach, denn damit kann man praktisch einen “virtuellen” Sensor bauen, der eine Berechnung aus anderen Quellen ausgibt.

Wir benötigen einen Sensor mit dem aktuellen Wert, also z. B. dem aktuellen Wasserstand in Litern. Bei mir ist das die Entität sensor.zisterne_liter. Außerdem den maximal zu erreichenden Wert, den Grundwert. Bei meiner Zisterne wären das 5130 (Liter).

Nun erstellt man einen neuen Sensor. Entweder unter sensors: in der configuration.yaml oder, wie bei mir, in einer ausgelagerten sensors.yaml in der nur meine Sensoren enthalten sind – das schafft mehr Übersicht.

1
2
3
4
5
6
7
sensors:
  - platform: template
    sensors: 
      zisterne_prozent:
        unit_of_measurement: '%'
        value_template: >-
          {{ (((states('sensor.zisterne_liter'))|float / 5130) *100)|round(1) }}

In value_template teilen wir den gemessenen Wert des Sensors durch den Grundwert, also 5130 und multiplizieren das Ergebnis mit 100. round(1) gibt an, dass auf eine Nachkommstelle gerundet werden soll. Will man keine Nachkommastellen, gibt man round(0) an.

Nach dem Reload hat man eine neue Entität sensor.zisterne_prozent, die man dann im Dashboard einbinden kann.

Für eine Batterie muss man erst einmal wissen, ab wann eine Batterie als leer angesehen werden kann. Bei Knopfzellen, wie man sie in vielen Geräten wie den Aqara ZigBee Sensoren findet, kommen 3 Volt Lithium-Knopfzellen zum Einsatz. Die meisten Hersteller geben an, dass die Zelle bei einer Spannung von 2 Volt leer ist. Daher darf man also nicht die 3 Volt als Grundwert annehmen, sondern nur die Differenz zwischen neuer Batterie mit 3 Volt und leerer Batterie mit 2 Volt, also 1 Volt. Bei 1,5 Volt Batterien geht man von 0,9 Volt für eine leere Batterie aus, also müsste man 0,6 Volt als Grundwert annehmen (1,5 Volt – 0,9 Volt).

1
2
3
4
5
6
7
sensors:
  - platform: template
    sensors: 
      batterie_prozent:
        unit_of_measurement: '%'
        value_template: >-
          {{ (((states('sensor.batteriespannung'))|float / 1) *100)|round(0) }}

Hier nimmt man den Sensor, der die aktuelle Batteriespannung eines Geräts misst, und setzt z. B. bei einer 3 Volt Batterie 1 als Grundwert ein und schon hat man den Batteriezustand in Prozent.

DIY Bewässerungssteuerung mit Home Assistant und ESPHome

Mit unserer Zisterne, die wir im letzten Jahr als Puffer und mit den neuen Rohren für die Regenwasserableitung bekommen haben, gibt es und reichlich kostenloses Wasser vom Dach. Zumindest, wenn es eines Tages mal wieder regnet.

Wir haben daher auf dem Grundstück Rohre für eine automatische Bewässerung verlegt, wozu das Gardena Bewässerungssystem zum Einsatz kam, da diese Komponenten im letzten Jahr günstiger als die Alternativen von Hunter oder Rainbird waren.

Über 5 Ventile steuern wir 5 individuelle Kreise an:

  • Rasenbewässerung Ost
  • Rasenbewässerung West
  • Hochbeet / Beete
  • Vorgarten
  • Wasserauslass in der Einfahrt

Als Material haben wird verbaut:

Gardena Versenkregner

Die Elektronik des Waterking

Die typischen Bewässerungsventile werden mit 24 Volt Wechselstrom angesteuert. Der Einschaltstrom beträgt etwa laut Datenblatt 370 mA, der Haltestrom 210 mA. Die tatsächlichen Werte waren nach meinen Messungen etwas geringer.

Da nie alle Ventile gleichzeitig in Betrieb sind, weil sonst der Wasserdruck zu stark abfallen würde (selbst bei der 4 bar Tauchdruckpumpe), genügt ein 24 Volt Wechselspannungsnetzteil mit 1 Ampere. Das hatte ich noch von einer alten Außenlichterkette. Passende Netzteile bekommt man auch bei Ebay.

Würde man die Ventile mit Gleichspannung betreiben, könnten sich die Kerne der Elektromagnete permanent magnetisieren und die Ventile würden “kleben”. Im schlimmsten Fall wird der Kern gesättigt, was einen höheren Stromfluss und damit die Zerstörung der Spulen bedeuten kann.

Daher kann man keine MOSFETs zur einfachen Ansteuerung nutzen. Am einfachsten wären Relais, doch darauf wollte ich nicht vertrauen. Erstens können die Kontakte korrodieren und die einfachen China-Relais, die es als 4er oder 8er Platinen fix und fertig gibt, sind nicht unbedingt zum Schalten von Niederspannung geeignet. Das klingt paradox, aber die meisten Legierungen, die für Relais-Kontakte eingesetzt werden (bei diesen Relais AgCdO), benötigen einen kurzen Lichtbogen, der nur bei höheren Spannungen und Strömen entsteht (der sog. Frittstrom). Dadurch werden Oxide weggebrannt, was für einen dauerhaft guten Kontakt sorgt. Da im Gerätehaus auch hohe Luftfeuchtigkeit vorkommt, schieden Relais für mich aus.

Die Triacs der 5 Kanäle mit den weißen Optokopplern

Ich habe mich bei meinem DIY-Controller, den ich Waterking getauft habe, für Triacs vom Typ BTA08-600B entschieden, die über einen MOC3041 Optokoppler angesteuert werden, der auch gleich einen Nulldurchgang-Triac-Treiber enthält. Rechnet man noch 5 Widerstände, einen NPN-Transistor und eine LED dazu, kostet ein Kanal nicht einmal einen Euro und man wird nie Kontaktprobleme haben. Die LEDs zeigen Hardware-seitig an, ob ein Ventil offen ist und der Optokoppler angesteuert wird.

Da man ohnehin schon die 24 Volt hat, kann man die auch für die Versorgung des ESP8266 und des Displays nutzen. Gleichgerichtet kommt man auf 35 V Gleichspannung, die ich mit einem LM2596S Step-Down-Konverter sehr effizient auf 5 Volt wandle.

Wie oft bei meinen Projekten kommt ein Wemos D1 Mini Pro zum Einsatz, weil ich vor längerer Zeit einmal preiswert einen größeren Posten eingekauft hatte. Der Wemos wird auch bis auf den (fast) letzten GPIO ausgereizt. Zur Ansteuerung von 5 Ventilen und unserer Tauchdruckpumpe benötige ich 6 Ausgänge. Jetzt könnte man 6 GPIOs verbraten oder man nimmt ein Schieberegister vom Typ SN74HC595. Damit kann man mit 3 Steuer-Pins 8 Ausgänge schalten. Benötigt man mehr, kann man unter ESPHome bis zu 4 SN74HC595 kaskadieren, wozu man dann noch einen Pin mehr benötigt, damit aber 32 Ausgänge erhält.

Die Pumpe wird über ein Solid State Relais (SSR) geschaltet.

TL - 136 Flüssigkeitsstandsender Wasser Ölstandsensor Detektor 24VDC 420mA Signalausgang(0-2m), SenderTL – 136 Flüssigkeitsstandsender Wasser Ölstandsensor Detektor 24VDC 420mA Signalausgang(0-2m), Sender

Ursprünglich sollte mein Controller “dumm” bleiben, also nur die Triac-Ausgänge per Home Assistant schaltbar machen. Wenn man aber schon einen Mikrocontroller hat, kann man ja auch gleich noch ein paar Funktionen extra einbauen. So schalten die Ventile nach einer konfigurierbaren Zeit (10 Minuten) ab. Ist kein Ventil mehr aktiv, wird auch die Pumpe deaktiviert. Sollte die WLAN-Verbindung während der Bewässerung verloren gehen oder Home Assistant einen Bug haben, schalten Ventile und die Pumpe automatisch und autonom ab. Aufgebaut habe ich alles auf einer Streifenrasterplatine. Ich bin “Team Streifenraster” – mir gefällt das Herumgekleckse mit Lötzinn auf den Perfboards einfach nicht.

Bitte habt Verständnis dafür, dass ich keinen Plan für den Aufbau der Platine habe. Ich mache so etwas frei und ohne große Vorplanung direkt vom Schaltplan weg. Kurz die Position der Teile testen und los geht es. Bei Gelegenheit gibt es vielleicht mal ein Platinenlayout mit KiCAD dazu – vielleicht hat ja auch von euch jemand Lust dazu? Den Schaltplan in KiCAD dazu gibt es.

Schaltplan ohne Display und Encoder

Über einen Dreh-Encoder und das LED-Display kann ich nicht nur den Zustand der Ventile (zusätzlich zu den LEDs am Optokoppler) anzeigen lassen, sondern diese auch direkt am Controller ein- und ausschalten. Weitere Menü-Ebenen zeigen den Wasserstand der Zisterne in Zentimetern und Litern, die Stärke des WLAN-Signals, den heutigen Wasserverbrauch und die Uhrzeit an. Wie man den Wasserstandsmesser mit einem TL-136 Sensor baut, habe ich hier beschrieben: https://nachbelichtet.com/wasserstand-in-zisternen-mit-homeassistant-esphome-und-tl-136-drucksensor-messen/

Wasserstand in der Zisterne

Durch einfaches Drehen am Encoder kann man die Ebenen wechseln. Drückt man die Taste, gelangt man ins Setup-Menü für die Ventile. Ein Strich zeigt ein inaktives Ventil an, ein Kästchen ein aktives. Der Dezimalpunkt signalisiert, welches Ventil man gerade ausgewählt hat und ein langer Druck auf die Taste schaltet es ein oder aus. Mit einer kurzen Betätigung kommt man wieder ins Hauptmenü.

Der Waterking im Einsatz

Mich hat es einmal gereizt, mit einer einfachen 8-stelligen LED-Anzeige ein komfortables Menü zu basteln. Es muss nicht immer ein OLED- oder LC-Display sein und die LED-Anzeige ist sehr robust, was bei -20 bis +50 °C im Gerätehaus nicht unwichtig ist.

Die verschiedenen Menüs und Einstellungen im Display

Über die Abfrage des Wasserstands der Zisterne, kann ich die Pumpe deaktivieren, wenn der Wasserstand unter 12 cm sinkt. Eine lange Betätigung der Encoder-Taste schaltet alle Ventile und die Pumpe sofort aus.

Ventilesteuerung in Home Assistant mit Wasserstand der Zisterne

Das Interlocking der Ausgänge verhindert, dass bestimmte Ventile gleichzeitig aktiv sein können. Damit verhindert man nicht nur einen Druckabfall, sondern auch die Überlastung des Netzteils. Es können maximal 3 Ventile (Gardena Micro Trip Tropfer Hochbeet, Vorgarten und Wasserentnahme) aktiv sein und nur einer der beiden Kreise für die Rasenfläche. Auch diese Sicherheitsfunktion stellt der Controller direkt bereit – egal, was ich in Home Assistant sonst konfigurieren würde.

3D-gedrucktes Gehäuse für den Waterking

Damit alles auch ordentlich verpackt ist und auch gut aussieht, habe ich noch ein Gehäuse aus PETG und PLA gedruckt. Das transparente PETG lässt die LEDs und das Display durchscheinen.

Gehäuse mit abstrahiertem Modell der Platine

Beim Displayausschnitt habe ich die Schichtdicke bei der Konstruktion so gewählt, dass kein Infill gedruckt wird. Damit sieht das wie eine transparente Folie aus.

Das ganze Gehäuse ist schraubenlos verschließbar und auch die Platine wird nur von Schnappverschlüssen gehalten. Bei einer handgefertigten Platine ist die Konstruktion eines Gehäuses mit Deckel nicht ganz trivial, klappte aber beim ersten Versuch und Druck.

Konstruktion in Fusion 360

Als Gag ist noch ein Halter für eine Ersatzsicherung dabei. Der Zugang zu den Anschlussklemmen erfolgt von unten. Zur Konstruktion habe ich – wie immer – Autodesk Fusion 360 eingesetzt. Den Druck erledigte mein Creality Ender 3 in etwa 10 Stunden.

Zugang zu den Anschlussklemmen

Wer den Aufwand mit der Ventilansteuerung nicht betreiben möchte, kann statt der Triacs auch eine solche SSR-Platine einsetzen, die man für unter 20 € bekommt. Hier muss man nur noch die Kanäle mit dem ESP ansteuern. Der Code unten kann auch hierfür genutzt werden.

SSR-Modul mit 8 Kanälen.

Die YAML-Konfiguration in ESPHome habe ich mit entsprechenden Anmerkungen versehen:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
esphome:
  name: waterking
  platform: ESP8266
  board: d1_mini
  # Zur Sicherheit alle Ausgänge beim Start ausschalten
  on_boot: 
    then:
      - switch.turn_off: v1
      - switch.turn_off: v2
      - switch.turn_off: v3
      - switch.turn_off: v4
      - switch.turn_off: v5
      - switch.turn_off: pump
      - sensor.rotary_encoder.set_value:
          id: enc
          value: 0

# Seriellen Logger an RX/TX ausschalten, um Pins für andere Aufgaben nutzen zu können
logger: 
  baud_rate: 0

# Home Assistant API aktivieren
api:

ota:
  password: !secret otapass"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: waterking.local

  # Fallback Hotspot
  ap:
    ssid: "Bewaesserung Fallback Hotspot"
    password: !secret hotspot

captive_portal:

# Uhrzeit von HA holen
time:
  - platform: homeassistant
    id: homeassistant_time

# Globale Variablen setzen
globals: 
  - id: setpage #Einstellmodus
    type: bool
    restore_value: no
    initial_value: 'false'

  - id: maxtime #maximale Laufzeit Ventile als Schutz
    type: int
    restore_value: yes
    initial_value: '600000' # in ms = 10 min

# Schieberegister einrichten
sn74hc595:
  - id: 'sn74hc595_hub'
    data_pin: D5
    clock_pin: D6
    latch_pin: D7
    oe_pin: D2
    sr_count: 1

# SPI für Display
spi:
  clk_pin: D0
  mosi_pin: D1

# Ventile definieren

switch:
  - platform: gpio
    name: "Ventil Ost"
    id: v1
    pin:
      sn74hc595: sn74hc595_hub
      number: 1
      inverted: false
    interlock: [v2,v4,v5] # Bestimmte Ventile nicht gleichzeitig einschalten -> Druckverlust
    on_turn_on:
      - switch.turn_on: pump
      - delay: !lambda "return id(maxtime);"
      - switch.turn_off: v1

  - platform: gpio
    name: "Ventil West"
    id: v2
    pin:
      sn74hc595: sn74hc595_hub
      number: 2
      inverted: false
    interlock: [v1,v4,v5]
    on_turn_on:
      - switch.turn_on: pump
      - delay: !lambda "return id(maxtime);"
      - switch.turn_off: v2

  - platform: gpio
    name: "Ventil Beet"
    id: v3
    pin:
      sn74hc595: sn74hc595_hub
      number: 3
      inverted: false
    interlock: [v2]
    on_turn_on:
      - switch.turn_on: pump
      - delay: !lambda "return id(maxtime);"
      - switch.turn_off: v3

  - platform: gpio
    name: "Ventil Vorgarten"
    id: v4
    pin:
      sn74hc595: sn74hc595_hub
      number: 4
      inverted: false
    interlock: [v1,v2]
    on_turn_on:
      - switch.turn_on: pump
      - delay: !lambda "return id(maxtime);"
      - switch.turn_off: v4

  - platform: gpio
    name: "Ventil Einfahrt"
    id: v5
    pin:
      sn74hc595: sn74hc595_hub
      number: 5
      inverted: false
    interlock: [v2,v5]
    on_turn_on:
      - switch.turn_on: pump
      - delay: 1h #Ventil 5 darf max. 1 Stunde an sein -> Wasserentnahme
      - switch.turn_off: v5

# Solid State Relais Ausgang für Pumpensteuerung
  - platform: gpio
    name: "SSR Pumpe"
    internal: true # Pumpe nicht in HA anzeigen
    id: pump
    pin:
      sn74hc595: sn74hc595_hub
      number: 0
      inverted: false

# Display einrichten
display:
  - platform: max7219
    cs_pin: D3
    num_chips: 1
    update_interval: 500ms
    lambda: |-
      // Page 5 Uhrzeit anzeigen
      if ((id(enc).state == 5) && (id(setpage) == false)) {
        it.print("        ");
        it.strftime("%H.%M.%S", id(homeassistant_time).now());
      }

      // Page 4 Wifi Level
      if ((id(enc).state == 4) && (id(setpage) == false)) {
        it.print("        ");
        it.printf("Wi %.0fdB", id(wlan_signal).state);
      }

      // Page 1 Wasserstand Höhe
      if ((id(enc).state == 1) && (id(setpage) == false)) {
        it.print("        ");
        it.printf("FH %.1fcn", id(zisterne_cm).state);
          }

      // Page 2 Wasserstand Liter
      if ((id(enc).state == 2) && (id(setpage) == false)) {
        it.print("        ");
        it.printf("FS %.0fL", id(zisterne_liter).state);
          }

      // Page 3 Wasserverbrauch heute
      if ((id(enc).state == 3) && (id(setpage) == false)) {
        it.print("        ");
        it.printf(1,"= %.0f L", id(zisterne_delta_heute).state);

          }      

      // Page 0 Status Ventile anzeigen    
      if ((id(enc).state == 0) && (id(setpage) == false)) {
        it.print("        ");
          if ((id(v1).state)) {
            it.print("o");
            } else {
            it.print("_");
              }

          if ((id(v2).state)) {
            it.print(1,"o");
            } else {
            it.print(1,"_");
              }

          if ((id(v3).state)) {
            it.print(2,"o");
            } else {
            it.print(2,"_");
              }

          if ((id(v4).state)) {
            it.print(3,"o");
            } else {
            it.print(3,"_");
              }

          if ((id(v5).state)) {
            it.print(4,"o");
            } else {
            it.print(4,"_");
              }
          if ((id(pump).state)) {
            it.print(6,"P");
            } else {
            it.print(6,"_");
              }
          }      

      // Erste Seite Setup-Page
      if (id(setpage) == true && id(enc).state == 0) {
        it.print("       S");
        if ((id(v1).state)) {
          it.print("o");
          } else {
          it.print("_");
            }

        if ((id(v2).state)) {
          it.print(1,"o");
          } else {
          it.print(1,"_");
            }

        if ((id(v3).state)) {
          it.print(2,"o");
          } else {
          it.print(2,"_");
            }

        if ((id(v4).state)) {
          it.print(3,"o");
          } else {
          it.print(3,"_");
            }

        if ((id(v5).state)) {
          it.print(4,"o");
          } else {
          it.print(4,"_");
            }
        if ((id(pump).state)) {
          it.print(6,"P");
          } else {
          it.print(6,"_");
            }

      }


      // Ventil 1 einstellen 

      if (id(setpage) == true && id(enc).state == 1) {


        if ((id(v1).state)) {
          it.print("o.");
          } else {
          it.print("_.");
            }

        if ((id(v2).state)) {
          it.print(1,"o");
          } else {
          it.print(1,"_");
            }

        if ((id(v3).state)) {
          it.print(2,"o");
          } else {
          it.print(2,"_");
            }

        if ((id(v4).state)) {
          it.print(3,"o");
          } else {
          it.print(3,"_");
            }

        if ((id(v5).state)) {
          it.print(4,"o");
          } else {
          it.print(4,"_");
            }

          }  // Ende V1  

        // Ventil 2 einstellen 

        if (id(setpage) == true && id(enc).state == 2) {


          if ((id(v1).state)) {
            it.print("o");
            } else {
            it.print("_");
              }

          if ((id(v2).state)) {
            it.print(1,"o.");
            } else {
            it.print(1,"_.");
              }

          if ((id(v3).state)) {
            it.print(2,"o");
            } else {
            it.print(2,"_");
              }

          if ((id(v4).state)) {
            it.print(3,"o");
            } else {
            it.print(3,"_");
              }

          if ((id(v5).state)) {
            it.print(4,"o");
            } else {
            it.print(4,"_");
              }

          }

          if (id(setpage) == true && id(enc).state == 3) {


            if ((id(v1).state)) {
              it.print("o");
              } else {
              it.print("_");
                }

            if ((id(v2).state)) {
              it.print(1,"o");
              } else {
              it.print(1,"_");
                }

            if ((id(v3).state)) {
              it.print(2,"o.");
              } else {
              it.print(2,"_.");
                }

            if ((id(v4).state)) {
              it.print(3,"o");
              } else {
              it.print(3,"_");
                }

            if ((id(v5).state)) {
              it.print(4,"o");
              } else {
              it.print(4,"_");
                }

            }

            if (id(setpage) == true && id(enc).state == 4) {


              if ((id(v1).state)) {
                it.print("o");
                } else {
                it.print("_");
                  }

              if ((id(v2).state)) {
                it.print(1,"o");
                } else {
                it.print(1,"_");
                  }

              if ((id(v3).state)) {
                it.print(2,"o");
                } else {
                it.print(2,"_");
                  }

              if ((id(v4).state)) {
                it.print(3,"o.");
                } else {
                it.print(3,"_.");
                  }

              if ((id(v5).state)) {
                it.print(4,"o");
                } else {
                it.print(4,"_");
                  }

              }
              if (id(setpage) == true && id(enc).state == 5) {


                if ((id(v1).state)) {
                  it.print("o");
                  } else {
                  it.print("_");
                    }

                if ((id(v2).state)) {
                  it.print(1,"o");
                  } else {
                  it.print(1,"_");
                    }

                if ((id(v3).state)) {
                  it.print(2,"o");
                  } else {
                  it.print(2,"_");
                    }

                if ((id(v4).state)) {
                  it.print(3,"o");
                  } else {
                  it.print(3,"_");
                    }

                if ((id(v5).state)) {
                  it.print(4,"o.");
                  } else {
                  it.print(4,"_.");
                    }

                }        

sensor:

  - platform: rotary_encoder # Drehencoder einrichten
    name: "Rotary Encoder"
    id: enc
    publish_initial_value: true
    pin_a: 
      number: TX
      inverted: true
      mode:
        input: true
        pullup: true
    pin_b: 
      number: RX
      inverted: true
      mode:
        input: true
        pullup: true
    max_value: 5
    min_value: 0

# Füllstand in Liter von HA holen
  - platform: homeassistant
    id: zisterne_liter
    entity_id: sensor.zisterne_liter

# Verbrauch heute von HA holen
  - platform: homeassistant
    id: zisterne_delta_heute
    entity_id: sensor.zisterne_delta_heute

# Füllstand in cm von HA holen    
  - platform: homeassistant
    id: zisterne_cm
    entity_id: sensor.wasserstandraw # Notabschaltung Wasserstand < 12 cm -> Pumpenschutz
    on_value_range:
      - below: 12
        then:
          - switch.turn_off: v1
          - switch.turn_off: v2
          - switch.turn_off: v3
          - switch.turn_off: v4
          - switch.turn_off: v5
          - switch.turn_off: pump

# WLAN Signalstärke holen ... weil man es kann
  - platform: wifi_signal
    name: "Bewaesserung ESP Wifi Signal"
    update_interval: 30s
    id: wlan_signal      

binary_sensor:

  - platform: template
    name: "Any Valve On" # Wenn alle Ventile aus, Pumpe ausschalten
    internal: true
    lambda: 'return id(v1).state or id(v2).state or id(v3).state or id(v4).state or id(v5).state ;'
    on_release:
      then:
        - switch.turn_off: pump

  - platform: gpio # Taster am Encoder einrichten
    id: encswitch
    pin: 
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: True 
    on_click:
    - min_length: 50ms  # Kurzer Betätigung, um ins Ventil-Setup zu kommen
      max_length: 250ms
      then: 
        - lambda: |-
            if(id(setpage)) {
              id(setpage) = false; 
            } else {
              id(setpage) = true; 
            } 

    - min_length: 600ms # lange Betätigung, um ausgewähltes Ventil ein/aus zu schalten
      max_length: 1500ms
      then:
        - if:
            condition:
              lambda: 'return (id(setpage) == true && id(enc).state == 1);'
            then:
              switch.toggle: v1

        - if:
            condition:
              lambda: 'return (id(setpage) == true && id(enc).state == 2);'
            then:
              switch.toggle: v2              

        - if:
            condition:
              lambda: 'return (id(setpage) == true && id(enc).state == 3);'
            then:
              switch.toggle: v3    

        - if:
            condition:
              lambda: 'return (id(setpage) == true && id(enc).state == 4);'
            then:
              switch.toggle: v4             

        - if:
            condition:
              lambda: 'return (id(setpage) == true && id(enc).state == 5);'
            then:
              switch.toggle: v5 


    - min_length: 3000ms # gaaanz lange Betätigung, um alle Ventile und die Pumpe auszuschalten
      max_length: 60000ms
      then:
        - switch.turn_off: v1
        - switch.turn_off: v2
        - switch.turn_off: v3
        - switch.turn_off: v4
        - switch.turn_off: v5
        - switch.turn_off: pump

Bewässerungssteuerung mit Home Assistant

Die eigentliche Bewässerungssteuerung wird Home Assistant übernehmen. Da hier bereits diverse Sensoren wie der Regensensor der LCN-WIH Wetterstation, Regenmengensensor sowie die Wettervorhersage als Entitäten in HA vorhanden sind, kann man diese für eine optimale und sparsame Bewässerung nutzen.

Installation im Gerätehaus

Die Füllstandsmessung der Zisterne ist übrigens auch ein hervorragender Sensor, was Niederschlagsmengen angeht, bekommt er doch den Niederschlag von 75 qm Dachfläche. Bei niedrigem Wasserstand in der Zisterne kann man auch die Bewässerungszeiten verkürzen usw.

Bodenfeuchtesensor

Neues Projekt: Der DIY-Bodenfeuchtesensor

Die wichtigsten Werte für die Bewässerung kommen über einen Bodenfeuchtesensor. Kapazitive Sensoren sind zwar relativ robust, messen die Bodenfeuchte jedoch nur in einem engen Bereich von wenigen Quadratzentimetern. Ich habe mir daher einen resistiven Sensor aus zwei 1 Meter langen Edelstahlgewindestangen gebaut, die mit 20 mm Abstand in 10 cm Tiefe vergraben werden.

Der DIY-Bodenfeuchtesensor

Edelstahl ist korrosionsbeständig und robust. Die zwei M5 Stangen kosteten im Sonderpreis Baumarkt 3 Euro. Mit diesem Sensor erfasst man einen repräsentativen Bereich und nicht nur punktuell. Da sich durch den Messstrom und die dadurch verursachte Elektrolyse mit der Zeit Salze und Mineralien an den Elektroden ablagern könnten, aktiviert man die Messung nur sehr kurz und in größeren Intervallen. Hierzu wird es einen separaten Beitrag geben.

Meine Erfahrungen aus 2 Jahren Home Assistant Nutzung – plus 10 Tipps und Tricks

Im Juni 2020 habe ich begonnen, mich mit Home Assistant zu beschäftigen. Damals hatte ich bereits mit IP Symcon einen Smarthome-Hub im produktiven Einsatz. Nach den ersten Versuchen auf einem Testsystem, parallel zu Symcon, war ich schnell überzeugt, dass Home Assistant eine vollkommen andere Welt ist. Die riesige Community, die Auswahl an Integrationen und Add-ons, sowie der moderne technische Unterbau und vor allem: unzählige Entwickler, die sich um einen rasanten Fortschritt kümmerten, waren nur einige Gründe.

Da ich schon vorher eigene Sensoren und Aktoren auf Basis von ESPeasy und Tasmota gebaut und im Einsatz hatte, war auch die ESPhome-Plattform mit ihrer engen Integration in Home Assistant ein starkes Argument für einen Umstieg. Meine Symcon-Installation hatte zu diesem Zeitpunkt eine gewisse Komplexität (1200 Variablen – vergleichbar mit Home Assistant Entitäten) angenommen, die ich natürlich in Home Assistant neu umsetzen musste. Was mich anfänglich noch etwas abschreckte, war aus heutiger Sicht aber erstaunlich einfach lösbar. Anforderungen, Logik der Automationen usw. waren ja bereits bekannt und mussten “nur” auf der neuen Plattform, mit deren Möglichkeiten, aufgesetzt werden.

Home Assistant NAS Laufwerk einbinden

HP Microserver Gen8

Die technische Basis für Home Assistant war bei meinem anfänglichen Testsystem ein Raspberry Pi 4. Im August 2020 bin ich dann bei meinem Homeserver auf UnRaid umgestiegen und habe Home Assistant als virtuelle Maschine in UnRaid aufgesetzt. Das ist auch noch jetzt mein Produktivsystem. Ich habe damit all die Vorteile vom Home Assistant Supervisor, wie automatische Backups, Updates der Add-Ons usw. zur Verfügung. Zudem bietet mir mein HP Microserver Gen 8 mit Intel XEON E3-1240 CPU und 16 GB RAM reichlich Leistung, um auch anspruchsvolle Anwendungen wie die Kameraüberwachung mit Frigate und 6 Kameras zu bewerkstelligen.

Aktuell bin ich bei 42 Integrationen und 20 Add-Ons im Einsatz. In der Summe macht das, Stand heute:

Sensoren: 882
Lampen: 116
Schalter: 201
Binär-Sensoren: 172
Automationen: 79

Zu den Lampen und Schaltern gehören auch “virtuelle” Geräte, z. B. von meiner LCN-Installation, Alexa, PCs, TV- und ESPHome-Geräten.

Home Assistant verarbeitet das ohne nennenswerte Auslastung und das seit 2 Jahren extrem zuverlässig. Ich hatte seitdem noch keinerlei Totalausfälle oder größere Schwierigkeiten. Natürlich lasse ich regelmäßig Backups der Konfiguration und Installation machen. Gelegentlich ziehe ich auch eine Kopie der virtuellen Maschine, die ich – zusammen mit den aktuellen Backups der Konfiguration – jederzeit auch auf einem anderen System starten könnte.

Tipps und Tricks für Home Assistant

Hier möchte ich euch ein paar Tipps geben, die meiner Ansicht und Erfahrung nach hilfreich für den Einstieg und Betrieb von Home Assistant sind.

Zuvor solltet ihr euch aber überlegen – sofern ihr nicht schon ein anderes System betreibt und mit dem Umstieg auf Home Assistant liebäugelt, ob ihr für ein solches System bereit seid. Es bedarf einer nicht zu unterschätzenden Einarbeitung und ihr solltet der englischen Sprache einigermaßen mächtig sein, denn die Community ist englisch. Dafür findet man zu praktisch jedem Thema einen Lösungsansatz und man ist sehr hilfreich und freundlich. Zudem gibt es nicht nur das offizielle Home Assistant Forum, sondern auch ein Sub-Reddit und einen Discord-Server zum Austausch. Oft finde ich bei Reddit die interessantesten Inhalte und Anregungen – und auch die schnellste Hilfe.

Man muss Zeit investieren können und wollen. Viele möchten auch ein System wie meines, sehen aber nicht, wie viel Zeit und Anstrengung dahintersteckt. Außerdem solltet ihr ein solches System nicht für kritische Funktionen einsetzen. Grundlegendes wie die Heizungssteuerung, dass ihr Licht schalten könnten etc. muss auch ohne eine solche Software funktionieren. Zusätzlich solltet ihr bedenken, dass auch andere im Notfall das System bedienen und pflegen können müssen. Ein paar Gedanken dazu hatte ich hier veröffentlicht: 5 Gründe, warum du kein Smarthome haben solltest

1. Die technische Plattform

Für den Einstieg in Home Assistant (HA) genügt ein Raspberry Pi 3 (besser 4). Wenn du bereits einen Homeserver hast, kann man HA auch als Docker-Container laufen lassen. Beides geht einfach und schnell. Für den dauerhaften Betrieb von Home Assistant auf einem Raspi, solltest du über eine SSD statt der Micro-SD-Karte nachdenken, denn eines Tages wird die SD-Karte ausfallen.

Auch einem alten Laptop kann man neues Leben als Home Assistant Server einhauchen. Selbst ältere Laptops verbrauchen vergleichsweise wenig Strom, sind aber trotzdem leistungsfähiger, als ein Raspberry Pi. Zudem hat man – sofern die Batterie noch okay ist – auch gleich eine unterbrechungsfreie Stromversorgung (USV) eingebaut, welche Stromausfälle überbrücken kann.

Mehr Tipps zur besten Plattform für Home Assistant mit Vor- und Nachteilen findest du hier: Mit Home Assistant starten- welche Plattform wählen?

2. Entities, Templates, YAML & Co: Grundlagen verstehen

Immer mehr Integrationen kann man in Home Assistant per Mausklick konfigurieren. Trotzdem wird die Grundkonfiguration mit YAML und damit in einer etwas gewöhnungsbedürftigen Auszeichnungssprache gemacht, die mit Einrückungen arbeitet und gerade für Anfänger oft schwer zu verstehen ist.

Hilfreich ist hier nicht nur der Microsofts VS Code, den man als Standard-Editor für Home Assistant sehen kann. Dieser ist auch als Add-On verfügbar und integriert sich damit tief in Home Assistant. Er bietet Code-Vervollständigung und kann Entitäten automatisch auflisten. Ich würde behaupten, dass fast 90 % der Probleme, die man zu Beginn mit Home Assistant hat, auf Fehler in der YAML-Konfiguration zurückzuführen sind.

Ihr solltet zunächst auch die verschiedenen Begriffe und deren Bedeutung und Nutzung lernen. Dazu habe ich in diesem Beispiel versucht, die wichtigsten Home Assistant Begriffe in einem Beispiel zu demonstrieren:

Home Assistant Grundlagen mit Kaffeemaschine und Alexa

3. Strukturieren und dokumentieren

Zu Beginn ist man euphorisch und konfiguriert und integriert, was das Zeug hält. Nur wenig später kann sich das zu einem unübersichtlichen Moloch entwickeln. Darum solltet ihr eure Konfiguration von Anfang an klar strukturieren und – zumindest mit Kommentaren im Code – dokumentieren. Man muss und sollte nicht alle Konfigurationen in der configuration.yaml anlegen. Ich habe z. B. alle Lampen, Schalter, Automationen, Alexa-Einstellungen und Sensoren in eigenen YAML-Dateien nach Zimmern geordnet angelegt. In der configuration.yaml steht dann

1
2
3
4
5
6
7
light: !include lights.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
switch: !include switch.yaml
sensor: !include sensors.yaml
alexa: !include alexa.yaml

was auf die einzelnen, sauber getrennten Konfigurationen verweist und diese einbindet.

Außerdem benutze ich Nimbus Note als Notizbuch für meine Konfigurationen. Hier kann ich auch Code-Schnippsel und Screenshots einfügen und habe es immer und überall verfügbar.

4. Geräteauswahl und Schnittstellen

Hat man erst einmal mit Home Assistant angefangen, will man alles integrieren, steuern und auslesen können. Darum ist es wichtig, dass man vor der Anschaffung neuer Geräte erst einmal recherchiert, ob schon jemand geschafft hat, dieses in Home Assistant zu integrieren oder es gar eine offizielle Integration dafür gibt.

ZigBee Bewegungsmelder im Vergleich

ZigBee Bewegungsmelder von Philips, Aqara und Lidl

Viele Geräte haben unterschiedliche Hersteller und Namen, arbeiten aber trotzdem auf derselben technischen Grundlage. Das Philips Hue System basiert auf dem ZigBee-Protokoll, das auch von Lidl’s Silvercrest Smarthome-Geräten oder IKEA’s Tradfri eingesetzt wird. Auch die Xiaomi Aqara Sensoren arbeiten damit. Hat man jedoch nur die offizielle Philips Bridge im Einsatz, lassen sich die Fremdhersteller oft nicht nutzen.

ZigBee Netz mit ConBee/DeConz

Abhilfe schafft hier z. B. der Conbee II Stick oder der Weg über die ZHA Integration und einen Sonoff Zigbee 3.0 Dongle Plus. Viele günstige Wifi-Lampen laufen mit dem Tuya-System und können darüber in Home Assistant eingebunden werden.

Saugroboter, E-Autos, Heizungen, Wärmepumpen und Wallboxen oder PV-Wechselrichter, will man doch mit Home Assistant steuern und überwachen. Also besser vor dem Kauf prüfen, ob das entsprechende Gerät auch eine API und Schnittstelle zur Verfügung stellt, die man mit HA nutzen kann.

5. Nabu Casa Cloud oder besser nicht?

Nabu Casa ist ein Unternehmen, das Home Assistant unterstützt. Diese bieten auch eine kostenpflichtige Cloud-Lösung an, welche die Anbindung von Alexa und Google Assistant zur Sprachsteuerung- und Ausgabe sehr vereinfacht und einen geschützten Fernzugriff auf Home Assistant ermöglicht. Das kostet derzeit $ 6,50 pro Monat oder $65,00 pro Jahr, wobei man damit auch die Entwicklung von Home Assistant unterstützt.

Preiserhöhung für Home Assistant Cloud

Home Assistant mit Alexa steuern

Nabu Casu kämpft aber immer wieder mit Problemen hinsichtlich Geschwindigkeit und Verfügbarkeit – gerade bei der Alexa-Anbindung, was natürlich auch an der großen Beliebtheit und steigenden Nutzerbasis von HA liegt. Bei uns macht die Sprachsteuerung einen Großteil unserer Interaktion mit unserem Smarthome aus, sodass dies ein sehr kritischer Teil der Funktionalität ist.

Ich habe mich daher Anfang des Jahres dazu entschieden, auf Nabu Casa zu verzichten und die Alexa-Anbindung selbst in die Hand zu nehmen. Das ist einmalig etwas Aufwand, aber auch für Einsteiger machbar. Belohnt wird man jedoch mit einer sehr viel besseren Reaktionszeit bei Sprachein- und Ausgaben.

Die manuelle Einrichtung von Alexa in Home Assistant habe ich hier beschrieben: Home Assistant und Amazon Alexa ohne Nabu Casa: Schneller und zuverlässiger

Um den Fernzugriff abzusichern, braucht es einen (kostenlosen) Cloudflare-Account, einen NGINX-Reverse-Proxy sowie Netzwerk-Erfahrung. Dazu werde ich demnächst einen Beitrag veröffentlichen.

Wer es einfach haben möchte, geht erst einmal über Nabu Casa. Jedoch sollte man hier die Entitäten und Funktionen manuell definieren, damit nicht jede Entität zu Alexa synchronisiert wird. Hierzu habe ich diesen Beitrag: Home Assistant: Entitäten sauber in Amazon Alexa integrieren (nachbelichtet.com)

6. Vor dem Update Changelog lesen!

Home Assistant gehört zu den 10 größten Open-Source-Projekten auf Github. Über 1900 Entwickler arbeiten am Programmkern und noch einmal 63.000 Entwickler sorgen für Erweiterungen und Add-Ons. Damit legt HA eine unglaubliche Geschwindigkeit an den Tag und veröffentlicht oft 6 Core-Updates pro Monat.

Da Home Assistant aber noch immer ein sehr junges Projekt ist, werden manche Funktionen über Bord geworfen oder umgebaut. Im Change-Log wird von “Braking Changes” gesprochen und genau diese sollte man vor jedem Update lesen, ob nicht eine Funktion dabei ist, die man selbst im Einsatz hat. Andernfalls wundert man sich vielleicht, warum etwas nach dem Update nicht mehr funktioniert. An dieser Stelle hilft dann auch wieder Tipp #3 aus diesem Beitrag.

7. Kann man mit Home Assistant Heizkosten sparen?

Klare Antwort: Jein! An allen Ecken und Enden kann man momentan lesen, dass man mit intelligenter Steuerung Heizkosten sparen kann. Vor wenigen Tage gab es sogar eine Schlagzeile, dass elektronische Thermostate in Mietwohnungen Pflicht werden sollen.

LCN Glastaster mit Verbrauchsdaten

Das Absenken und spätere Anheben der Raumtemperatur sind aber wenig zielführend und kann sogar für einen Mehrverbrauch sorgen. Zudem verbrauchen Sensoren, Aktoren und Steuerung selbst Strom. So ist die Einzelraumregelung (ERR) der Heizung in modernen Häusern überflüssig, wenngleich zunächst verpflichtend (man kann sich davon befreien lassen).

Die typischen Stellantriebe verbrauchen etwa 2 Watt pro Ventil. Wir haben auf 180 qm Fußbodenheizung mit 25 Heizkreisen. Machen alle Ventile auf, werden also alleine dafür 50 Watt Strom verbraucht. Man hat hier die Wahl zwischen NC (Normal closed, stromlos geschlossen) und NO (Normal open, stromlos offen). In unserer Gegend sind hier schon einmal NO-Antriebe sinnvoller, da die Heizungsventile übers Jahr öfter offen als geschlossen sind.

Hinzu kommen die Aktoren, welche die Ventile ansteuern, elektronische Temperatursensoren für jeden Raum samt Elektronik und eben der Smarthome-Server. Für die Aktoren/Elektronik sind das optimistisch 10 Watt. Rechnen wir mit einer Heizperiode von 210 Tagen und 12 Stunden Heizdauer pro Tag, kommen wir auf 126 kWh Strom für die Ventile und 87,6 kWh für die Ansteuerung (diese muss ganzjährig laufen), also rund 214 kWh. Bei 0,35 € pro kWh sind das bereits 74,90 Euro pro Jahr nur für die Steuerung. Den Home Assistant Server rechnen wir nicht mit, denn wir wollen ja auch andere Dinge steuern.

Was man stattdessen tun sollte, ist der perfekte hydraulische Abgleich der Heizung. Dabei hat mir Home Assistant und sehr geholfen, denn ich habe nicht nur die Daten meiner Heizung inkl. Gasverbrauch über 24 Monate, sondern auch Raum- und Außentemperaturen protokolliert. Damit konnte ich nach und nach den Durchfluss meiner Heizkreise so optimieren, dass ohne ERR gleiche Raumtemperaturen herrschen und solare Einträge durch Sonnenschein auf den Fußboden nicht durch Ventile davon abgehalten werden, im kompletten Haus genutzt zu werden. Die Heizung taktet nicht unnötig und seit dem Einzug 2018 und der Einstellung des Heizungsbauers, konnten wir den Verbrauch um über 30 % senken.

Lange Anwort: Ja, Home Assistant kann beim Energiesparen helfen – aber eher indirekt, weil man darüber einen sehr viel tieferen Einblick und eine bessere Übersicht über Temperaturverläufe und die Entwicklung hat. Hier hat sich bei uns dann auch gezeigt, dass eine Absenkung von mehr als 2 Grad zu einem höheren Verbrauch führt.

8. Stromverbrauch mit Home Assistant messen und optimieren

Der Stromverbrauch lässt sich in Home Assistant mittlerweile perfekt nachverfolgen – sowohl beim Netzbezug als auch bei der Einspeisung. Wer kein Smartmeter hat, das sich über eine Schnittstelle auslesen lässt, kann auf den günstigen Shelly 3EM zurückgreifen. Dessen Möglichkeiten habe ich hier beschrieben: Stromverbrauch mit dem Shelly 3EM und Home Assistant messen

Bastellösungen, wie Impulszähler am Ferrariszähler (einen Bauvorschlag hatte ich hier einmal: So funktioniert der TCRT5000 mit ESPeasy als Pulse Counter (nachbelichtet.com)) lohnen sich hier nicht mehr und sind auch zu ungenau. Mit einer schlauen Steuerung von Verbrauchern nach Anwesenheit und Tageszeit lässt sich einiges an Strom sparen, wenn man z. B. die vielen Standby-Verbraucher vom Netz nimmt oder Rechner per Home Assistant schlafen schickt und aufweckt.

9. Bastelt nicht mit Netzspannung!

Home Assistant und die vielen günstigen Geräte verleiten dazu, auch Geräte anzuschließen, die mit Netzspannung betrieben werden. Als Laie ist das lebensgefährlich und ich verliert damit im ungünstigsten Fall auch euren Versicherungsschutz.

Wenn man hier keine Erfahrung und Ausbildung hat, helfen auch Youtube-Tutorials nichts, da man gar nicht bewerten kann, ob der Youtuber selbst Ahnung davon hat. Dort und in divesen Foren sind oft haarsträubende Sachen zu sehen – gerade auch aus den USA. Baut euch keinesfalls Geräte mit einfachen Relais-Platinen und Breadboards für den Betrieb am Stromnetz und werkelt auf gar keinen Fall im Stromverteiler herum!

Holt euch professionelle Hilfe, denn das ist bezahlbar – ein Menschenleben nicht.

10. Machen, was sinnvoll ist und hilft

Überlege dir, was du erreichen willst und was dazu notwendig ist. Solle es der Komfortgewinn sein, dass du alle Lichter und Verbraucher zentral ausschalten und das Garagentor schließen kannst, wenn es ins Bett geht? Oder eine Szene, die den Fernsehabend mit der passenden Lichtstimmung, Programm und geschlossenen Jalousien einleitet?

Home Assistant Grundlagen mit der Kaffeemaschine und Alexa

Oder vielleicht zusätzliche Sicherheit durch Tür- und Fenstersensoren, intelligenter Objekterkennung und elektronischen Schlössern? Machbar ist fast alles. Konzentriere dich zunächst aber auf die Dinge, die das Leben auf einfache Weise erleichtern. Eine meiner meistgenutzten Automatisierungen schaltet bei Bedarf die Lampen im Büro ein, fährt dort die Raffstores je nach Sonnenstand automatisch rauf und runter, damit es nicht blendet und startet Radio und Rechner am Morgen. Auf Zuruf wird die Kaffeemaschine aktiviert und ich erfahre auch, wann ich sie reinigen muss.

Fazit

Home Assistant ist meiner Meinung und nach Ausflügen zu diversen anderen Lösungen wie Symcon, OpenHAB oder ioBroker, konkurrenzlos. Die schiere Anzahl an Entwicklern, Integrationen und unterstützten Geräten, macht die Open-Source-Lösung einzigartig.

In den zwei Jahren, in denen ich nun ein ziemlich komplexes und immer weiter wachsendes System betreibe, hatte ich keine kritischen Ausfälle und Hänger. Home Assistant ist nach einer gewissen Einarbeitungszeit recht einfach und komfortabel zu konfigurieren. Man lernt natürlich ständig dazu und es hat ein gewisses Suchtpotenzial. Gleichzeitig arbeiten die Entwickler an Vereinfachungen und dass man immer mehr auf YAML-Code verzichten kann.

Ventilschacht für die Gardena-Bewässerung

Aktuell arbeite ich an der Integration der Gartenbewässerung, für die ich eine eigene Steuerung für die 24 Volt Ventile entwickelt habe.

Der Bewässerungs-Controller in KiCAD

Hier fehlt nun noch eine Platine und vielleicht werde ich das auch als Bausatz zum Kauf anbieten.