Projekt – Home Automation

Mit der neuen Wohnung und einer bauseitigen Vorbereitung für eine Multimedia-Verkabelung fing das ganze Thema „Automatisches Zuhause“ an. Sinnbefreit, der Mensch braucht das nicht.

Info: Dieser Beitrag wird fortlaufend mit Erfahrungen und Optimierungen der Lösung ergänzt. Ihr findet diese jeweils verlinkt in den Texten (Update …).

Nach der Verlegung einer Cat. 7 Netzwerkverkabelung und meiner privaten Netzwerkumgebung kam ich via einen guten Kollegen auf das Thema „Shelly“. Simple Dimmer, Sensoren und Schalter mit denen sich Licht steuern, Raumwerte auslesen und Storen steuern lassen.

Als gelernter Elektromonteur einfach eingebaut in die Schalterkästchen und wo die Dinger auch immer Platz haben. Sie nenne sich Shelly 1, 2.5, EM, HT und so weiter. Schlussendlich sind nun 30 Stück der Teile verbaut, inklusive neuen Feller Edizio Taster und Schalter. Die Shelly’s, eine echt tolle Sache einer rumänischen Firma, du bist ab 20 Franken dabei. Die Shelly’s lassen sich via WLAN wunderbar integrieren und können so ziemlich alles einfach und komfortabel steuern und messen. Die kostenlose Shelly Cloud-App stellte sich bald als unbrauchbar „cloudig“ heraus und so begann die Evaluation einer „Home Automation“.

Nach Exkursen mit Loxone, KNX und was es sonst noch so gibt verfolgte ich dann weiter den „Open Solution“ Gedanken. Wie ich dies auch schon bei 443.ch umgesetzt habe.

Nach diversen Nächten fand ich in ioBroker die perfekte Lösung. Installierbar auf einem Rasperry Pi 4, der eierlegenden Wollmilchsau für alle IoT Ansätze, und in Kombination mit dem mir bekannten Raspian auf der Basis von Debian erhielt ich eine scheinbar tolle und stabile Basis für meine Heim-Automation.

ioBroker ist ein Knotenpunkt der alle IoT (Internet of Things) Geräte zusammen führt und via Logik kombinieren lässt. ioBroker verfügt zahlreiche „Objekte“ mit welchen man alles möglich steuern kann. Mache das, wenn das, sonst mache das. So die Theorie.

Die tollen Shellys waren schnell angebunden und funktionierten tadellos. Mit der in ioBroker integrierten VIS Oberfläche hatte ich bald ein wunderbares GUI zum Steuern der Shellys am Laufen.

Bild: Montage von vier Shellys in einer Schweizer Feller Edizio UP Kombination

Die vorhandene Zehnder Minergie Komfortlüftung war dann schnell via RS 232 integriert und so konnte ich auch diese mit dem ioBroker steuern. Sogleich folgte die Logitech Harmony Umgebung und auch diese liess sich perfekt anbinden. Das Ganze Mediasystem im Wohnzimmer konnte ich via VIS steuern.

Nun, alles schön, aber bald stellte ich fest, dass die grafische Oberfläche sekundär ist und eine „Home Automation“ nur „Automation“ ist wenn Sie eben automatisch ist. Was fehlte waren „Buttons“ und Logik mit welchen ich das ganze steuere. Die Buttons fand ich bei Ikea als „Tradfri“ für ein Trinkgeld. Nun ging die ZigBee Geschichte los. Die Knöpfe mussten in den ioBroker rein. Nein, kein Ikea, Xioami, Philips, whatever Cloud Gateway ich benötigte eine „Open“ Lösung.

Nach einem üblichen Fehlkauf bei solchen Projekten, dieses Mal den Premium USB ZigBee Sticks namens Conbee II, ein deutsches Spitzenprodukt welches nicht so Spitze war, erwarb ich dann die Aliexpress USB Lösung auf der Basis eines Texas Instruments SoC cc2531, Siehe da, stabil und wunderbar und meine Ikea Knöpfe liefen geschmeidig im ioBroker.

Auch hier gabs aber bald ein Problem, der cc2531 lief zunehmend am Anschlag mit 20 Zigbee Geräten, es folgte ein Update auf einen ZigBee Stick mit einem TI CC26X2R1. Eben, wer billig kauft, kauft zweimal.


Bild: ZigBee Objekte welche direkt am ioBroker via Texas Instruments SoC CC26X2R1 eingebunden sind. Cloudfree!

Nun ja, die Knöpfe und diese Logiksache. „Wenn das, dann das, sonst jenes“ war nun das nächste Projekt. Nach zahlreichen „Battlefields“ mit Java Scripten, auf diesen basiert nun ioBroker mal, kaufte ich mir frustriert ein 20 € YouTube Tutorial für „Blockly“, einem grafischen Editor für Logikabläufe welcher in ioBroker integriert ist. Linux Shell ja, Java würg. Freude herrscht! Des Blockly’s mächtig funktionierte bald die erste Aktion „Alles aus in der Wohnung“. Licht, Sonnenstore und Multimedia Aus! Die Shelly’s ratterten durch die Wohnung, die Lüftung blies irgendwie und nach weiteren Forenbesuchen und Tutorials lief dann alles supertoll und effizient. Ich konnte die Wohnung komplett automatisiert steuern, tolle „Alles aus“ Aktionen, Sonnenstoren auf und ab, Lüftung in Stufe XY wenn zu warm, Stosslüftung und so weiter.

