Raspberry Pi: Funsteckdosen steuern via Web, App und Siri

30.07.2016


Raspberry Pi: Funsteckdosen steuern via Web, App und Siri
Mal wieder was zum Thema Smarthome mit dem Raspberry Pi. Ich habe schon vor 2 Jahren, eigentlich als eines meiner ersten Projekte, mit dem Raspberry Pi und drei 433 Mhz Funksteckdosen angefangen Lampen und ähnliches zu steuern. Bisher sind es auch tatsächlich nur Steckdosen, aber im Prinzip kann man auch noch mehr damit machen. Ich bin damals über "Pilight" gestolpert und habe mich da etwas eingelesen. Angefangen habe ich mit Version 4 und 5. Inzwischen gibt es Version 7. Damals lief das noch alles mit Raspbian Wheezy und ich habe mir jetzt mal die Zeit genommen das ganze mit Raspbian Jessie neu anzugehen. Dabei bin ich noch über ein nettes Addon für Pilight gestolpert, nämlich die Pilight-Homebridge die es mir erlaubt das ganze auch mit Siri zu steuern. Ob das auch mit Cortana oder Google Now und Co geht habe ich nicht getestet, aber warum nicht? Wie man liest stolpere ich ziemlich viel ;-)
Nun zeige ich euch wie ich Pilight inkl. der Homebridge installierte und Konfiguriert und welche Hardware ich verwendet habe.

Hardware

- Raspberry Pi (egal welcher) inkl. NT, SD etc.
- 433 Mhz Sender & Receiver
- mumbi Funksteckdosen
- Intertechno ITL-230
- Elro AB440L

433 Mhz Sender & Receiver

Der Sender wird zum übertragen des 433 Mhz Signals verwendet und schaltet so die einzelnen Endgeräte. Der Receiver fängt 433 Mhz Signale auf und kann z.B. verwendet werden um zu sehen mit welchen Codes und Protokollen Geräte geschaltet werden können.

mumbi Funksteckdosen

Die Steckdosen sind ursprünglich mit DIP Schaltern ausgestattet gewesen, womit sich Systemcode und Unitcode einstellen ließen. Die neueren Steckdosen sind inzwischen meistens selbstlernend. Es gibt ähnliche Modelle von Elro, KaKu etc. die ebenfalls funktionieren sollten.

Intertechno ITL-230

Dieses kleine Schmuckstück kann hinter Handelsüblichen Lichtschaltern in dem Gerätebecher in der Wand verbaut werden. Damit können Lichtschalter via 433 Mhz Signal geschaltet werden ohne das die Funktion des Lichtschalters verloren geht. Der ITL-230 ist selbstlernend und lauscht auf das "intertechno_switch" Protokoll von piLight.

Elro AB440L

Die AB440L Lampenfassung macht prinzipiell das gleiche was der Intertechno ITL-230 macht, nur dass das Umrüsten an der Lampenfassung gemacht wird und durch einfaches reindrehen wie eine Glühbirne erfolgt. Einziger Nachteil ist, das es mehr Platz verbraucht. Bei manchen Lampen könnte das zudem nicht gut aussehen oder schlichtweg einfach nicht passen. Da ich mir so einen gerade erst bestellt habe, weiß ich noch nicht wie der in piLight eingebunden wird.

Software

- Raspbian Jessie Lite
- Pilight
- Pilight-Homebridge
- NodeJS v4
- HomeKit (Apple App ab iOS 10.x)

Installation

Raspbian Jessie Lite

Zunächst packen wir das aktuellste Raspbian Jessie auf die SD-Karte. Da wir keine GUI benötigte reicht Jessie Lite völlig aus. Passt zudem auch auf 4 GB SD-Karten.
Nach dem ersten Boot vergrößert Raspbian erst mal das Dateisystem. Anschließend konfigurieren wir Raspbian mit "raspi-config" und stellen Sprache etc. ein. Außerdem benötigen wir SPI, das man unter "Advanced" aktivieren kann.
Dann bringen wir das System erst mal auf den neuesten Stand.
sudo apt-get update

sudo apt-get upgrade
Dann sind wir mit dem System erst mal durch.

Pilight

