ioBroker Node Red Raspberry Serial Arduino Heimautomation

1
958
node-red
node-red

Projekt Heimautomation – Smart Home mit Arduino ioBroker und Raspberry.

Die Vorgeschichte:

Ob man zu Hause nun ein Bussystem wie EIB, KNX, DMX oder sonstige System Systeme verwendet oder eine normale Verkabelung und eine zentrales Steuersystem, muss jeder für sich selbst entscheiden.
Auf einer Bauen- und Wohnen Messe haben wir kürzlich das System von der österreichischen Firma Evon Home gesehen. Das System von evonHOME verwendet kein Bus System. Man verwendet hier Standard- Schalter und normale Verkabelung. Hier steckt keine Intelligenz in den einzelnen Schalter, wie bei einem Bussystem. Das Geherin ist hier die Steuerzentrale, das Controller Modul. Zusätzlich zum Controller gibt es die einzelnen Module mit digitalen Eingängen und Relais. Diese schalten Lichter und Rollos. Das Besondere an dieser Lösung ist, die einzelne Module funktionieren in der Grundfunktion auch noch ohne der Zentrale, dem Controller. Eine geniale Lösung.

Auf der Suche nach einem Webshop, wo man die Produkte von evonHOME kaufen kann, bin ich auf die Rubrik Automatisierung – SPS gestoßen. (SPS= Speicherprogrammierbare Steuerung, Englisch Programmable Logic Controller, PLC)
Man findet hier von vielen Herstellern ähnliche Produkte, die bei Weitem günstiger, als die von evonHOME sind. Sehr interessant ist hier auch das Siemens LOGO! System.
Wenn man sich die einzelnen SPS Module der verschiedenen Hersteller ansieht, so findet man bei einigen Herstellern als Basis Arduino oder Arduino kompatible Systeme.
Es gibt hier viele Hersteller, die Module für die Hutschiene, mit analogen und digitalen 12-24V Eingängen und Relais anbieten. Das ganze mit Prüfzeichen und Zulassung. Diese sind teilweise so günstig, dass man diese selber kaum billiger zusammenlöten kann. Ein sehr schönes System, sind die von CONTROLLINO.
Somit haben wir uns zum Ziel gesetzt, die Arduino Plattform zu testen um herauszufinden, ob man ein ähnliches System, wie von evonHOME, günstiger nachbauen kann. Nachdem wir viele System getestet haben, sind wir zur Konstellation:

ioBroker Node Red Raspberry Serial Arduino gekommen.

Nun zu unserm Testsystem.

Was ist das Ziel?

Ein Modul, sprich ein Arduino soll selbstständig funktionieren. Auch wenn die Zentrale nicht da ist, muss das System funktionieren. Das heißt, das Licht muss über die Schalter zum schalte sein.

Eine Zentrale soll zusätzlich die Smart Home Steuerung übernehmen. Diese ist über das Netzwerk erreichbar und übernimmt die Automatisierung, Steuerung, Regelung und Fernbedienung über Smartphone, Webbrowser und Internet. Dafür wird ein Raspberry als Hardware und die Software ioBroker & Node Red (Opensource kostenlos) als Verwaltungssoftware eingesetzt.

Der Aufbau der Schaltung

 

Aufbau Arduino Raspberry
Aufbau Arduino Raspberry

Der Raspberry ist mit dem Arduino Uno über USB verbunden. Es sind 2 Taster und 2 Relais angeschlossen.

So kann der Raspberry Pi über das USB Kabel (Serial) steuern und abfragen.

Die Programmierung des Arduino

Wie man einen Arduino programmiert, findet man auf vielen Webseiten und Youtube Kanälen. Auf die Vorgehensweise gehen wir nicht genauer ein.

Sketch für den Arduino.

Wir haben diesen aus vielen einzelnen Vorlagen und Beispielen auf der Arduino Webseite zusammengebaut. Es war nicht ganz einfach, aber es ist auch unser erster Sketch ohne Arduino Programmierkenntnisse. (Anmerkungen und Verbesserungsvorschläge gerne gesehen)

Was macht der Sketch?

Er wartet auf das Drücken der beiden Taster. Jeder Taster ist einem Relais zugeordnet. Wir der Taster einmal gedrückt, so ändert sich der Zustand vom Relais. Drückt man noch mal, so ändert sich der Zustand vom Relais noch mal. Der Taster muss nicht gedrückt bleiben.
Zusätzlich wird der Zustand der Relais am Serial Port (USB Port) ausgegeben, wenn er geändert wird. Ebenso kann man die Relais über das Serial Port (USB Port) per Software über den Raspberry Schalten. Mit A wird das erste Relais auf EIN und mit B wird es wieder aus AUS gestellt. Mit C wird das zweite Relais auf EIN und mit D wird es wieder auf AUS gestellt. Auch dieser Zustand wird wieder auf dem Serial Port ausgegeben.

ioBroker auf dem Raspberry Pi 3

Wir gehen hier nicht auf die Installation von ioBroker auf dem Raspberry Pi 3 ein. Auch dafür gibt es viele Anleitungen. Entweder man installiert ioBroker zusätzlich zu Raspian oder man holt sich von der ioBroker Webseite gleich das Image mit ioBroker. Beide Versionen funktionieren.

Wenn nun der ioBroker läuft, so kann man die Weboberfläche dazu über x.x.x.x:8081 aufrufen. Wenn man die Image Version für den Raspberry Pi von ioBroker installiert hat, so sind bereits einige Adapter-Instanzen installiert.

