Die Überschrift klingt kompliziert? Ja, etwas technisches Verständnis ist hier nötig! Wer sich aber durch meine Pimatic Tutorials gefunden hat, kann hier einen Schritt weiter gehen.
Einführung in MySensors
Eigene Sensoren? Wow, das geht? Klar geht das! Alles was Z-Wave und co. kann, gibt es auch als Open Source Variante. Und damit sind diesmal nicht die China Steckdosen aus dem Baumarkt gemeint. Mit dem richtigen Verständnis lässt sich hier ein hochintelligentes und funktionales Smart Home Ökosystem von Grund aufbauen, sehr günstig und komplett individuell.
Was ihr dafür braucht
- Raspberry Pi mit Pimatic - (Raspberry Pi 3 und Zubehör - 65€) - das Framework läuft auch mit anderen Controllern und anderer Hardware. Eine Liste gibt es hier, aber ich möchte mich hier für diese schicke und gleichzeitig relativ ausgereifte Pimatic Variante entscheiden.
- 2x Arduino(s) - (Arduino Nano - 3-5€ pro stk) - Der Nano ist eine gute Grundlage zum basteln. Er lässt sich sehr einfach handhaben. ihr braucht hierfür wenigstens 2 (Server und Sensor)
- 2x NRF-Funk Modul - (nRF24L01+ RF Transceiver - 10€ für 2 stk) - Funkmodul für Server und Sensor
- Relais Karte - (Relais 2er Karte - 6€) - Als Beispiel baue ich einen Schalter. Daher im Artikel das Relais.
- Steck-Kabel - (Stecker-Stecker 4€)
- Eine Liste mit weiteren Sensoren für eigene Ideen
Die Komponenten gibt es meist bei Amazon oder auch billiger aus China über Ali-Express (3-4 Wochen warten). Ich kann die Bestellung aus China nur empfehlen, freue mich aber, wenn ihr über die Afiliate Links bei Amazon kauft. Kostet Euch nichts extra und wir bekommen eine Kleinigkeit für die Mühe!
Für das Tutorial benötigt ihr Grundlagenwissen in der Programmiersprache C und es ist auch von Vorteil schon einmal mit dem Arduino gearbeitet zu haben. Ich werde den Umgang mit der Arduino IDE und die Details zum Quellcode nicht von null erklären, das sprengt hier einfach den Rahmen. Wie immer kommt man aber vermutlich mit "Copy & Paste" zum Ziel. So soll es auch sein und wer Schwierigkeiten hat, melde sich bitte in den Kommentaren oder im Forum. Dafür sind sie bzw. es da.
Was ihr dafür bekommt
In diesem Tutorial 2 per Web-GUI oder RestAPI schaltbare Relais und eine Zentrale, die mit vielen weiteren Sensoren oder auch (siehe andere Tutorials) 433 Mhz Komponenten erweitert werden kann. MySensor bietet ein Mesh Network und eine bidirektionale Kommunikation und steht damit Z-Wave in kleinster Weise nach. ihr habt nun außerdem die Option Sensoren zu kreieren, die es so noch gar nicht gibt. Wie wäre es mit einer Steckdose mit integriertem Temperatursensor und Geräuschmessung? Die kommt dann ins gleiche Schlafzimmer, in dem der 1 jährige Schreihals liegt...
Der Gateway am Raspberry Pi
Als Erstes bauen wir unseren Server, das ist noch nicht allzu kompliziert. Auf dem Raspberry läuft bereits Pimatic und ihr habt im Idealfall schon einmal das 433 Mhz Tutorial absolviert. Sonst dieses wenigstens einmal lesen.
Wir bauen uns einen "Serial-Gateway". Der Arduino wird via USB an den Raspberry angeschlossen. An ihm befindet sich wiederum das FunkModul NRF. Der Arduino dient hier also als "Übersetzer" für Pimatic. Wenn Pimatic "Sensor 1 Einschalten" sagt, wird dies per USB-Serial an den Arduino übertragen und dieser sendet es dann per Funk. Warum nicht gleich das Funkmodul an den Raspberry, werden sich hier vielleicht die Ersten fragen. Das Betriebssystem vom Pi läuft nicht in Echtzeit und eignet sich auch sonst weniger für eine direkte Hardware-Ansteuerung. Die Zuverlässigkeit wird hier also, zum Preis von 5€ des Arduinos, erheblich gesteigert. Wer sich die direkte Hardware-Variante des Gateways ansehen will, diese gibt es selbstverständlich auch hier zum nachlesen.
Also auf gehts. Wir flashen jetzt die Firmware auf den Arduino, welcher dann per USB an den Raspberry kommt. Eventuell benötigt ihr einen Serial Treiber für den Arduino, wenn er einen CH340 Chipsatz hat. Diesen gibt es hier für Win/OSX/Linux zum Download.
Variante 1 für die Faulen
Wir nutzen Codebender direkt aus dem Chrome Browser. Dafür muss ein Plugin installiert werden. Die Konfiguration ist selbsterklärend. Unter dem Quellcode wird der Arduino ausgewählt (Arduino Nano 328 in diesem Tutorial) und rechts davon der Serial Port, mit welchem er verbunden ist. Dann "Run on Arduino" drücken. Das Flashen beginnt, der Arduino sollte nun blinken und beschrieben werden.
Für die Installation via Codebender wird das Codebender Plugin benötigt
Variante 2 für die Geeks
Wer sich auch in Zukunft weiter damit beschäftigen möchte oder den Code anpassen will, sollte gleich in der Arduino IDE arbeiten. Diese gibt es HIER. MySensors muss dann in das /librarys Verzeichnis der Arduino IDE kopiert werden und der Sketch aus dem Beispiel oben kann kompiliert werden. Die libraries gibt es HIER. Den Sketch zum Kompilieren, fertig für die IDE, gibt es HIER. Sollten Fehler auftreten, habt ihr sicher die Libs nicht richtig installiert. Hier ein kleine Video, wie es geht:
[youtube url="https://youtu.be/Nz2CQyqEMfA" hd="1" showinfo="0"]MySensors Gateway anschließen
Da Bilder immer am schönsten sind, gibt es eine Grafik, wie das NRF - Funkmodul angeschlossen wird. Zu beachten, dass ihr nicht 5V mit 3,3V verwechselt und auch nicht GND und 3,3V vertauscht. Beides führt zur sofortigen Detonation :) Der Arduino mit angeschlossenem Funkmodul wird dann an den Raspberry Pi gesteckt.
Installation und Konfiguration mit Pimatic
Nachdem wir nun den Arduino gebaut und programmiert haben, wird er an das Raspberry Pi via USB angesteckt. Raspbian erkennt ihn dann als USB Device unter /dev/ttyUSB0 (Manchmal auch ttyUSB1 usw.). Wir verbinden uns per SSH mit dem Pi und beenden Pimatic via sudo service pimatic stop , sollte es laufen. Als Nächstes wird die Pimatic config geöffnet via sudo nano ~/pimatic-app/config.json . Hier fügen wir 1. die Initialisierung des MySensors Moduls ein und 2. die Devices, welches später unser Relais Akteur wird.
Unter Plugins also den mysensors Part:
1 2 3 4 5 6 7 8 9 10 |
{ "plugin": "mysensors", "driver": "serialport", "protocols": "1.5.1", "startingNodeId": 0, "driverOptions": { "serialDevice": "/dev/ttyUSB0", "baudrate": 9600 } } |
Der Pfad bei "serialDevice" ist euer Arduino. Checkt einfach mit ls /dev/ | grep ttyUSB ob der Arduino auch an USB0 ist und passt gegebenenfalls an.
Unter devices den Switch:
Was es hier mit nodeid und sensorid auf sich hat, erfahrt ihr noch später.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "id": "Switch1", "name": "Switch1", "class": "MySensorsSwitch", "nodeid": 31, "sensorid": 1 }, { "id": "Switch2", "name": "Switch2", "class": "MySensorsSwitch", "nodeid": 31, "sensorid": 2 } |
Eine komplette und funktionierende Config mit diesem Beispiel gibt es auch wieder HIER.
Mit angestecktem MySensors Gateway starten wir nun Pimatic via sudo service pimatic start . Im WebGUI können wir oben rechts auf das Zahnrad klicken und dann "Add a new item" klicken. Hier sollten jetzt Switch1 und Switch2 auftauchen. Mit dem + Symbol fügen wir sie zu unserer Startseite. Das Ganze sieht dann so aus:
Um Noch einmal den Gateway zu checken, kann man sich die Log-Datei ansehen. Einfach auf das Zeichen links neben dem Haken (im Bild oben 414 Errors) klicken und im Dropdown links "Info" anhaken und daneben "pimatic-mysensors" auswählen.
Ausblick auf Teil 2 und Teil 3
Glückwunsch, auf der "Server - Seite" ist nun alles fertig. Zumindest für unsere 2 Relais. Wie der passende Wireless Sensor programmiert und aufgebaut wird, erfahrt ihr schon bald in Teil 2.
In Teil 3 wird es dann um allgemeines zu MySensors gehen. Ich gebe ein paar Tipps zu anderen Sensoren und zur Hardware. Also bleibt dabei.
Hi,
Sicherlich kann man diese Sensoren auch mit einem FibaroFensterkontakt oder Universal Sensor (UBS) koppeln und ins HC2 integrieren, oder?
Ich suche nämlich immer noch etwas zur Füllstandsmessung meiner Zisterne....
Und bei Deinen Links gab es einen Ultraschallsensor.....
Gibt es bei der Auswahl der Sensoren/Anschluss an den Fenstetsensor etwas grundsätzliches zu beachten?
VG Hoggle
Hey, ein Ultraschallsensor funktioniert grundsätzlich erst einmal nicht mit dem Fensterkontakt. Du kannst einen Arduino so programmieren, dass er einen Pin ab Wert X schaltet (Fensterkontakt). ooooder du wartest noch ein paar Tage, denn mit dem Z-Uno wird es bald einen komplett programmierbaren Z-Wave Baustein geben. Der Artikel ist schon in Arbeit ;) Damit ist ALLES möglich und du kannst z.B. den Wert deines Ultraschallsensor als Z-Wave Device darstellen.
Grüße
Daniel
Danke.
Na das hört sich doch super an!
Muss wann für den Uno Programmierer sein, oder bekommt man das auch als Normalo hin?
Als Alternative:
https://blog.m.nu/fibaro-hc2-mysensors-proof-of-concept/
Was ist das für eine Sprache ? :-)
Schwedisch :D
https://translate.google.com/translate?sl=auto&tl=de&js=y&prev=_t&hl=de&ie=UTF-8&u=https%3A%2F%2Fblog.m.nu%2Ffibaro-hc2-mysensors-proof-of-concept%2F&edit-text=
Das liest sich interessant !
Hat das zufällig schon jemand versucht?
Sicherlich ist aber der Z-UNO eine Alternative....
Klar funktioniert das. Ich habe z.B. einen Rollladen umgebaut und kann ihn über MySensors steuern. Meine Klingel + Türöffner kann ich auch über mysensors bedienen. Das sind jetzt alles keine Projekte für den Einstieg, aber vom Prinzip her lohnt es sich immer sich einmal mit Arduino, C Programmen und co auseinander zu setzen ;)
Grüße Daniel
Hallo Daniel.
Ich habe sehr interessiert deinen Artikel verfolgt, da ich selber pimatic nutze und schon einige 433 MHz Sensoren betreibe. Zusätzlich habe ich noch eine Keymatic mit Homematic auf einem weiteren PI.
Das MySensor system reizt mich aber ungemein, da es sehr kreativ ist und viele Ideen bei gleichzeitiger bidirektionalität bietet.
Wann meinst du denn, dass der 2. Teil des Tutorial veröffentlich werden kann?
Gruß
Stefan
Hallo Daniel,
voller Spannung warte ich auf den 2. Teil.
Woran klemmt's? Kann man helfen? Oder brauchen wir nicht weiter zu warten?
Bernd
Hey Bernd. Ich habe leider gerade einiges in der Arbeit zutun, werde aber bald Teil 2 schreiben. Ansonsten, wenn du der Englischen Sprache mächtig bist, kannst du auch auf "https://www.mysensors.org/build/" schauen. Ich denke mir die Sachen ja auch nicht aus ;) Ich versuche es nur weniger Wissenschaftlich als Guide hier darzustellen.
Grüße
Hi,
vielen Dank für Deine schnelle Antwort. Auch wenn Du Dir die Sachen nicht ausdenkst, kann ich hier die Zusammenhänge erst verstehen. Ob auf MySensors oder Pimatic.org werde ich das Gefühl nicht los, da sind die Experten unter sich. Es werden immer nur Fragmente aufgeführt. Hier wird ein funktionierendes System hinzugefügt. Vom Sensor bis zu Pimatic.
Dann werde ich auf Teil 2 voller Spannung warten.
Bernd
Hallo Daniel.
in Deinem angegebenen Link für die Library kann man MySensor-Master.zip herunterladen, jedoch befindet sich darin kein Ordner Library. Im Ordner Core sind zwar viele der Bibliotheken enthalten, aber nicht alle. So fehlt z.B die MyTransportRFM69.h.
Kannst Du bitte die Variante2 überprüfen und die geänderten Gegebenheiten einarbeiten.
Vielen Dank
Grüße
Bernd
Hallo,
Wo sind die libs in der "neuen" Git? In der von dir beschriebenen Version gibt es die scheinbar noch, mittlerweile ist mysensor aber bei 2.0
Kannst du mir weiterhelfen wie man die aktuellsten libs erfolgreich einfügt?
Beste Grüsse
Christoph
Hallo Christoph,
von hier: https://github.com/mysensors/MySensors/tree/master über den grünen Button die .zip-Datei herunterladen und entpacken. Den Ordner MySensors-master in den libraries Ordner der Arduino IDE legen. Der sollte unter Dokumente/Arduino zu finden sein. In dem MySensors-master Ordner liegt noch ein Ordner examples. Den kannst Du in Deinen Arduino Ordner legen. Darin sind dann alle Arduino-sketche z.B. für das serielle Gateway und der Relais-Anwendung zu finden.
einen schönen 3.Advent
Bernd
Hallo,
ich wünsche allen noch wartenden ein gesundes und erfolgreiches neues Jahr.
Bernd
Update: Ich habe den Link für den Serial Gateway Sketch aktualisiert, so dass auch die aktuelle Library von MySensors kompiliert werden kann. Der Link:
https://www.siio.de/wp-content/downloads/mysensor_gateway.zip
Viele Grüße
Hallo,
gibt es schon Teil 2 und 3 ??
Ich kann leider nichts finden.
gruß
ludger
Ich habe noch nicht weiter geschrieben. Das wird demnächst mal fällig!
Super Tutorial , aber wann kommt teil 2, komm sonst nicht weiter