Schaltzentrale mit einem Raspberry Pi Zero W

  Peter Handrich   Lesezeit: 5 Minuten  🗪 2 Kommentare Auf Mastodon ansehen

Der Artikel beschreibt, wie mithilfe eines Raspberry Pi Zero W 433-MHz-Schalter und Tasmota-Wi-Fi-Schalter angesteuert werden. Alles ist ausschließlich Open Source und basiert auf einem Webserver, CGI und Bash-Scripts.

schaltzentrale mit einem raspberry pi zero w

Vor einem Dreivierteljahr hatte ich Lust auf ein bisschen Steuerung zu Hause. In Wohn- und Esszimmer und in der Küche gab es ohnehin schon 433-MHz-Steckdosen und Fernbedienungen (die alten mit den DIP-Schaltern). Im Schlafzimmer und Arbeits- und Besuchszimmer wollte ich die Lampen so organisieren, dass man sie vom Schalter aus bedienen kann (also wie gehabt) – aber auch vom Smartphone, vom Laptop oder vom Tablet aus. Was ich nicht wollte: Wi-Fi-Steckdosen, die sich erst mit einem Server in China verbinden, um anschließend bei mir zu Hause den Strom an- oder abzuschalten. Von einer nie angefangenen Bastelei lag noch ein Gehäuse herum, und der Raspberry Pi Zero W, der zeitweise mein Reisenotebook angetrieben hatte, war auch noch da. Dann habe ich nachgelesen (tatsächlich in einem Buch über den Raspberry Pi, das ich vor Jahren mal gekauft hatte), wie man wohl 433-MHz-Steckdosen mit einem Pi steuert und ob man dazu komplizierte Python-Installationsorgien machen muss – und da stand: Muss man nicht. Geht alles mit einem Webinterface, CGI-Scripts und der BASH-Shell. Super.



Bei eBay habe ich mir einen kleinen 433-MHz-Sender bestellt (den gab es nur als Sender-/Empfänger-Kombination – den Empfänger habe ich nicht gebraucht). Der Pi Zero W eignet sich hervorragend als Schaltzentrale für 433-MHz-Steckdosen und Open-Source-Wi-Fi-Schalter. Ein einziges Gerät in meiner zweistöckigen Wohnung schaltet alle in der Wohnung befindlichen 344-MHz-Steckdosen mühelos – und die Wi-Fi-Schalter natürlich ohnehin.

## 1. Hardware

a. Für den Betrieb als 433-MHz-Zentrale genügt der Raspberry Pi Zero W mit einer mindestens 4 GB großen SD-Karte und einem 433-MHz-Sender. Der Sender wird mit dem linken Pin an GPIO #17 (Pin 11) angeschlossen, mit dem mittleren an 5 V (Pin 2 oder 4) und mit dem rechten Pin an Masse (Pin 6 und viele andere). Er funktioniert mit 5V Arbeitsspannung, aber er ist dann ein bisschen schwach – ich betreibe ihn mit einem 12-V-Netzteil und den Pi Zero W an einem Wandler von 12V auf 5V vom selben Netzteil aus. Der Antennenanschluss sollte mit einem ca. 17 cm langen Kabelende versehen werden.

b. Für die über 433 MHz hinausgehenden Schaltwünsche habe ich mehrere Steckdosen und Schalter, darunter einen Stromstoßschalter, mit dem Open-Source-Betriebssystem Tasmota beschafft. Die lassen sich ganz einfach über die konventionellen Schalter, die immer schon die Lampen geschaltet haben, schalten – und zusätzlich über Wi-Fi. Ein guter Laden für mit Tasmota vorinstallierte Geräte ist https://mediarath.de/.

2. Betriebssystem

a. Als Betriebssystem funktioniert Devuan Daedalus gut. Ich habe das Image `rpi-devuan-daedalus-6.1.93-armel-ext4-2025-01-12-0543.zip` von der Seite benutzt. Das root-Passwort lautet „toor".

b. Nachdem das Image auf eine SD-Karte geschrieben wurde (z. B. mit Etcher), sollte die zweite Partition z. B. mithilfe von GParted so vergrößert werden, dass die ganze SD-Karte genutzt wird.

c. Dann kann gebootet werden – jetzt noch mit angeschlossener Tastatur und angeschlossenem Display.

d.  Um Tastatur und Display loszuwerden, sollte als Erstes Wi-Fi eingerichtet werden. Das funktioniert am allereinfachsten über den folgenden Eintrag in der Datei `/etc/network/interfaces`:

