Schaltbare Steckdosenleiste mit dem Raspberry Pi

rbprelais2Wenn ich im Haus Geräte schalten wollte, kam bisher entweder eine SIS-Steckdosenleiste oder eine Funksteckdose zum Einsatz. Die SIS-Steckdosenleisten sind leider nicht allzu günstig und die Funksteckdosen neigen gerne mal dazu, den Dienst zu quittieren. Bei einer Recherche nach einer alternativen Lösung stieß ich auf 8-Kanal-Relaiskarten, die aus Fernost günstig zu beziehen sind. Mit diesen Modulen ist es möglich, acht Geräte zu schalten. Diese gibt es auch in kleinerer Form, aber ich habe mich direkt für ein großes Modul entschieden. In diesem Beitrag berichte ich vom Aufbau, Anschluss und Betrieb dieses Relais-Moduls.

 

 

Hinweis

Bitte diese Anleitung nur verwenden, um Geräte mit einer Schutzkleinspannung zu schalten. Auch wenn hier die Schaltung von 230V-Geräten gezeigt wird, darf dies nur durch Fachpersonal umgesetzt werden. Ich übernehme keine Haftung für evtl. Schäden!

 

Schaltungsaufbau

Wir benötigen folgende Artikel für die Verwendung des Relais-Moduls an einem Raspberry:

 

Die Verdrahtung nehmen wir, wie in folgender Skizze gezeigt, vor. Dabei empfiehlt es sich, die Verschaltung auf einer Lochrasterplatine umzusetzen.

 

Relaisschaltung

 

Bei dieser Schaltung ist zu beachten, dass sich das Modul und der Raspberry eine Stromquelle teilen. Dazu gibt es mehrere Möglichkeiten:

  • Wir versorgen den Raspberry über ein abgeschnittenes und neu verdrahtetes Kabel mit Micro-USB Stecker
  • Wir versorgen den Raspberry mit einer Betriebsspannung von +5 VDC über die PINs 2 und 6 (+5V und GND)

 

Das Handwerk

Ich habe mich dazu entschieden, acht Unterputzsteckdosen in einen selbst gebauten Holzkasten aus mitteldichter Faser zu setzen. Für das Einsetzen verwende ich Hohlwanddosen, die auch günstig im 10er-Netz im Baumarkt erhältlich sind.

 

DSC00771

 


Die verwendeten MDF-Teile habe ich mir im Baumarkt auf Maß zusägen lassen.

 

DSC00761

 


Auf der Frontplatte errechne ich mir passende Abstände für die acht Hohlwanddosen und markiere diese.

 

DSC00764

 


Für die Löcher mit 68mm Durchmesser habe ich ebenfalls aus dem Baumarkt ein günstiges Lochsägen-Set mitgenommen.

 

DSC00768

 


Nun bohre ich an den markierten Stellen Löcher vor.


DSC00774

 


Anschließend kommt die Lochsäge zum Einsatz. Mit dieser werden nun mithilfe der vorgebohrten Löcher die großen Ausschnitte mit 68mm in das Frontbrett gebohrt.

 

DSC00777

 


Wenn wir bis hierhin alles richtig gemacht haben, passen auch alle Hohlwanddosen und wir können diese mit den schraubbaren Spreizkrallen fixieren.

 

DSC00780

 

DSC00781

 


Für die einzusetzenden Steckdosen habe ich mich für ein günstiges Set eines polnischen ebay-Händlers entschieden.

 

DSC00782 DSC00784

 


Nun verschraube ich die Frontplatte mit den übrigen MDF-Teilen und erhalte einen fast fertigen (Schalt-) Kasten.

DSC00790

 


Zudem setze ich eine Aufputz-Verteilerdose ein, in welcher später sämtliche Nullleiter und PE-Leitungen aufgeteilt werden.


DSC00795

 


Nun geht es an das Verkabeln. Ich ziehe die Eingangsleitung in die Verteilerdose und gehe dort mithilfe von Wago-Klemmen mit je einem Nullleiter und einer PE-Leitung zu jeder Steckdose. Die Phasen der jeweiligen Steckdose werden in das Relais-Modul geführt.

 

DSC00812

 


Von außen sah der “Schaltkasten” nun fertig aus.

 

DSC00836

 


Die Schaltung der Transistoren und Widerstände habe ich, wie bereits erwähnt, auf einer Lochrasterplatine ausgeführt. Von dort führt jeweils eine Leitung in das Modul sowie eine Leitung zu einem GPIO-Port des Raspberrys.

 

DSC00820

 

DSC00824

 

DSC00835

 