Um Pilight zu installieren müssen wir das entsprechende Repository hinzufügen.
sudo nano /etc/apt/source.list.d/pilight.list
Dort fügen wir folgende Zeile ein und speichern die Datei.
deb http://apt.pilight.org/ stable main
Nun müssen wir noch den GPG-Key herunterladen und hinzufügen, damit wir aus dem Repository auch Software laden und installieren können.
wget -O - http://apt.pilight.org/pilight.key | sudo apt-key add -
Nun einmal die Softwarelisten aktualisieren und dann Pilight installieren.
sudo apt-get update

sudo apt-get install pilight
Nun ist Pilight installiert und man kann eine Konfigurations-Datei erstellen. Die Datei liegt unter /etc/pilight/config.json
Beispiel meiner Konfiguration:
{

"devices": {
"stecker1": {
"protocol": [ "pollin" ],
"id": [{
"systemcode": 27,
"unitcode": 1
}],
"state": "off"
},
"stecker2": {
"protocol": [ "pollin" ],
"id": [{
"systemcode": 27,
"unitcode": 2
}],
"state": "off"
}
},
"rules": {
},
"gui": {
"stecker1": {
"name": "Stehlampe",
"group": [ "Living" ],
"media": [ "all" ]
},
"stecker2": {
"name": "Pool Pumpe",
"group": [ "Living" ],
"media": [ "all" ]
}
},
"settings": {
"log-level": 6,
"pid-file": "/var/run/pilight.pid",
"log-file": "/var/log/pilight.log",
"webserver-enable": 1,
"webserver-root": "/usr/local/share/pilight/",
"webserver-http-port": 5001,
"webserver-cache": 1,
"whitelist": "*.*.*.*"
},
"hardware": {
"433gpio": {
"sender": 0,
"receiver": 1
}
},
"registry": {
"pilight": {
"firmware": {
"version": 45028,
"lpf": 328020,
"hpf": 644590
},
"version": {
"current": "7.0"
}
}
}
}

Der Code für die Steckdosen ist Binär.
1=1
2=2
3=4
4=8
5=16
Alle Schalter unten auf 0 (aus) wäre in Summe auch 0 und alle Schalter oben auf 1 (an) wäre in Summe dann 31. Das heißt im folgenden Beispiel sind die 1, 3, 4, 5 oben im Status 1 (an). Da die 2 nicht an ist kommt in der Summe der anderen dann 29 als Systemcode raus. Die Schalter A-E sind ganz normal 1-5. Im Beispiel ist es die 3, weil C oben ist und der Rest unten.


Hat man die Konfiguration erstellt, kann man Pilight starten.
sudo service pilight start
Ist die Konfig in Ordnung, kommt keine Meldung und Pilight ist via Webbrowser auf dem Pi auf Port 5001 erreichbar (sofern nicht geändert). Ansonsten die Konfig noch mal prüfen ob man nicht irgendwo ein Komma zu viel oder zu wenig hat!

Pilight Homebridge

Nun folgt die Homebridge. Dafür benötigen wir zunächst mal NodeJS.
wget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-armv6l.tar.gz 

tar -xvf node-v4.2.4-linux-armv6l.tar.gz
cd node-v4.2.4-linux-armv6l
sudo cp -R * /usr/local/
Und dann benötigen wir noch ein paar Pakete.
sudo apt-get install gcc-4.9 g++-4.9 git libavahi-compat-libdnssd-dev
Als nächstes dann die Homebridge
sudo npm install -g homebridge --unsafe-perm
Und dann noch das Pilight Addon für die Homebridge.
sudo npm install -g homebridge-pilight
Wenn am Ende alles geklappt hat, kann man die Homebridge mal starten.
homebridge
Wenn man mit Strg + C den Prozess wieder beendet sollte unter /home/pi ein versteckter Ordner .homebridge vorhanden sein. In diesem Ordner muss eine Konfigurationsdatei angelegt werden.
sudo nano /home/pi/.homebridge/config.json
Beispiel der Config.json
{

"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "123-45-678"
},
"description": "This is an example configuration file with pilight plugin.",
"accessories": [
{
"accessory": "pilight",
"name": "Stehlampe",
"device": "stecker1",
"sharedWS": false,
"type": "Switch"
},
{
"accessory": "pilight",
"name": "Poolpumpe",
"device": "stecker2",
"sharedWS": false,
"type": "Switch"
}
],
"platforms": [
]
}
Den Namen und die PIN kann man anpassen. Unter "Accessories" werden die Pilight Geräte eingetragen, die man via Siri steuern möchte. "name" ist das worauf Siri reagiert. Damit muss man etwas rumspielen was am besten von Siri erkannt wird. Bei "device" kommt der Name des Device aus der Pilight Konfiguration hin (bei mir dann z.B. stecker1 bis stecker6) und bei "type" der Gerätetyp.

