Martin Weissenböck
Zwei Wege zum automatisierten Heim
Schwerpunkte sind die ersten Schritte mit dem Home Assistant und die Unterschiede zu Node-RED.
Sie werden…
… eine Empfehlung für den Kauf von Hardware zum Start mit Home Assistant bekommen
... die Grundbegriffe von Home Assistant kennenlernen
… eine einfache Automation verstehen
… Formen der Fernbedienung und Fernwartung kennen lernen
… Home Assistant und Node-RED vergleichen
Ein ☝ im Text der Kurzfassung weist darauf hin, dass in der Langversion an dieser Stelle mehr Text, ein Programmcode, ein Bild oder eine detaillierte Anleitung zu finden ist. Die Langversion kann über den Link oder den QR-Code am Ende des Beitrags abgerufen werden und enthält den Text in pdf–, HTML– und epub–Format. Alle Links können angeklickt werden.
Ob Node-RED oder Home Automation: für beide Formen bedarf es einiger Vorbereitungen. Ein Computer muss eingerichtet oder fertig eingerichtet gekauft werden. Bauteile (wie Schalter oder Lampen) sind auszuwählen, die in das System integrierbar und über Funk erreichbar sind. In beiden Fällen sollte man schon auch etwas Zeit einplanen, um die Grundlagen der Steuerungen kennenzulernen und zu verstehen.
Wer gleich Erfahrungen mit einem Smart Home sammeln möchte, kann das bei den Veranstaltungen des ClubComputer (Clubabende, Forum Smart Home) tun. Nützlich ist es, ein paar Komponenten vorher zu kaufen, auf die wir auch bei den Clubveranstaltungen immer wieder zurückgreifen werden. Hier eine kurze Liste:
Sowohl Node-RED wie auch Home Assistant können auf vielen System installiert werden. Häufig wird ein Raspberry Pi oder ein Linux-Rechner verwendet. Für den Home Assistant gibt es auch noch eine fertige Lösung: der Home Assistant Green ist ein kleiner Rechner, der vorkonfiguriert ist und wirklich nur mehr angesteckt werden muss - also ideal für einen Workshop.
Bezugsquelle: Home Assistant Green, ca. 100 €, Alza. Alza liefert auch gegen eine Gebühr von 0,99 € in einer von 160 Alza(Abhol)Boxen in Wien. Die Standorte sind auf der Webseite zu finden. In dem neuen Shop am Anfang des Getreidemarkts können Komponenten außerdem zu jeder Zeit abgeholt werden.
Es gibt (leider zu viele) unterschiedliche Systeme und Protokolle. Unsere Empfehlung für die Clubabende und auch für die Steuerungen zu Hause: das Zigbee-Protokoll (und später einmal Matter). Einen Zigbee Coordinator (Adapter) brauchen wir, um die Peripheriegeräte ansteuern zu können.
Für eine Wohnung:
SONOFF Zigbee 3.0 USB bei Amazon um ca. 25 € Wird an den USB-Port angesteckt. ☝Dazu ein USB-Verlängerungskabel, da zum Anstecken des Dongle der Platz knapp ist und außerdem der Dongle in einem Abstand zum Rechner platziert werden kann. Beispiel: XGMATT bei Amazon, zwei Stück um ca. 6 € ☝
Wenn eine neue Komponente in ein (Zigbee) Smart-Home-System aufgenommen werden soll, müssen die neue Komponente und der Zigbee Coordinator mit einander bekannt gemacht werden.
(1) Das Programm Zigbee2MQTT muss so eingestellt werden, dass es auf neue Komponenten wartet: auf
(2) Die neue Komponente muss sich anmelden. Auf der Webseite Zigbee2MQTT wird für mehr als 4000 Komponenten beschrieben, wie das geht. ☝
Mögliche Einkaufsquellen: Amazon, AliExpress, IKEA oder andere. Lidl hatte interessante Komponenten, aber die sind nicht mehr im Verkaufsprogramm.
Amazon liefert rasch und nimmt auch Teile zurück.
AliExpress ist oft billiger, braucht aber zwei bis vier Wochen für die Lieferung. Wer einen Vorsteuerabzug geltend machen will, hat bei AliExpress wenig Freude: die Rechnungen erfüllen nicht die Erfordernisse dafür.
Wenn ein IKEA-Standort in der Nähe ist, ist das oft der schnellste Weg, um zu den gewünschten Komponenten zu kommen. IKEA-Produkte werden hier namentlich genannt, da es immer wieder günstige Kombi–Angebote gibt (daher auf der Webseite vor einem Kauf nachschauen).
Manche Komponenten werden für Zigbee oder WLAN angeboten – bitte auf die Bezeichnung Zigbee achten.
Diese Zwischenstecker dienen zum Schalten von Verbrauchern und oft auch zur Messung der Energiedaten: Spannung, Strom, Wirk–, Blind– und Scheinleistung. ☝
Vom Amazon NOUS A1Z, 4 Stück um 60 €. Die passen sogar nebeneinander in eine Verteilerleiste. Das Z steht für Zigbee. Ferner erhältlich bei AliExpress – viele Angebote! IKEA TRETAKT (ohne Energiemessung) ab 6,99 € oder IKEA INSPELNING (mit Energiemessung) 9,99 €.
Zigbee LED-Lampe, von Amazon, AliExpress oder IKEA TRADFRI Lampe E27, Einzelpreis 6,79 €.
Dazu eine Lampenfassung E27 mit Stecker und Schalter. ☝ Von einem Baumarkt oder von Amazon, z.B. 3 Stück um ca. 15 €,
Um Verbraucher ein- und auszuschalten, Lampen zu dimmen oder komplette Beleuchtungsszenen aufzurufen, werden Taster verwendet.
IKEA RODRET Dimmer/Schalter um 5,99 € oder im Kombiangebot mit Lampe oder Zwischenstecker.
Sehr praktisch sind auch Mehrfachtaster: jede einzelne Taste kann drei verschiedene Signale liefert: Einfachklick, Doppelklick und langer Klick - insgesamt also 12 Steuersignale. Bei Aliexpress ab 9 €.☝
Zum Starten sind diese Teile nicht notwendig, aber interessant für weitere Experimente.
Bewegungsmelder , z. B. IKEA VALLHORN um 7,99 €
Tür-/Fenstersensor, z. B. IKEA PARASOLL um 9,99 €
Temperatur- und Luftfeuchtigkeitssensor, z. B. IKEA VINDSTYRKA, ca. 40 €
Die vorhergehenden Beiträge in den PCNEWS 181 bis 183 haben Node-RED behandelt. Was ist die Grundidee dabei? Die Programmierung einer Steuerung über eine Grafik!
Ein Steuerprogramm besteht aus Nodes, die durch Linien verbunden werden. Nodes werden durch Rechtecke dargestellt:

