Homematic schaltet 433MHz Baumarkt-Steckdosen
Die Homematic-Funksteckdosen sind eine tolle Sache und auch sicherlich bei vielen Anwendungen die erste Wahl.
Möchte man mehrere Geräte schalten, so summieren sich die Steckdosen auch ganz schnell und dies schlägt auch auf den Geldbeutel.
Geht es um kleinere Anwendungen wie z.B. die Weihnachtsbaumbeleuchtung, bei der man auf Leistungsmessung, Sicherheit und einer bidirektionalen Funkverbindung verzichten kann, so tun es auch manchmal billige 433MHz Funksteckdosen aus dem Baumarkt. Da kostet ein 3er-Set gerade mal ~20,- EUR.
Diese sind zwar eigentlich nicht mit der Homematic kompatibel, lassen sich jedoch mit ein paar Bastelstunden leicht an die Homematic koppeln und optional sogar mit Alexa steuern.
Wie das funktioniert, möchte ich hier beschreiben.
Voraussetzung: Lauffähige ioBroker Installation (auf Raspberry Pi)
-> ioBroker auf Raspberry Pi installieren
Los gehts!
Die richtigen 433MHz Funksteckdosen
Dieses Tutorial bezieht sich auf 433MHz Funksteckdosen mit DIP-Schalter, bei denen man den Hauscode und ggf. auch den Steckdosencode selbst wählen kann.
- In meiner Umgebung nutze ich die Elro AB420S (Indoor) und AB400WD (Outdoor) Steckdosen mit 10 DIP-Schaltern.
Hierbei wird mit den ersten 5 Schaltern der Hauscode und mit den restlichen 5 Schaltern (6-10) der Steckdosencode eingestellt.
So ergibt sich im folgenden Beispiel der Hauscode 10101, welcher sich einfach einstellen lässt in dem man die eingeschalteten Schalter mit 1 und die ausgeschalteten Schalter mit 0 aufschreibt. Die nächsten 5 Schalter haben dann die Werte 1,2,3,4,5 bei diesen nur ein Schalter eingeschaltet werden darf. Im Beispiel wäre dies also der 3. Schalter(8), was den Steckdosencode 3 ergibt.
- Etwas einfacher geht es mit Steckdosen, welche man von Amazon beziehen kann, bei denen nur der Hauscode eingestellt wird und der Steckdosencode fest vergeben ist.
433MHz Funkmodul installieren
Benötigt wird ein 433MHz Funkmodul, welches hier bei Amazon für kleines Geld zu kaufen gibt.
Dieses ist genau wie hier am Beispiel eines Raspberry Pi 3 gemäß diesem Schaltplan mittels Steckbrücken weiblich-weiblich zu verbinden.
Dabei werden die Pins VCC an 5V+ / GND an GND / DATA an GPIO17 des Raspberrys verbunden.
Mittels eines 17cm langen Drahts an Lötpunkt ANT angelötet, kann eine deutlich höhere Reichweite erzielt werden. Die 17cm entsprechen Lambda/4 bei 433MHz. Haltet diese Länge unbedingt ein, da es sonst zu einem ungünstigen Stehwellenverhältnis kommt und somit das Modul beschädigt wird! In den meisten Fällen wird eine zusätzliche Antenne allerdings nicht benötigt.
Benötigte Linux-Pakete installieren
Mit Hilfe des Programms Putty auf dem Raspberry Pi per SSH einloggen
Unter Host/IP den Hostnamen oder die IP-Adresse eurer ioBroker-Insallation eintragen
Port 22 / SSH
Open
sudo apt-get update sudo apt-get install wiringpi sudo apt-get install git-core cd /opt sudo git clone git://github.com/xkonni/raspberry-remote.git cd raspberry-remote sudo make send
Damit holt sich der APT-Paketmanager die neuesten Source-Listen und installiert die Pakete wiringpi und git-core.
Anschließend wird von Github das Programm Raspberry-Remote heruntergeladen und kompiliert.
Hat alles erfolgreich geklappt, kann mit den folgenden Befehlen überprüft werden, ob alles funktioniert:
Einschalten
sudo ./send 10101 3 1
Ausschalten
sudo ./send 10101 3 0
Hierbei entspricht 10101 des Hauscodes aus dem obigen Beispiel und 3 des Steckdosencodes. Die Zahl am Ende beschreibt 1 zum Einschalten und 0 zum Ausschalten.
Abschließend kann die Console mit dem Befehl exit geschlossen werden.
Homematic Variablen anlegen
Quicktipp: Variable anlegen
Es wird pro Steckdose eine Variable benötigt.
- 433MHz-Steckdose3
Name:433MHz-Steckdose3 Typ: Logikwert Werte: wahr = An / falsch = Aus
Virtuelle CUxD-Schalter anlegen
Es wird pro Steckdose ein virtueller Schalter benötigt.
Voraussetzung ist eine lauffähige CUxD Installation mit Exec-Gerät Konfiguration
TIPP: Installation CUxD-Addon
- Die CUxD Systemsteuerung aufrufen unter dem Webinterface deiner CCU2 -> Einstellungen -> Systemsteuerung -> CUxD-Daemon
- Dort unter Geräte ein neues Gerät folgenden Typs anlegen:
und anschließend auf Gerät auf CCU erzeugen klicken. - Nun befindet sich im Posteingang auf der Homematic CCU2 Startseite unter Geräte anlernen ein neues Gerät
Mit einem Klick Fertig ist die Geräteinstallation abgeschlossen.
Homematic Programme anlegen
Quicktipp: Programm anlegen
Es wird pro Steckdose ein Programm benötigt.
- 433MHz-Steckdose3-Schalten
(Ich habe mich bewusst entschieden auf Aktualisierung auszulösen, da die Variable auch aus anderen Wegen geschaltet werden könnte. Auf Änderung auslösen funktioniert natürlich genauso.)
Hierbei ist zu beachten, dass nach einer Variablenänderung immer ein HM-RCV-50 BidCos-RF:50 Tastendruck kurz hintergeschickt wird. Dies veranlasst den ioBroker den aktuellen Variablenstatus abzufragen. Andernfalls dauert es eben einige Sekunden bis ioBroker diese Änderung merkt.
Damit dies auch funktioniert, ist im ioBroker hm-rega Adapter das Polling mit diesem Trigger zu konfigurieren.
ioBroker Adapter
- ioBroker Javascript Adapter hinzufügen
mit + wird der Adapter hinzugefügt.
ioBroker Script
Dies geschieht über das Icon und anschließendem Klick auf Ansicht -> Scripte.
Ist der Reiter Script jetzt zu sehen, kann der Bearbeitungsmodus mit erneutem Klick auf das Symbol beendet werden.
Wechseln wir nun zum Reiter Scripte.
Anschließend wird per Klick auf das Icon ein neues Script vom Typ Javascript erstellt.
Diesem geben wir einen sinnvollen Namen (z.B. 433MHZ-Steckdosen) und fügen folgenden Code ein:
// ioBroker-Script für Homematic schaltet 433MHz Baumarkt-Steckdosen by Homematic-Guru.de // https://homematic-guru.de/homematic-schaltet-433mhz-baumarkt-steckdosen var pfad = "/opt/raspberry-remote/"; // Pfad zum Raspberry-Remote var hc = "10101"; // Hauscode der Steckdosen // Nun wird pro Steckdose eine Zeile dupliziert und die Werte Variablen-ID + Steckdosennummer angepasst. on('hm-rega.0.12345', function(obj) { exec(pfad+'./send '+ hc +' 1 '+ ~~obj.newState.val); }); on('hm-rega.0.12346', function(obj) { exec(pfad+'./send '+ hc +' 2 '+ ~~obj.newState.val); }); on('hm-rega.0.12347', function(obj) { exec(pfad+'./send '+ hc +' 3 '+ ~~obj.newState.val); }); // Script Ende
Jetzt werden noch ein paar Parameter angepasst.
pfad: Steht für den Pfad, in dem sich das Programm Raspberry-Remote befindet. Wurde es gemäß dieser Anleitung installiert, ist hier nichts zu ändern.
hc: Steht für den eingestellten Hauscode der Steckdosen.
In diesem Beispiel ist das Script für 3 Steckdosen aufgebaut. Reagiert wird auf 3 verschiedene Variablen mit 3 verschiedenen Steckdosen.
Werden weitere Steckdosen hingefügt oder entfernt, so sind die Zeilen jeweils zu kopieren oder ggf. zu löschen.
Angepasst wird dann jeweils die Homematic Variablen-ID (z.B. hm-rega.0.12347) und die Steckdosennummer (z.B. 3).
Die dazu jeweiligen IDs findet man im ioBroker unter Objekte.
Ist alles soweit erledigt, kann das Script gespeichert und gestartet werden.
433MHz Steckdosen über Homematic schalten
Hat alles geklappt, können die einzelnen Steckdosen jetzt über die virtuellen Schalter geschaltet werden.
Fertig!
Ich möchte hier am Schluss noch erwähnen, dass diese Anleitung natürlich auch für andere 433MHz-Geräte als nur Steckdosen adaptierbar ist.
Viel Spaß beim Schalten!
Verwendete Hardware
-
Homematic Zentrale CCU3 inkl. AIO CREATOR NEO Lizenz
€179,95
Enthält 19% Mwst.zzgl. VersandIn den Warenkorb -
Raspberry Pi 3 Kit
Jetzt Preis prüfen! -
433 MHz Funk- Sende und Empfänger Modul
Jetzt Preis prüfen! -
Funksteckdosen-Set 433MHz (3x) für den Innenbereich
Jetzt Preis prüfen! -
Steckbrücken Drahtbrücken für Arduino / Raspberry pi Breadboard weiblich-weiblich
Jetzt Preis prüfen!
Funktionsweise Homematic 433MHz Funksteckdosen
Sobald der virtuelle Taster in der Homematic betätigt wird, wird das Homematic Programm ausgeführt, welches die zuvor angelegte Homematic Variable umschaltet und anschließend den ioBroker zum Polling antriggert.
Der ioBroker holt dann den aktuellen Wert der Variable von der Homematic ab und setzt diesen in seinem eigenen Variablen Objekt um.
Das ioBroker Script reagiert auf die Änderung des Wertes, und führt das Raspberry-Remote Programm mit den eingestellten Parametern zusammen mit dem übergebenen Wert aus. Das Raspberry-Remote schickt dann diesen Befehl an das 433MHz-Modul, welches dann das Senden eines Befehls an die jeweilige Steckdose übernimmt.