Smarthome

Seit Jahren beobachte ich den Smarthome Markt, hatte 2019 den Würfel von homee im Focus, vorher auch einen erfolglosen Versuch mit Raspberry Pi und fhem, aber das war mir alles zu kompliziert. Ein Versuch mit OpenHAB auf einem Raspberry Pi endete Anfang 2020 trotz einiger Erfolge, intelligente Steckdosen, Lampen und Schalter zusammen zu bringen. Die Konfiguration und letztendlich die Regeln waren mir einfach zu komplex und undurchsichtig. Die Komponenten waren aber nunmal schon vorhanden, so suchte ich eine Alternative möglichst auf Raspi Basis.

Seit April 2020 setze ich Node-RED als Smarthome Steuerung ein mit folgenden Komponenten:

  • Raspberry Pi 3b mit Sense HAT Modul und Gehäuse von Thingiverse aus dem 3D-Drucker
  • Mosquitto MQTT Broker mit zwei Konfigurationen getrennt für internen und externen Zugriff
  • Zigbee “CC2652RB stick”, ein USB-Stick von slaesh mit zigbee2mqtt Firmware für die MQTT Anbindung (mit dem vorigen CC2531 Stick habe Probleme mit den mittlerweile mehr als 30 als Zigbee Geräten bekommen, außerdem war die Reaktionszeit recht Träge) Andererseits hat der neue Stick derzeit wohl massive Lieferprobleme.
  • Enocean USB 300 Stick
  • diverse IKEA Tradfri Lampen, Schalter und Dimmer (Zigbee)
  • diverse WLAN Steckdosen von Gosund, Maxcio und Avatar mit Tasmota-Firmware geflasht, damit auch MQTT-Anbindung, bei Gosund und Avatar inkl. Strommessung, bei Maxcio mit zus. steuerbaren LED-Anzeigen z.B. als Nachtlicht oder Infoanzeige
  • mehrere WLAN Steckdosen von Shelly
  • Shelly1 Schalter für den parallelen Einsatz des bisherigen Lichtschalters und Ansteuerung per WLAN und MQTT
  • drei Shelly 2.5 Schalter für die Rollladensteuerung (WLAN) per MQTT
  • Shelly RGBW2 Controller für einen vierfarbigen oder vier einfarbige LED Strips (WLAN)
  • mehreren Shelly Door-Windows Sensor, die neben offen und zu auch den KippWinkel und den Luxwert zurück liefern
  • NoName Touch-Schalter als Ersaz für den bisherigen Lichtschalter, geflasht mit Tasmota Firmware (WLAN) Die Bedienung ist aufgrund der fehlenden Rückmeldung durch einen “richtigen” Schalter nicht optimal.
  • Aqara Temperatur- und Luftdrucksensoren (Zigbee)
  • Aqara / Opple Schalter als 2-fach, 4-fach und 6-fach möglich, erkennt, einfach-, doppel- und Dreifachklicks, außerdem Halten und Loslassen, alle für jede Taste als einzelner Event (Zigbee)
  • Aqara Tür- bzw. Fenstersensoren (Zigbee)
  • Hoppe Fenstergriff mit Prüfung der Griffposition (Enocean)
  • Eurotronic Comet Dect Thermostate mit Anbindung an die bestehende AVM Fritzbox 7590 (Dect)
  • eine AVM FRITZ!DECT 200 Steckdose inkl. Strommessung (Dect)
  • RM mini mit Tasmota Firmware zum Anlernen und anschließend Ansteuern von Geräten mit Infrarot-Signalen, außerdem zur Steuerung von Node-RED mit fast beliebigen IR-Fernbedienungen (IR)
  • Steuerung von zwei Frontier-Silicon-basierten Internetradios (http/WLAN)
  • Anbindung von Telegram für Statusmeldungen und auch zum Steuern von Geräten, außerdem RiveScript für einen einigermaßen intelligenten Chatbot
  • Sensor Node Pro auf einem Samsung Galaxy S7 Smartphone, das die Sensoren des Handys (Lichtstärke, Lautstärke, Akkustand, Luftdruck, Kamera) ausliest und per MQTT bereitstellt
  • Tasker auf dem gleichen Galaxy S7, das per MQTT Befehle annimmt und z.B. den Bildschirm einschaltet
  • Anbindung eines E-Mail-Kontos für Statusmeldungen und auch zum Steuern von Geräten
  • Anpassen des Dashboards mit Unterscheidung einzelner interner Clients und Zugriff von extern
  • Abfrage einer Webseite mit lokalen Blitzerinfos und Versand per Telegram in konfigurierten Zeitabständen oder sobald das Smartphone sich im Auto anmeldet