Sie können einen Eingang haben: der Anschlusspunkt (ein Ringerl) ist auf der linken Seite (hier: debug 1).
Sie können einen Ausgang oder mehrere Ausgänge haben: die Anschlusspunkte sind rechts (hier: timestamp).
Sie können auch einen Eingang und mindestens einen Ausgang haben: dann ist ein Anschlusspunkt links und die anderen sind rechts (hier: function 1).
☝In jedem Node werden JSON-Objekte verarbeitet, also erzeugt oder verändert. Ferner werden JSON-Objekte von externen Geräte abgefragt oder an externe Geräte geschickt. Häufig wird da die Schnittstelle zu einem MQTT-Brocker (siehe PCNEWS 181) über das Programm zigbee2mqtt verwendet. Die Linien in der grafischen Programmieroberfläche beschreiben dabei die Wege, die die JSON-Objekte zurücklegen. ☝
Die grafische Oberfläche regt an, damit zu experimentieren, und ist für Unterrichtszwecke didaktisch interessant.
Node-RED Themen wurden in früheren Ausgabe der PCNEWS behandelt. In diesem Heft beginnen wir mit den Themen rund um den Home Assistant.
Die Wikipedia schreibt dazu:
Home Assistant ist eine kostenlose und quelloffene Software zur Hausautomation, die als zentrales Steuerungssystem in einem Smart Home oder Smart House konzipiert ist. Geschrieben in Python liegt ihr Hauptaugenmerk auf lokaler Steuerung und Privatsphäre.
Home Assistant verfügt über ein breites Spektrum an Geräteunterstützung und bietet über 2200 modulare Plug-ins mit Systemintegrationen zu verschiedenen IoT-Technologien, -Systemen und -Diensten, die als Integrationskomponenten verfügbar sind.
Eine Steuerung entsteht im Home Assistant wie eine Erzählung: Sobald die Tür aufgeht und wenn das Licht nicht schon eingeschaltet ist, dann schalte das Licht ein, warte 40 Sekunden und schalte es wieder aus. Prosa im Home Assistant, Grafik in Node-RED. Das sind die Grundideen!
Es gibt eine riesige Menge an YouTube–Videos, da fällt die Auswahl schwer. ☝Simon42 spielt jede Woche ein neues Video auf YouTube ein und erklärt dabei – so gut wie fehlerfrei – immer neue Themen.
Wer mit HA startet, wird vorerst mit einer Menge an Fachbegriffen konfrontiert. Aber keine Sorge, da gewöhnt man sich rasch daran. Hier eine Liste der wichtigsten Begriffe:
Entität: (etwas vereinfacht) eine Eigenschaft eines Geräts, die per Programm ausgelesen oder geändert werden kann. Ein Gerät hat meistens mehrere Entitäten. Jede Entität hat eine Nummer (für die interne Verarbeitung) und kann einen benutzerfreundlichen Namen bekommen (für den menschlichen Leser). Beispiele: Zustand eines Schalters, Temperatur in einem Raum, Wirkleistung eines Verbrauchers.
Automation: Die Automation ist das Herzstück der programmierten Steuerung für das automatische Heim. Eine Automation hat folgende Teile:
Auslöser (mindestens einer) : Sobald bei wenigstens einem Auslöser ein Ereignis registriert wird, beginnt der Ablauf .☝Ereignisse sind oft Zustandsänderungen von Entitäten. Beispiel: ein Bewegungsmelder registriert eine Bewegung.
Bedingung: keine bis beliebig viele. Alle Bedingungen müssen (falls vorhanden) erfüllt sein, damit der Ablauf fortgesetzt wird. ☝ Bedingungen warten nicht darauf, dass sie zu einem späteren Zeitpunkt erfüllt werden: wird auch nur eine nicht erfüllt, wird der Ablauf abgebrochen. Beispiel: Ist es Tag = steht die Sonne über dem Horizont?
Aktion (mindestens eine): Daten werden an Entitäten geschickt oder Befehle werden ausgeführt, bei mehreren Aktionen nacheinander. Beispiel: der Zwischenstecker wird umgeschaltet; die Lampe wird auf 60% Helligkeit gedimmt; eine andere Automation wird gestartet.
Wichtiger Hinweis: Beim Abspeichern bekommt die Automation einen Namen. Unbedingt auch den Bereich (z.B. Wohnzimmer) dazu geben – schon bei wenigen Automationen geht der Überblick sonst verloren. Beschreibungen, Kategorien und Labels können auch zusätzlich abgespeichert werden.
Helfer: Sie erfüllen, wie der Name schon sagt, Hilfsfunktionen. Beispiel: Ein Zeitplan, der für jeden Wochentag unterschiedliche Schaltzeitpunkte vorsieht. Jeder Helfer kann von mehreren Automationen verwendet werden.
Gerät: Ein Objekt mit (meist mehreren) Entitäten. Manche Geräte werden vom HA selbstständig erkannt, manche müssen eingepflegt werden. Beispiel: Sobald Zigbee-Geräte in den Pairing-Modus versetzt werden und im Programm Zigbee2MQTT das Pairen (Anlernen) aktiviert ist, werden neue Geräte erkannt und mit ihrer internen hexadezimalen Nummer in das System aufgenommen.
Tipps:
Da die interne Nummer sehr unhandlich ist, gleich einen benutzerfreundlichen Namen vergeben und dabei den Schalter Home-Assistant-Entität aktualisieren aktivieren. Die Bezeichnung kann auch nachträglich verändert werden, aber das wird rasch unübersichtlich.
Es ist sinnvoll, schon am Anfang ein Schema für die benutzerfreundlichen Namen zu entwickeln. Nach mehreren Anläufen bin ich derzeit bei Bezeichnungen, die aus der Geräteklasse und einer Nummer bestehen. Beispiel: BM-01 ist der Bewegungsmelder mit der Nummer 01. ☝
Ich habe meistens darauf verzichtet, den Ort in den benutzerfreundlich Namen aufzunehmen. Wenn doch, steht er nach der Zahl.
Integration: Gerätegruppen, die gemeinsam in den Home Assistant aufgenommen werden. Am besten an Hand von zwei Beispielen erklärt: MQTT und Tasmota sind Integrationen. Die Integration MQTT erlaubt die Aufnahme von Geräten, die über das Protokoll MQTT kommunizieren. ☝Mit der Tasmota-Integration können Zwischenstecker, die mit der Tasmota-Software geflasht worden sind, automatisch in das System aufgenommen werden. ☝
Skript: Programmschritte, die in Automationen verwendet werden. Vergleichbar mit Unterprogrammen einer Programmiersprache.
In meinem Arbeitszimmer gibt es eine Bücherwand mit Beleuchtung. Diese Beleuchtung soll über einen Taster ein- und ausgeschaltet werden. Dazu verwende ich einen Taster SOMRIG von IKEA, der bei mir T2-02 heißt: ein Taster mit 2 Knöpfen und der Nummer 02. Die Knöpfe sind mit 1 und 0 oder einem Punkt und zwei Punkten für Ein/On und Aus/Off beschriftet, können aber auch einzeln unterschiedlich verwendet werden.