Nun ja. Wie das so ist kamen nun weitere „Bedürfnisse“, anstelle von Netflix-Abenden wurde das System erweitert. Wie hoch ist eigentlich der Energieverbrauch der Wohnung? Ein Shelly 3EM 3-Phasen Energiemesser musste her. Schnell integriert und kombiniert mit zwei Shelly 1EM für den Keller und den Hobbyraum hatte ich in VIS bald den Gesamtverbrauch der Wohnung grafisch dargestellt. Ja, der tolle 65″ Plasma saugt noch immer 600 Watt und schlägt die Mikrowelle.

Als nächstes galt es das Reduit, der Raum mit der Waschmaschine und dem Trockner, lichttechnisch zu automatisieren. Der Ikea ZigBee Bewegungssensor schaltet nun beim Eintreten in das Reduit, wohlverstanden mit einem vollen Wäschekorb und keiner freien Hand, automatisch das Licht an. Das Prinzip habe ich gleich fortgeführt für den Terrassen Abstellraum sowie für den begehbaren Kleiderschrank. Es folgte das Dampfabzug-Projekt. Meine Wohnung ist „Minergie“ und der Dampfabzug bläst den „Geruch des Kochens“ an die Decke. Der Aktivsuperdupper-Kohlefilter lindert das wenig. Die Zehnder Komfortlüftung muss da nachhelfen und mittels „Stosslüftung“ ihr Bestes geben. Da der Elektroplaner wie immer sein nicht bestes gab ist das Bedienpanel alles andere als zentral montiert. Ein Shelly 1PM misst nun den Energieverbrauch des Dampfabzuges und schaltet wenn „Leistung über nWatt“ automatisch die Stosslüftung via ioBroker. It rocks!

Das Prinzip der Steuerung der Stosslüftung habe ich nun für die Dusche adaptiert. Mittels einem Xiaomi ZigBee Temperatur/Feuchtigkeitssensor aktiviere ich die Stosslüftung wenn der Feuchtigkeitswert den Schwellwert übersteigt.

Komfortlüftung? Auf der Suche was denn nun „Komfort“ sein soll habe ich festgestellt, dass die Zehnder Lüftung sich meiner Logik entzieht. Das Teil saugt im Sommer warme Aussenluft an und heizt die Wohnung auf. Die Sainlogic basierte Wetterstation auf dem Dach misst die Aussentemperatur und regelt nun die Lüftung runter wenn „Aussen wärmer als Innen“. Da ich im Keller kein ZigBee erschlossen habe messen Shelly HT  Temperatur und Feuchtigkeit im Keller und Hobbyraum und stellen diese in VIS bereit.


Bild: ioBroker VIS Gui mit Wetter- & Lüftungswerten

Nun denn, wie steuere ich den Auralic Streamer und die zwölf Sonos Speaker welche in der Wohnung verteilt sind? Als Audiophiler habe ich seit eh einen Roon Audioserver integriert welcher auf meine FLAC Audio Sammlung sowie zahlreiche HD-Audio Webstreams und Tidal zugreift. Wunderbar zu bedienen mit einer tollen App. Was klanglich eine tolle Sache ist, ist in Sachen „Home Automation“ eine Pain. Wie Apple ist Roon ein „closed system“ und stellt lediglich eine Api Schnittstelle bereit. Das nächste Subprojekt startete. Wie regle ich die Lautstärke in den Räumen, wie skippe ich Tracks?

Auf Git fande ich nun ein MQTT Interface welches die Roon Api steuert. MQTT? F…
Nach weiteren Studien und einem Austausch mit „Chregu“, der Installation des Roon-MQTT-Interface auf meinem Debian NUC meldeten sich Roon im ioBroker. Ikea war angesagt, die ZigBee Button der Symfonisk Linie waren perfekt. Nach dem nächtlichen Aufwecken meiner Nachbarn, 0dB ist nicht null Lautstärke, kann ich nun auch den Roon Controller via ioBroker steuern.


Bild: ioBroker VIS Gui mit Multimediasteuerung

Update August 2020:

Nun, nach vielen weiteren Sensoren zeigte sich bald mal das der Raspberry Pi 4 der Sache nicht mehr gewachsen war. Die Verzögerungen in der Steuerungslogik waren nervend. Wie immer eben, der Raspberry ist und bleibt eine Bastlerlösung die schlussendlich immer im Frust endet. Sogleich habe ich dann auf einen NUC i5 mit 480GB 24×7 SSD und 16GB RAM migriert. Natürlich wieder mit Debian. Da ich eine Backup-Paranoia habe verfügte ich natürlich über zahlreiche ioBroker Vollsicherungen welche mit der integrierten Backupfunktion via Cron und Shell erstellt werden können. Zu meiner Überraschung liess sich das Backup des Pi problemlos auf dem NUC mit Debian einspielen. Und siehe da… ZigBee Button drücken und absolut keine Delays. Das Ganze geht nun echt toll ab und ich bin happy.