DSC00834

 


Die Verschaltung auf der Lochrasterplatine wurde zunächst “frei schwebend” getestet…

DSC00838

 

DSC00837

 


…und anschließend in ein Kunststoffgehäuse gesetzt.

 

DSC00839

 


Das Kunststoffgehäuse habe ich unter die Himbeere geklemmt, so konnte ich die Wege von der Lochrasterplatine zu den GPIO-Ports kurz halten.


DSC00842

 

DSC00841

 

DSC00840


Abschließend habe ich die Steckdosen geprüft, ob bei der Verdrahtung ungewollte Verbindung entstanden sind, die ggf. Kurzschlüsse erzeugen könnten.

DSC00831_2

 


Den korrekten Betrieb der Steckdosen habe ich vor dem Anschließen von realen Verbrauchern nochmals geprüft.

DSC00832_2

 


 

Konfiguration

Das Schalten am Raspberry gestaltet sich denkbar einfach. Wir installieren, falls nicht bereits geschehen, die wiringPi-Bibliothek wie in dieser Anleitung beschrieben und definieren die für das Relais-Modul gewählten GPIO-Ports als ausgehende Ports:

for i in 0 1 2 3 4 5 6 7; do /usr/local/bin/gpio mode $i out;done

 

Diese Zeile kann genau so auch in die Datei “/etc/rc.local” eingetragen werden, damit die Portinitialisierung beim Systemstart durchgeführt wird.

 

Nun können wir eine Steckdose mit

gpio write 0 1

einschalten und mit

gpio write 0 0

wieder ausschalten.

 

Integration in OpenHAB

Script erstellen

Für die Integration in OpenHAB erstellen wir uns zunächst das Script “/scripts/relais.sh” mit folgendem Inhalt:

#!/bin/bash
if [ -z "$1" -o -z "$2" -o -z "$3" ] ;then
echo "So geht das nicht"
exit 1;
fi

/usr/bin/ssh -i /scripts/.ssh/id_rsa root@192.168.1.$1 "/usr/local/bin/gpio write $2 $3"

 

Das Script erwartet folgende Argumente

  1. Letztes Oktett der IP-Adresse der Himbeere, an der das Relais-Modul angeschlossen wurde
  2. Den zu schaltenden GPIO-Port in wiringPi-Zählweise
  3. Den zu schaltenden Zustand, “1” oder “0”

Diesem Script erlauben wir die Ausführung mit

chmod +x /scripts/relais.sh

und übergeben den Besitz an OpenHAB mit

chown openhab: /scripts/relais.sh

 

Items definieren

Für unseren Schaltkasten benötigen wir acht neue Items, die bei mir wie folgt aussehen:

//Relaismodul an rbp239
Switch	TISCHLAMPE_WZ <tablelamp> (grp_LICHT) { exec=">[OFF:/scripts/relais.sh 239 0 0] >[ON:/scripts/relais.sh 239 0 1]" }
Switch	TAB_WZ1 <tablet> (grp_TABLETS) { exec=">[OFF:/scripts/relais.sh 239 1 0] >[ON:/scripts/relais.sh 239 1 1]" }	
Switch	BOXEN_EZ <speaker> (grp_BOXEN) { exec=">[OFF:/scripts/relais.sh 239 2 0] >[ON:/scripts/relais.sh 239 2 1]" }
// 4 = frei
Switch	SAL_PUMPE <pumpe> (grp_TIER_PUMPEN) { exec=">[OFF:/scripts/relais.sh 239 4 0] >[ON:/scripts/relais.sh 239 4 1]" }
Switch	SAL_LUEFTER <fan> (grp_TIER_LUEFTER) { exec=">[OFF:/scripts/relais.sh 239 5 0] >[ON:/scripts/relais.sh 239 5 1]" }
Switch	SAL_LI_TA <light> (grp_TIER_LI_TA) { exec=">[OFF:/scripts/relais.sh 239 6 0] >[ON:/scripts/relais.sh 239 6 1]" }
Switch	SAL_LI_NA <nightlight> (grp_TIER_LI_NA) { exec=">[OFF:/scripts/relais.sh 239 7 0] >[ON:/scripts/relais.sh 239 7 1]" }

 

Einbindung in die Sitemap

Die neuen Items binden wir wie alle anderen auch in die Sitemap ein. Exemplarisch ein Beispiel:

Switch item=TISCHLAMPE_WZ label="Tischlampe" mappings=[ON="An", OFF="Aus"]

 

Nochmals der Hinweis, dass bitte nur Geräte mit einer Schutzkleinspannung zu schalten sind!