Die Beleuchtung wird über einen Zwischenstecker mit der Bezeichnung: PL-81 geschaltet.

Immer dann, wenn einem Ereignis (hier: dem Drücken einer Taste) eine Aktion (hier: das Umschalten eines Verbrauchers) folgen soll, wird dazu im HA eine Automation eingerichtet.

Das heißt, dass das Drücken der On-Taste die Automation startet.
Als zweites kann eine Bedingung eingerichtet werden. Allerdings brauchen wir hier keine, der Eintrag bleibt leer.

☝Als (einzige) Aktion folgt das Umschalten des Zwischensteckers PL-81 von Aus auf Ein bzw. von Ein auf Aus).

Das war's auch schon. Speichern, ausführen.

YAML ist ein Datenformat, das im Home Assistant zur Darstellung vieler Details, auch für Automationen, verwendet wird. Wer will, kann eine Steuerung mit YAML-Code statt über einen Text programmieren. Die gerade eingerichtete Automation sieht da so aus:
xxxxxxxxxx161 aliasBücherbeleuchtung2 description""3 triggers4 5domainmqtt6 device_id70921c4f062e0d75cc9eb202e9bc91357 typeaction8 subtype"on"9 triggerdevice10 conditions11 actions12typetoggle13 device_id747c9a3124cf413ad7caed39ecbeee6a14 entity_idf1681a87af2437190aa1f213d7a3257c15 domainswitch16 moderestartDie beste Automation nützt nichts, wenn sie nicht benutzerfreundlich bedient werden kann. Diese Benutzeroberflächen heißen Dashboard oder User-Interface. Sie können über Smartphones, Tabletts oder Desktop-Computer bedient werden – am besten auf allen Geräten auf dieselbe Art. Die Darstellung passt sich an die Größe des Bildschirms an (responsive design).
Ja noch mehr: nehmen wir an, wir verwenden zum Steuern einer Stehlampe einen Zwischenstecker, der wahlweise über das Dashboard, über ein Programm (etwa zeitgesteuert) und direkt über den Taster am Zwischenstecker gesteuert wird. Dann soll das Symbol am Dashboard immer den Zustand des Schalters anzeigen – unabhängig davor, wie der Zwischenstecker umgeschaltet worden ist. Was bieten die beiden Programme dafür an?
Dafür gibt es in Node-RED leider nur unvollständige Lösungen, die auch mit selbstgeschriebenen Funktionen nicht alle Wünsche erfüllen.
Im Home Assistant sind Dashboards (auch mehrere!) einfach grafisch zu erstellen oder zu ändern. Viele unterschiedliche grafische Elemente können zur optisch ansprechenden Gestaltung auf der Arbeitsfläche platziert werden.
Dieser Punkt geht eindeutig an den Home Assistant und kann ein ausschlaggebendes Merkmal bei der Wahl der Systeme sein.
Türen oder Fenster, die zu unerwarteten Zeitpunkten geöffnet werden? Täglicher Bericht über die Energiekosten oder den Wasserverbrauch? Überwachen der Temperatur in den Räumen? Wasseralarm im Keller? Beide Programme erlauben beliebigen Ereignissen das Aussenden von Nachrichten (Text oder Bilder) an einen Benutzer oder auch an eine Gruppe. Dazu gibt es Programmbausteine, die nur mit den Daten eines Telegram-Bots gefüllt werden und dann sofort einsatzbereit sind.☝

