im folgenden wird Gebäudeautomation in einem Beispiel erläutert, wie man verschiedene IoT Geräte in einem System zusammenfaßt. Es gibt heute viele Geräte mit denen man im Unternehmen oder im Eigenheim Verbraucher über eine App steuern kann. Das eine Problem ist, das man nicht weiß wie viele verschiedene, fremde Cloud Systeme man den Zugriff auf das Heimnetzwerk erlaubt und zum anderen hat man viele verschiedene Apps für verschiedene Systeme. Kurz gesagt, hier wird Ihnen gezeigt, was Sie brauchen um anstatt 6..n Fernbedienungen, Sie nur eine einzige für alles verwenden. Hier noch ein älterer Artikel zu dem Thema in diesem Blog (klick mich).
Was wird benötigt?
- ein IO Broker Server
- ein IoT Gerät an einem Verbraucher
Der Server
Als erstes wird ein Server benötigt der in dem Gebäude in dem zu nutzenden Netzwerk eingebunden wird. Beispiele welche Geräte man nutzen kann, ist eine NAS wie z.B. die Synology, ein Windows PC oder ein Raspbery Pi. Dieser Server muß 24h 7Tage die Woche und 365 Tage im Jahr an sein. Demnach ist es wichtig Sie einen Server mit dem geringsten Stromverbrauch für diese Aufgabe nutzen. Im dem folgenden Beispiel wurde ein Synology NAS Server verwendet, da die Synology im Unternehmen auch andere Aufgaben zu erfüllen hat, wie z.B die hauseigene Dateicloud. Somit ist der Server immer online.
Auf den Server spielt man nun den IO Broker auf. Die gleichnamige Software IO Broker findet man in der Synology über den Docker. Der IO Broker hat die Aufgabe alle Geräte die man steuern möchte zu verwalten. Dem IO Broker ist die Herkunft der IoT Geräte egal. Jeder Hersteller kommt dafür in Frage, solange das verwendete Kommunikationsprotokoll von dem Broker unterstützt wird. Der IO Broker versteht eine große Liste an Schnittstellen mit denen er dann mit den eingebundenen Geräten kommuniziert.
Das IoT Gerät
Als IoT gerät wird hier im Beispiel ein WEMOS D1 Mini verwendet. Es könnte allerdings zum Beispiel auf ein Sonoff Gerät, Shelly Gerät, Arduino controller oder gar eine Waschmaschine, Spülmaschine und vieles mehr. Leider gibt es bei den Herstellern wie so oft keine Einigkeit über die zu verwendenden Kommunikationsprotokolle. Gerade große Hersteller brauen lieber Ihr eigenes Süppchen um dem Kunden nicht ein Feature zu bieten sondern eine Kundenbindung. Allerdings gibt es auch Ausnahmen wie z.B. BMW wo man direkt im IO Broker Werte aus dem BMW Account bekommt und verarbeiten kann. Aber auch über dritt Anbieter kann man sich mit dem „Home Connect“ von Siemens verbinden und einige Funktionen im IO Broker verarbeiten z.B. nach dem Vorgangsende der Spülmaschine / Waschmaschine das Signal als Benachrichtigung weiterleiten.
Die Voraussetzung
Als vorausgesetzt für dieses Beispiel ist die Wahl des Servers und die IO Broker Installation. Weiterhin werden hier nicht alle Vorgänge im Detail beschrieben. Bei offen Fragen können Sie gerne intelligent ideas kontaktieren.
Vorbereitung des IO Broker Servers
Als erstes muß der MQTT Server im IO Broker Installiert werden, damit sich MQTT IoT Geräte sich an dem IO Broker Server anmelden können. Man sucht in den Adaptern des Hauptmenüs nach dem Sonoff Adapter.
Jetzt wird im IO Broker eine Instanz erstellt und aktiviert. In der Konfiguration legt man die Zugangsdaten fest, die alle MQTT IoT Clients bekommen müssen um vom IO Broker gefunden zu werden, das die Gebäudeautomation gesteuert werden kann.
Vorbereitung des WEMOS D1 Mini
Als erstes spielt man mit einer Software Tasmota, das Sonoff Betriebssystem auf, damit man später zum einen mit dem IoT WEMOS D1 Mini die angeschlossenen Relais über WIFI schalten und zu anderen via MQTT mit dem IO Broker kommunizieren kann. Das Flashen des Mikrocontrollers macht man am besten mit NodeMCU-PyFlasher-4.0-x64.exe (hier benutzt Version 4.0). Die Software gibt es als portable Version für Windows oder für Apple und kann ohne Installation gestartet werden. Dann braucht man noch das Tasmota Betriebssystem als Binäre einzelne Datei die sonoff.bin (hier benutzt Version 6.6.0.18 kompiliert mit dem 2.6.0 Arduino Core). Auf der Seite gibt es eine Vielzahl von speziellen Versionen für verschiedene Anwendungen. Hier wird nicht darauf eingegangen das alleine das Thema für mehrere Blog Berichte reichen würde.
Nach dem flashen bootet der WEMOS D1 Mini als WLAN Host mit Namen „Sonoff…..“. Beim einloggen hat man die Möglichleit sein eigenes WLAN Netzwerk mit Passwort auszuwählen damit sich der WEMOS D1 Mini beim nächsten Boot in das IoT Netzwerk anmelden kann.
Über den Router des Netzwerkes findet man dann die IP Adresse und gibt diese in die Browser Adressleiste. Wiederum über das Web Interface stellt man dann die Geräte-IO-Vorlage ein. Als Vorlage wählt man „Generic 18“ ein. Dadurch weiß Tasmota auf welche Ein/Ausgänge zugegriffen werden kann. Die Einstellungen werden in unserem Beispiel wie folgt ausgewählt.
Die Einstellungen der IO´s werden über Dropdown Felder eingestellt. Es wird Tasmota gesagt das an D1,2,3 und 4 Jeweils ein Relais Invertiert angeschlossen ist. D.h. stromlos unbestätigt. Wer gerne die LEDs leuchten sehen möchte wenn das Licht/Verbraucher aus ist, kann die Einstellungen auch nicht invertiert auswählen. Dann schließt man die Relais als Öffner an um den Kontakt zu schließen. Zuletzt ist noch ein Taster angeschlossen damit man das Licht in der Garage auch manuell ohne App einschalten kann. Der Taster ist am Digital Port D5 des WEMOS D1 Mini angeschlossen. in Tasmota wird hier Switch3 ausgewählt weil dann das dritte Relais geschaltet wird. Sollte ein anderes Relais geschaltet werden dementsprechend Switch1..n.
Die Relais Platine ist von Elegoo ein 4 Kanal DC 5V Relaismodul mit Optokoppler für Arduino.
Das Gehäuse ist von der Händler Reichelt mit der Artikelnummer RND 455-00347 Kunststoffgehäuse, 105 x 70,6 x 35,5 mm das Netzteil ist ein 5V 0,5A Netzteil. Der Taster ist von Larcele Druck Taster Druckknopf ANKG-01 12mm und vermutlich bei Amazon gekauft.
Damit der IO Broker später den WEMOS D1 Mini später auch als ein IoT erkennt gibt man dem WEMOS über Tasmota die Information wo und wie der IO Broker zu finden ist das sich das Gerät nach dem Booten an den Server anmeldet. Die Kommunikation findet über das MQTT Protokoll statt. Auch dafür gibt es n Tasmota ein Menü in der man den USER, Paßwort und Hostadresse des Servers eintragen kann.
Finden des WEMOS im IO Broker
Nachdem der WEMOS jetzt mit den MQTT Einstellungen des IO Brokers neu bootet wird er sich erfolgreich über MQTT am Server anmelden und der IO Broker kann den WEMOS mit seinen Ein/Ausgangssignalen verarbeiten. Im Reiter „Objekte“ öffnet man im Baum Knoten Sonoff den Punkt und sieht ein ganze Reihe von Signalen, die jetzt verarbeitet werden können. Jedes dieser Signale sind auch in einem Script im IO Broker verwendbar. D.h. über programmierbare Scripte ist es jetzt möglich beim Schalten eines Relais eine automatische ausschalte Verzögerung zu verwirklichen. Oder es soll ein zweites Relais mit geschaltet werden…. oder .. oder ..oder. In der Liste finden sich natürlich auch die 4 Relais wieder (POWER1..4) wie auch der Taster (Switch3). Selbst den Taster kann man jetzt im ganzen Netzwerk verwenden. Man könnte den Taster so programmieren, das er einen Verbraucher ganz woanders schaltet und nicht nur das Licht in dem Raum in dem er sich an der Wand befindet. Das ist eine Grundlage für SMARTE Gebäudeautomation.
Aufsetzen einer Visualisierung im IO Broker
zu guter Letzt wird mit dem IO Broker dann die globale Visualisierung erstellt. Dies wird aber in einen kommenden Blog Bericht behandelt. Aber hier schon mal eine mögliche Ansicht eines HMI im Handy.
[coffee]