Was momentan in der Testphase ist oder darauf wartet, eingesetzt zu werden:

  • Sprachsteuerung über den Node-RED Node node-red-contrib-voice2json (beta) von Johannes Kropf
  • andere LED Strips (möglichst mit IR Fernsteuerung) per Tasmota flashen und zus. per Node-RED steuern können. Bisher habe ich nur ein entweder-oder erreicht. Dafür freut sich mein Sohn, der die nicht kompatiblen bzw. nicht flashbaren Strips “verwertet”.

Was bei mir nicht geklappt hat:

  • Koukaam NETIO-230 (ohne A oder B), ein (nicht so) intelligenter Stromverteiler mit 4 Ausgängen von 2007 mit HTTP-Anbindung: Hier hat schon die automatisierte http-Authentifizierung nicht funktioniert. Deshalb habe ich dafür einen geeigneten Platz in der Mülldeponie gefunden 🙂

Softwareversionen:

  • Raspbian Buster (basiert auf Debian 10 Buster)
  • Node-RED 1.3.2 (am 13.04.2021)
    • Dashboard 2.28.1
    • viele weitere Nodes (Erweiterungen)
  • Node.js 12.21.0
  • NPM 6.14.11
  • zigbee2mqtt 1.18.2
  • Mosquitto 1.5.7 (letzte Version bei Debian, aktuell sind 1.6.13 bzw. 2.0.7)
  • Tasmota Firmware 9.3.1 (Updates werden vom Autor ausdrücklich nur bei Fehlern oder Wunsch nach neuen Features oder beim Einsatz neuer Geräte empfohlen)
  • Schalter von Shelly Firmware 1.10.3 (von 04/2021)

(letzte Überprüfung: 17.04.2021)

Gründe für Node-RED:

Ich kann mit der grafischen Programmierung von Node-RED alle Komponenten in ein Web-Dashboard integrieren und zusammen steuern. Zum Beispiel meldet der Hoppe Fenstergriff per Enocean Protokoll, dass die Tür geöffnet ist und wenn niemand (mehr) zuhause ist (kein Smartphone mehr im WLAN registriert), wird eine Meldung per Telegram an alle eingerichteten Bewohner abgesetzt. Außerdem kann ich über einen einzigen Zigbee-Schalter alle gewünschten Geräte, egal, ob per DECT, Zigbee oder WLAN steuern.

Node-RED unterstützt mit über 2700 Erweiterungen (Nodes) extrem viele externe und interne Verbindungen und läuft auf einem Raspi trotzdem stabil und ausreichend schnell.

Links zu Büchern, Videos und anderen Tutorials finden sich jetzt in einem eigenen Beitrag.

Auf meiner Firmen-Webseite beschreibe ich weitere Anwendungsgebiete von Node-RED, die ich bereits realisiert habe.

Tipps & Tricks:

Chartwerte werden dauerhaft (bzw. für eine definierte Anzahl von Tagen) gespeichert mit Hilfe des Nodes node-red-contrib-persist. In einem Chart können auch mehrere Werte angezeigt werden:

Icons für das Dashboard können z.B. im Switch Node über die Custom Einstellung bei Icons oder bei Buttons direkt über den Eintrag Icon über die Auswahl von Font Awsome integriert werden, wobei ich besonders auf die Unterseite mit den Beispielen hinweisen möchte, wo gezeigt wird, wie man die Icons vergrößern (33% größer oder 2x – 5x so groß) und auch drehen, spiegeln und animieren kann.

Der Node RiveScript aus dem Paket node-red-contrib-rive läßt mit Hilfe der Scriptsprache RiveScript den Telegram Chatbot etwas intelligenter wirken.

2 Kommentare

  1. Hallo Stefan, ich habe fast die gleiche Konfiguration. Für mich ist eine Lösung, mit der man die eigenen Automationsanforderungen sehr gut und transparent umsetzen kann. Ein Erfahrungsaustausch wäre vielleicht von Vorteil, da man immer wieder auf kleine Probleme trifft.

    Gruß
    Jürgen

Kommentare sind geschlossen.