Die Wetterstation ist nun auch integriert und damit habe ich saubere Werte für die Lüftungs- und Sonnenstorensteuerung. Sobald es regnet oder zu stark windet fährt die 5m Sonnenstore rein.

Als nächstes kam nun das „Farbbirnenzeugs“ dran. Dafür habe ich mir bei Ikea die zahlbaren Tradfri Color LED Leuchtmittel gekauft. Lassen sich Ruckzuck via ZigBee anbinden und machen eine schöne Ambientbeleuchtung. Via Datenpunkte in ioBroker kann ich mit einem Klick via GUI oder Button die komplette Szenerie farbig gestalten.

Da nun auch noch die Pflanzen auf der Terrasse etwas Farbe benötigen werde ich diese noch mit GU10 Leuchtmitteln bestrahlen. Das Philips Zeugs für den Garten kostet ein Vermögen und ist nicht lieferbar. Ich hab mir nun bei Hornbach GU10 Erdspiessspot’s gekauft in welche nun die Philips Color GU10 Strahler reinmontiert werden, leider hat IKEA da keine Color GU10 im Sortiment.

Ja, und dann kam die nächste Baustelle. Die Ikea Farbdinger haben keine „ColorTemp“ Values, die Philips schon. Toll, grün in der Variante Philips und Ikea. Sieht völlig Gaga aus. Schlussendlich habe ich nun auf Hue von Philips umgestellt um einheitliche Farben zu erhalten. Wer billig kauft, kauft zweimal. Auch hier wieder.


Bild: ioBroker VIS Gui mit Lichtsteuerung

Update Dezember 2020:

Der Texas Instruments CC2531 war nun leider am Limit und strafte mit hohen Latenzen beim Schalten. Die ZigBee Sensor und Aktoren verloren oft den Kontakt zum Broker. Kurz gegoogelt und eben, ich war nicht der Einzige mit diesem Problem. Es musste ein TI CC26X2R1 Stick her. Diesen bekommt man direkt assembliert und mit SMA Anschluss bei Tindie. Das Manual ist verständlich und ausführlich. Die Firmware und den Boootloader gibt’s auf GitHub. Geflasht, angesteckt, SMA 8dBi Magnetfuss-Antenne wieder dran,  alle Geräte neu angelernt (Fluch ..) und ab ging die Post. Eine neue Welt! Keine Latenzen und genügend Reserven für weitere Devices.

Bild: TI zzh CC2652R Multiprotocol RF Stick (Bluetooth 5.1, Thread, Zigbee 3.0, 6LoWPAN)

Zusätzlich folgte noch ein Shelly PM für das Energietriggering des Backofens und der Microwelle. Die Stosslüftung soll ja auch bei den Microwellen Popcorn meines Sohnes anspringen. Natürlich wieder einfach gelöst mit Blockly.

Weiter geplante Erweiterungen (oder Baustellen ..):

  • Integration des ioBroker WhatsApp Adapter für Statusmeldungen
  • Integration des FakeRoku Adapters für die Lichtsteuerung via Logitech Harmony
  • Integration eines PM10/2.5 Feinstaubsensors mittels NodeMCU ESP8266 mit SDS011/BME280 Modulen (Outdoor, Dachmontage) mit einer 11dBi WLAN Richtantenne (PCB/SMA Modifikation)
  • Integration eines PM10/2.5 Feinstaubsensors mittels NodeMCU ESP8266 mit SDS011/BME280 Modulen (Indoor, Innenmontage)
  • Integration weiterer ZigBee Sensoren für die Messung des Raumklima
  • Modifikation der Regelung der Bodenheizung mit ZigBee Aktoren
  • Anbindung der mBus Wasser- und Wärmezähler

Summary:

In der Zwischenzeit habe ich extrem viel gelernt und bin mit dem System glücklich. Die Diskussion mit dem „GUI“ ist für mich nicht relevant da ich nicht für jede Aktion mein Smartphone oder Tablet zücken möchte. Es heisst ja „Home Automation“ nicht „Home Manual“.

Ja, es gibt professionellere Lösungen auf der Basis z.B. von Loxone und KNX. Diese sind jedoch massiv teurer und verfügen für mich persönlich nicht über den Faktor „Spass mit Open Source & Co“.

Ich habe eine grosse Sammlung an Scripts für die Shell und Templates für Blockly.
Weiter gebe ich gerne mein Wissen zu ioBroker weiter.
Ich freue mich auf deinen Kontakt unter: ivo@syfrig.ch

Bilder zu meinem Projekt findet ihr hier.

Links und Infos über die hier genannten Themen findest du unter „links to the world“ im Menü.