Wäre es nicht schön, das Smart Home von unterwegs nicht nur überwachen, sondern auch steuern zu können? Auch hier bietet der Home Assistant ausgereifte Lösungen: mit der Home Assistant Cloud erscheint die komplette Benutzeroberfläche am Handy oder am Laptop – exakt in derselben Form wie vor Ort. Der Zugriff ist gesichert und läuft über die Server von Nabu Case, der Firma, die für den kommerziellen Teil der HA verantwortlich ist.
Zur Klarstellung:
Die Nutzung des Home Assistant ist völlig kostenlos. Die Fernbedienung wäre beispielsweise ebenso über ein Virtual Private Network (VPN) möglich.
Die Nutzung der Home Assistant Cloud kostet pro Jahr 75 € (inkl. Mehrwertsteuer). Da dies auch der Weiterentwicklung des HA dient, ist das ein durchaus angemessener Betrag.
Dieser Beitrag kann keinesfalls die Leistungsfähigkeit beider Systeme auch nur annähernd beschreiben. Jedoch sollte das Interesse geweckt werden!
Beim Home Assistant scheint die Regel zu gelten: Es gibt nichts, was es nicht gibt! ☝
Der Beitrag lädt dazu ein, sich mit Node-RED und Home Automation zu beschäftigen. Der Schwerpunkt liegt, auch in der Langversion, beim HA. Die Clubabende des ClubComputer und das Forum Smart Home | IoT werden in der Folge noch mehr zum Thema Wie automatisiere ich mein Heim? – vor allem mit dem HA – bieten.
Alle Zusatzinformationen sind in der Langversion zu finden. Ab dieser Ausgabe wird immer derselbe Link zu einer Übersichtsseite verwendet, von der auf die einzelnen Beiträge dieser Reihe verwiesen wird.
Link und QR-Code: https://pcnews.at/markdown/index.html

Erstellt mit QR Code Generator – kostenfrei, ohne Login, ohne Konto: https://goqr.me/. Short URL erstellt mit https://t.ly/.
Copyright