Pilight und Siri


Fortsetzung folgt...

Kommentare






Werbung wird ohne Vorwarnung gelöscht!

#1 - Stefan  E-Mail - 31.07.2017, 15:30 Uhr
Hallo Christian,

und DANKE für das schöne Tutorial.
Vielleicht wäre es noch ganz sinnvoll, dass man darauf hinweist, dass mit dem Kernel 4.9 Pilight NICHT nutzbar ist!
Du musst unbedingt auf den Kernel 4.4 zurück! Dann geht alles wie gehabt.
Hat mir jede Menge Sucherei bereitet, da man ja nicht wirklich irgendwo expliziet darauf hingewiesen wird.
Mit folgendem Befehl bekommt man den älteren Kernel wieder:

sudo rpi-update 52241088c1da59a359110d39c1875cda56496764
#2 - Christian - 30.07.2017, 16:54 Uhr
Hi,

prüfe mal die LOG Dateien von pilight. Liegen unter /var/logs. Dort steht für gewöhnlich wo das Problem liegt. Ich tippe auf ein Fehler in den Config Dateien.
#3 - Christian  E-Mail - 30.07.2017, 03:32 Uhr
Hi Christian,

vielen Dank für die tolle Anleitung. Ich habe sie vor einigen
Monaten eingerichtet, allerdings ist mein System immer
des Öfteren abgestürzt und ich musste es neu aufsetzen.

Leider funktioniert nun gar nichts mehr. Woran liegt das nur?

Ich bekomme einfach keine Verbindung zum Web-Interface
bei Pilight und die Homebridge startet auch nicht.

Hat sich irgendwas geändert. Könntest du deine Anleitung anpassen. Ich bin leider nicht sehr firm aber arbeite mich ein, zumindest versuche ich es. Ich wäre sehr dankbar, wenn du mir irgendwie helfen könntest.

Beste Grüße

Christian
#4 - Hannah  E-Mail  Webseite - 16.06.2017, 15:01 Uhr
Besten Dank für den interessanten Artikel. Das Thema Smart Home finde ich wirklich sehr spannend. Beeindruckend was da mit dem Rasperry Pi alles möglich ist.
Beste Grüße,
Hannah
#5 - Benjamin Bolik  E-Mail - 12.11.2016, 12:12 Uhr
Hallo.. Ich habe per Zufall deinen blog im internet gefunden. ich bin ein Neuling was das Thema raspberry angeht. ich habe es immerhin nach vielen Fehlversuchen hinbekommen eine lauffähige homebridge zu erstellen und meine Harmony hub Aktivitäten nun mit siri zu steuern. mich fasziniert die Idee 433 MHz Steckdosen auch über siri zu steuern. nur traue ich mich da nicht so wirklich ran. habe schon viele plugins versucht (npm Seite ) die sog rc-switch plugins schlagen bei mir aber alle fehl. und ich habe es auch schon geschafft mir 3-4 mal mein system zu schrotten und musste alles neu aufsetzen. deine Anleitung mit pilight sieht sehr vielversprechend aus. nur wie gesagt traue ich mich nicht so recht in mein laufendes system wieder einzugreifen, aus angst das es danach wieder nicht geht… kann ich deine schritt für schritt Anweisung so 1-1 umsetzen um bei mir zu hause insgesamt 4 Steckdosen 433.92mhz von elro zu steuern? erste versuche habe ich bereits unternommen, wiring pi und remote pi, damit kann ich über meinen gekauften Sender schon mittels befehlen unitcode und steckdosencode die Steckdosen ansteuern, was mich dazu bewegt hat zu denken das ich nicht ganz so blöd sein kann… ich würde mich riesig über eine Antwort von dir freuen und hoffe du liesst das hier.. Viele grüsse Ben

zurück
© 2016 Christian Brauweiler