Wenn nicht dann brauchen wir:

ioBroker simple web Adapter

Node-red Adapter.

 

ioBroker-Node-Red
ioBroker-Node-Red

Um einen Adapter zu installieren, muss man nur auf das kleine + klicken. Das Ganze dauert eine Weile.

Nun sollte man unter Instanzen sowohl den web.0 und den node-red.0 Adapter sehen. Beide sollten einen grünen Punkt haben.

 

ioBroker-Node-Red
ioBroker-Node-Red

Nun zu Node-Red

Mit Node-Red kann man sehr einfach Schaltungen zusammen stellen. Das ganze geht einfach der Mausklick und durch herumziehen und verknüpfen. Auch Node-Red hätte bereits fast alles für unser Smart Home inkl. Weboberfläche. Node-Red und ioBroker kann man miteinander Verknüpfen und dadurch kann man die Vorteile beider Systeme nützen. Durch Node-Red kann man sich viel Programmierarbeit sparen.

Um nun die NodeRed Oberfläche zu starten, klickt man einfach im ioBroker auf das kleine Bild Symbol.

ioBroker-Node-Red
ioBroker-Node-Red

In Node-Red muss man nun einige Zusatzmodule installieren. Dazu geht man auf Manage palette.

Node-Red Module Installieren
Node-Red Module Installieren

Hier klickt man auf Install und gibt als Suchbegriff Serialport ein. Nun einfach auf Install klicken, wenn es noch nicht installiert ist.
Wir benötigen dieses Modul, da Node-Red über das USB Port (Raspberry) mit dem Arduino spricht.

Hier wird nun die Kommunikation vom USB Port mit dem ioBroker zusammengestellt. Dazu gibt es sowohl für das USB (Serial) Port wie auch für den ioBroker Ein- und Ausgänge (input output).

Hier die Programmierung, welche sie über Import Clipboard importieren können.

 

node-red
node-red

Was macht die Zusammenstellung?

Einmal horcht die Schaltung am Serial Port (Arduino USB) auf alle Ereignisse. Diese Ereignisse werden nun zum (switch) geschickt. Die wird aussortiert, welcher Text gesendet wird. Kommt der Text „Relais4 aus“ „Relais4 ein“, so wird dieser zum changer (Relais2) geschickt. Hier wird nun aus dem Text  „Relais4 aus“ „Relais4 ein“, eine 0 und eine 1 gemacht. Diese wird dann zum ioBroker output Modul geschickt (Status Lampe02). Wir haben für jedes Relais eine eigene ioBroker Node erstellt. Dieses Schnittstelle haben wir dann auch im ioBroker und können die Daten, welche hier ankommen, verwenden. Wenn man eine ioBroker Node erstellt in

und auf Deploy klickt, so wird ein neues Objekt im ioBroker erstellt.

Sehen sie sich einfach den Aufbau, anhand der importierten Schaltung in Node-Red an. Sie werden sehen, die Schaltung ist ganz einfach.

 

ioBroker-Objekte
ioBroker-Objekte

Um nun im ioBroker auf der Weboberfläche den Status der Relais zu sehen und diese auch zu schalten, öffnen wir den Web Adapter web.0.

ioBroker-VIS-Web
ioBroker-VIS-Web

Hier starten wir den VIS EDITOR.

Wir verwenden gleich das Demo Layout um unser Relais zu und den Status anzuzeigen.

 

ioBroker-VIS-Web
ioBroker-VIS-Web

Wir werden nun die beiden Buttons Aus und Ein, sowie das Symbol der Glühlampe unserm Relais zuweisen.

Dazu klicken wir auf den Ein Button.
Dann in der linken Spalte bei Object ID auf das rechte kleine Symbol. Hier können wir nun unseren node-red.0.Von ioBroker auswählen. Dies ist unsere Node vom Red-Node System, welches Befehle an der USB Port schickt. Als value geben wir den Buchstaben A (Groß) ein. Klicken wir später in ioBroker auf den Ein Button, so schickt der ioBroker das A an Node-Red und Node-Red schickt den Befehl an das USB Port vom Arduino.

ioBroker-VIS-Web
ioBroker-VIS-Web

Das Gleiche wiederholen wir nun mit dem Aus Button. Hier geben wir bei vale B ein.

Um nun die Glühlampe in der Mitte leuchten zu lassen (den Staus anzeigen zu lassen), klicken wir auf diese. Als Object ID wählen wir nun den node-red.0.Staus Lampe aus. Hier kommt von Node-Red der gefilterte Status 0 oder 1 für dieses Relais.
Wenn alles fertig ist, so kann man den Editor Bereich verlassen und in die normale bedien – Ansicht wechseln. Dazu einfach rechts oben auf das X klicken.

Nun sollte das Schalten über den Ein und Aus Button funktionieren. Ebenso sollte sich der Status der Lampe ändern, sowohl wenn man auf die Buttons drückt im Webinterface, wie auch wenn man auf den Taster am Arduino drückt.

 

ioBroker-VIS-Web
ioBroker-VIS-Web

Nun können Sie in gleicher Weise auch das zweite Relais mit Buttons belegen. Diese werden dann mit den Buchstaben C (ein) und D (aus) geschaltet.

Das Ganze kann man jetzt natürlich beliebig erweitern.

1 KOMMENTAR

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here