auto wlan0
iface wlan0 inet dhcp
wpa-essid {ESSIDName}
wpa-psk {WPA-Passwort}
```

Ein anschließender Reboot sollte Tastatur und Display überflüssig machen, weil ab jetzt per SSH auf den Pi Zero zugegriffen werden kann.

e. Auf dem Router sollte die per DHCP zugewiesene IP-Adresse statisch gemacht werden, damit der Pi Zero immer über die gleiche Adresse erreichbar ist.

f. Über SSH sollten jetzt die BenutzerIn devuan gelöscht, eine neue BenutzerIn angelegt und das root-Passwort geändert werden.

g. Dann sollte der Pi Zero lokalisierte Einstellungen erhalten:

```
dpkg-reconfigure locales
dpkg-reconfigure tzdata
dpkg-reconfigure keyboard-configuration
dpkg-reconfigure console-data
```

3. Voraussetzungen für 433MHz und Tasmota im Terminal und im Webserver

a. Für die weiteren Arbeiten braucht der Pi Zero die Unterstützung für git:

```
apt install git-core
```

b. Außerdem benötigt der Pi Zero einen Webserver. Es ginge bestimmt auch mit leichteren Servern, aber von verschiedenen anderen Projekten her kenne ich den Apache-Webserver einfach am besten:

```
apt install apache2
```

c. Der Webserver muss das cgi-Modul aktiviert haben:

```
a2enmod cgi
```

(danach muss der Webserver neu gestartet werden: `service apache2 restart`)

d.  Danach wird wiringpi geholt und kompiliert:

```
# Ins Verzeichnis /home/BenutzerIn wechseln
git clone https://github.com/wiringpi/wiringpi
cd wiringPi
./build
```

Das ist bei mir vollkommen fehlerlos durchgelaufen – also keine Angst vor dem Kompilieren!

e. Danach benötigen wir das Programm für die Fernbedienung:

```
git clone https://github.com/xkonni/raspberry-remote.git
cd raspberry-remote
make send
```

f. Wenn alles funktioniert hat, kann das Verzeichnis `~/raspberry-remote` z. B. als `remote` in das Verzeichnis `/opt` kopiert und von da aus alles weitere gemacht werden.

g. Für die einfache Steuerung der Tasmota-Geräte benutze ich tasmo-shell, ein sehr praktisches Script. Ihr findet es unter https://github.com/mdscunningham/tasmo-shell/tree/main.



Jetzt haben wir also eine hoffentlich funktionierende Schaltzentrale. Zum Schalten brauchen wir jetzt nur noch eine kleine Webseite, die auf dem Pi Zero W residiert und über cgi-bin-Scripts die Schaltvorgänge auslöst und über 433 MHz oder Wi-Fi an die jeweiligen Schalter weitergibt. In meinem Beispiel habe ich mich auf Lichtsteuerung und an/aus einiger kleiner Geräte beschränkt. Wer will, kann das Ganze natürlich auf Heizungen, Rollläden und so weiter ausbauen. Ein kleines Gimmick im Garten ist eine von Öl auf LED umgerüstete Bahnwärterlampe, die mithilfe eines Scripts, das den Sonnenuntergang ermittelt, an- und zu einer festen Uhrzeit in `/etc/crontab` oder manuell wieder abgeschaltet wird. Den Kern des Scripts habe ich im Netz gefunden und es für meine Bedürfnisse angepasst – die Quellenangabe steht aber oben im modifizierten Script. Der Webserver läuft bei mir unverschlüsselt über das HTTP-Protokoll, weil ich ihn nicht von außen bedienen möchte – auch das kann natürlich geändert werden.

Die Webseite, alle CGI-Scripts, Konfigurationsdateien und diesen Text findet ihr:

– Text (nur eben schnell als HTML aus LibreOffice exportiert): https://l4a.org/433MHz/
– Scripts und Webserverkonfiguration: https://l4a.org/433MHz/scripts.webserver.tar.bz2

Quellen:

Die Quellenangaben finden sich im Text an Ort und Stelle.

Tags

Wettbewerb-Frühling-2026, 433MHz, Tasmota, Lichsteuerung

The_Raven
Geschrieben von The_Raven am 22. Mai 2026 um 10:53

Ein cooles Projekt. Und das Bild mit dem "Gebastel" sieht fast genau so aus wie das was ich jeweils baue. 😂 Ich habe ebenfalls schon einige solcher Projekte gebaut. Ich nehme ebenfalls einen Pi ZeroW oder neu den Zero2W. Halt einfach weil es einfacher ist und er mehr Möglichkeiten bietet als ein ESP oder ein Arduino. Allerdings installiere ich jeweils DietPi. Einfach weil es so schlank ist und man es mit seinen "Tools" simpel konfigurieren kann. Für die grafische Steuerung verwende ich "OliveTin". Es bringt einen eigenen WebServer mit und viele Konfigurationsmöglichkeiten. So kann man mit einem einfachen Knopf via WebUI Shell-Befehle ausführen. Die möglichen Anwendungsszenarien werden dadurch fast unendlich. Von neu starten irgend welcher Container bis hi zu Harware-Ansteuerung z.B. mit eine Relais ist fast alles möglich.

Peter Handrich
Geschrieben von Peter Handrich am 8. Juni 2026 um 07:12

Danke für den Hinweis. "OliveTin" kannte ich noch gar nicht ...