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
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 wlan0iface wlan0 inet dhcpwpa-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 localesdpkg-reconfigure tzdatadpkg-reconfigure keyboard-configurationdpkg-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 wechselngit clone https://github.com/wiringpi/wiringpicd 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.gitcd raspberry-remotemake 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.

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.
Danke für den Hinweis. "OliveTin" kannte ich noch gar nicht ...