Liebe Leserinnen und Leser – heute möchte ich euch mal beschreiben, wie ihr mithilfe des Raspberry Pi Funk-Steckdosen schalten könnt. Es gibt sicher einen Haufen praktischer Einsatzmöglichkeiten für diese Anwendung des Raspberry, ich selbst schalte damit meinen Drucker, der sich im Keller befindet ein und aus, da er auch im Standby einiges an Strom zieht und ich ungern für jeden Druck erstmal in den Keller laufen möchte, um ihn einzuschalten und dann wieder auszuschalten.
Aber jetzt zum Projekt selbst: Alles was ihr brauch sind folgende Dinge:
- einen Raspberry Pi
- einen 433MHz Sender (für 1,90 bei dx.com)
- ein paar Jumper-Kabel (gut 3€ bei dx.com) und bei Bedarf noch ein Breadboard (ca. 2,50 € bei dx.com)
- Funksteckdosen vom Typ Elro AB440S (die habe ich zumindest selbst getestet und im Einsatz)
Das ist hardwaretechnisch schon alles, was ihr dafür braucht, also relativ günstig zu bekommen. Der Aufbau der Hardware ist auch relativ simpel. Die folgende Skizze soll den Aufbau verdeutlichen:
Allgemein sieht die Verkabelung folgendermaßen aus:
Sender Raspberry Pi
ANT*
GND GND
DATA #17
VCC 5V
Der (zusätzliche) Antennen-Anschluss (ANT) ist das kleine Loch unten links auf dem Bild. Der Anschluss einer externen Antenne ist optional, da bereits eine auf dem Sender integriert ist (die Spule). Solltet ihr einen anderen Sender mit 433MHz verwenden, der keine integrierte Antenne besitzt (oder euch die Reichweite mit der internen Antenne nicht ausreichen), müsst ihr dort noch einen Jumper (oder ein leitendes Stück Draht) daran befestigen, das als Antenne fungiert. Damit lassen sich auch weiter entfernte Steckdosen steuern.
Das war es auch schon, was hardwaretechnisch zu tun ist, also alles relativ simpel, ohne Löten möglich und auch für handwerklich nicht so begabte Leute sollte das alles machbar sein.
Kommen wir nun zur Software. Hierzu müsst ihr erstmal euren Raspberry Pi starten, an dem alles wie oben beschrieben montiert wurde. Anschließen solltet ihr erst mal
sudo apt-get update
ausführen. Dadurch werden eure Paketquellen aktualisiert. Dann muss git-core installiert werden (falls nicht sowieso schon geschehen):
sudo apt-get install git-core
Um die Ansteuerung des Transmitters zu realisieren gibt es ein Projekt namens WiringPi. Dieses installiert ihr euch auf eurem Raspberry Pi wie folgt:
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
Auch für unseren Zweck, die Steckdosen zu steuern gibt es bereits ein Projekt. Dieses stammt von xkonni und nennt sich Raspberry-Remote. Ihr installiert es euch so:
cd ~
git clone git://github.com/xkonni/raspberry-remote.git
cd raspberry-remote
Damit es läuft, müsst ihr euch noch die send.cpp kompilieren, also folgendes eintippen:
make send
Das war es auch schon mit der Basis! Jetzt könnt ihr schon über das Terminal Befehle an eure Steckdosen schicken, um sie aus- und anzuschalten. Aber zuerst solltet ihr noch den Hauscode bei euren Dosen ändern, nicht, dass euer Nachbar zufällig auch diese Steckdosen hat und ihr euch diese gegenseitig an- und ausschaltet. Dazu öffnet ihr einfach mit einem Kreuz-Schraubendreher die Dosen hinten und legt die Dip-Schalter mit einem Code eurer Wahl um. Also z.B. hoch, hoch, unten, hoch, unten. Diese Kombination solltet ihr bei allen Steckdosen eingeben und dann auch bei dem Handsender. Mit diesem könnt ihr dann auch überprüfen, ob alles soweit schon funktioniert.
Falls dies der Fall ist, seid ihr kurz davor, eure Steckdosen erstmals über den Raspberry zu steuern. Über die gerade vorhin kompilierte send.cpp ist das möglich. Dazu gebt ihr einen Befehl nach dem Schema „sudo ./send <Hauscode> <Steckdosennummer> <Zustand 1 AN, 0 AUS>“ ins Terminal ein, also für den oben genannten Code für die Steckdose B (=2) zum Einschalten:
sudo ./send 11010 2 1
Jetzt sollte die Steckdose B angeschaltet werden. Falls dies der Fall ist: Herzlichen Glückwunsch!
Webinterface
Natürlich ist es etwas umständlich und unkomfortabel, das Ganze immer über das Terminal/eine SSH-Verbindung machen zu müssen. Aber kein Problem! Raspberry-Remote liefert auch gleich ein passendes Webinterface mit. Damit ihr das nutzen könnt, solltet ihr erst mal Apache und PHP installieren auf eurem Raspberry:
sudo apt-get install apache2
sudo apt-get install php5
Jetzt gehts zum Webinterface, was xkonni direkt mitliefert. Dazu habe ich im Ordner /var/www/html einen Unterordner remote erstellt. Anschließend den Inhalt von ~/raspberry-remote/webinterface dorthin verschoben: mv ~/raspberry-remote/webinterface/* /var/www/html/remote . Jetzt muss noch in der config.php Datei die IP Adresse des Raspberry Pis angepasst werden: dazu einfach nano verwenden.
[Update 2.11.2015] Hinweis: Die aktuell auf GitHub erhältliche Version des Webinterfaces von raspberry-remote machte bei mir Probleme, sodass ich auf diese ältere Version zurückgriff. Solltet bei euch die neue Version auch nicht funktionieren, könnt ihr die oben verlinkte, etwas ältere Version versuchen. Läuft die aktuelle Version bei euch, könnt ihr diese natürlich auch verwenden.
Nun fehlt noch der Daemon, auf den das PHP-Script des Webinterfaces zugreift. Dazu gehen wir in das Raspberry-Remote Verzeichnis zurück: cd ~/raspberry-remote und kompilieren den daemon: make daemon
Nun können wir diesen Starten: sudo ./daemon & (Das & bewirkt, dass der Prozess im Hintergrund läuft.
Jetzt können wir unser Glück mit dem Webinterface probieren: Dazu rufen wir von einem anderen Rechner/Handy das Webinterface per http://192.168.11.44/remote/ (Eure IP einsetzen) auf. Wenn das geht und dort die verschiedenen Steckdosen sichtbar sind, dann muss man jetzt nur noch in der config.php die Steckdosen mit Namen versehen und evtl. die Codes, etc. anpassen. Die Konfiguration sollte selbsterklärend sein.
Falls ihr eine Fehlermeldung wie „Switch out of range: GET /:XY“ bekommt, keine Sorge! In der daemon.cpp sind standardmäßig nur die Hauscodes 00000 & 00001 & 00010 abgedeckt. Das lässt sich aber einfach ändern. Geht dazu wieder ins Verzeichnis von Raspberry Remote (bei mir /home/pi/raspberry-remote/, also via cd /home/pi/raspberry-remote/) und öffnet die daemon.cpp mit nano. Darin befindet sich der Eintrag „nPlugs=10;“, welche ihr einfach durch „nPlugs= 1110;“. Anschließend über sudo make daemon neu kompilieren und über sudo ./daemon & wieder starten. Jetzt sollte auch bei euch das Webinterface funktionieren.
Automatischer Start des Daemon und Neustart bei Absturz
Um den Daemon automatisch bei Systemstart zu starten und um ihn bei einem möglichen Absturz neu zu starten, habe ich ein kleines Script geschrieben:
1 2 3 4 5 6 7 | #!/bin/bash # Check if daemon_remote running if ! ps aux | pgrep "daemon_remote" > /dev/null; then cd /home/pi/raspberry-remote/ ./daemon_remote & exit 0 fi |
Zur Verwendung: Zuerst sollte der daemon umbenannt werden in daemon_remote. Dazu die Datei „daemon“ (in /home/pi/raspberry-remote/) nach dem Kompilieren und vor dem Starten umbenennen: sudo mv daemon daemon_remote. Anschließend das obige Skript unter der Datei „daemon_restart.sh“ z.B. unter /home/pi/ abspeichern und über sudo chmod +x daemon_restart.sh ausführbar machen. Um es automatisiert zu starten legt ihr noch 2 Einträge in der root-crontab an via sudo crontab -e Dort diese Zeilen einfügen (einfach untern anhängen, je eine eigene Zeile):
1 2 | @reboot cd /home/pi/ && ./daemon_restart.sh */15 * * * * cd /home/pi/ && ./daemon_restart.sh |
Anschließend speichern und den Pi neu starten. Der Daemon sollte nun automatisch gestartet werden und zudem wird alle 15 Minuten überprüft, ob er noch läuft. Wenn nicht, wird er neu gestartet.
Für Raspbmc-Nutzer: Standardmäßig ist cron hier nicht aktiviert. Ihr müsst es in den Raspbmc-Einstellungen aktivieren, um es nutzen zu können! (Danke Christian!)
Alternative Webinterfaces
Interface von Dan
Dan hat in den Kommentaren (siehe hier) ein Paket bereitgestellt, das ein schöneres Design für das Webinterface bietet – danke dafür! Sicherheitshalber habe ich es auch auf den Blog-Webspace hochgeladen. Es sieht so aus:
Im Paket fehlen aus Lizenzgründen die Switch-Button-Bilder, welche ihr noch nachträglich ergänzen müsst. Da hier Sprites verwendet werden, lässt sich das Interface auch schnell den eigenen Design-Vorstellungen anpassen. Hier meine aktuelle Ansicht, die ich damit realisiert habe:
Zur Nutzung zitiere ich hier mal Dans Kommentar:
Am besten sicherheitshalber die index.php und das CSS backuppen und erst dann alle Dateien aus dem ZIP drüberbügeln.
Die Dateien “ie.css” und “logo_sd.png” sind für Windows Phone 7-Geräte, die aufgrund des alten Internet Explorers nicht mit Retina-Grafiken umgehen können.
Der on/off-Schalter befindet sich in einem Sprite mit den Maßen 106x174px. Die obere Hälfte des Sprites ist der “on”-Zustand, die untere “off”. Das müsstet ihr leider selbst basteln. Auch hier gibt es für WP7 eine Non-Retina-Version “on_off_sd.png” mit der halben Auflösung. Wer nur Android und/oder iOS benutzt, kann sich das sparen.
Interface von Matteo
Matteo hat in den Kommentaren eine Version des Webinterfaces gepostet, das sowohl vom Design angepasst wurde, als auch technisch um eine Login-Funktion erweitert wurde. Ihr könnt es via Github mit oder ohne Passwort-Funktion beziehen. Hier 2 Screenshots davon (der erste Zeigt die Desktop-Ansicht des Webinterfaces und die zweite die mobile Ansicht [sprich Smartphone]):

Interface für eBook-Reader
Um auch von Schwarz-Weiß-eBook-Readern die Steckdosen bequem steuern zu können habe ich ein kontrastreiches Interface für diese Geräteklasse erstellt. Dieses habe ich bisher auf dem Kobo Glo sowie einem Kindle 5 erfolgreich getestet. Ob es auch auf den Browsern von anderen Lesegeräten und Herstellern korrekt angezeigt wird, weiß ich allerdings nicht, die Browser sind meist auch nur als Beta-Feature in den eBook-Lesegeräten aufgeführt. Die .css-Datei hier habe ich möglichst simpel gehalten und auch die Schrift sollte auf den meisten Lesegeräten funktionieren. Ihr könnt es hier herunterladen. Für die Installation macht ihr am Besten einen eigenen Ordner auf eurem Webserver, z.B. über mkdir /var/www/html/remotebook und kopiert die Heruntergeladenen Dateien dort hinein. Um auf dem Lesegerät schnell darauf zugreifen zu können, empfiehlt es sich (wenn möglich), ein Lesezeichen zur entsprechenden Adresse zu setzen.
Siri-Proxy
Achtung! iOS 7 und neuer funktionieren mit SiriProxy nicht! Siri-Proxy sollte allerdings weiter mit Geräten mit iOS 6 und älter funktionieren, sodass ich diesen Teil noch im Tutorial behalte.
[Update 27.08.2015] Ich habe gerade einen Artikel zur Steuerung über Apples HomeKit verfasst. Das funktioniert auch mit den Funksteckdosen.
Wer seine Steckdosen mit iOS 7 aufwärts per Sprachsteuerung schalten möchte, kann das nach dieser Anleitung machen, in der beschrieben wird, wie ihr Sprachsteuerung und Widget für iOS einrichtet.
Wem selbst das Webinterface noch zu kompliziert ist (oder wer lieber redet statt zu tippen und zu klicken), der kann die Steuerung auch in Siri integrieren. Das funktioniert auch ohne Jailbreak und ist eine tolle Sache – leider auch etwas komplizierter. Zum Glück gibt es aber auch dafür schon Anleitungen und fertige Projekte im Netz, sodass sich der Aufwand in Grenzen hält. Realisieren lässt sich das Vorhaben durch siriproxy, den ihr auf dem Raspberry installieren könnt. Dazu müssen erst mal ein paar neue Pakete installiert werden:
1 | sudo apt-get install openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libc6-dev ncurses-dev subversion libxslt1.1 libxslt-dev xvfb build-essential autoconf libgdbm-dev libncurses5-dev automake libtool bison libffi-dev |
Anschließend führt ihr Folgendes aus:
sudo curl -L https://get.rvm.io | bash -s stable --ruby
Das kann einige Zeit dauern. Lasst den Befehl einfach laufen und gönnt euch eine Tasse Kaffee oder Tee. Wenn der Befehl durchgelaufen ist, tippt folgendes ein:
1 | echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc |
Anschließend:
echo 'export PATH=$HOME/.rvm/bin:$PATH' >> ~/.bashrc
dann:
. ~/.bashrc
dann:
rvm install 2.0.0
dann:
rvm use 2.0.0 --default
dann:
gem install siriproxy
dann:
mkdir ~/.siriproxy
Anschließend sollte siriproxy an sich schon installiert sein auf eurem Raspberry Pi. Damit ihr den Dienst auch auf eurem iOS-Gerät nutzen könnt, müsst ihr euch noch ein Zertifikat generieren lassen:
siriproxy gencerts
Dieses liegt nun im oben generierten Ordner .siriproxy. Ihr lönnt es nun z.B. auf einen USB-Stick kopieren oder es euch direkt vom Raspberry per Mail schicken. Die benötigte Datei heißt „ca.pem“. Am einfachsten ist es wie gesagt sie euch einfach selbst per Mail zu schicken und die Mail dann auf eurem iOS gerät öffnen. Tippt auf eurem iOS-Gerät auf das Zertifikat und installiert es. Jetzt müsst ihr nur noch am iPad bei den WLAN-Einstellungen den DNS-Server ändern. Das geht selbsterklärend. Fügt vor eurem aktuellen (primären) DNS-Server einfach die IP-Adresse eures Raspberry Pi ein. Jetzt noch schnell den Flugmodus an- und ausschalten (damit die neuen WLAN-Einstellungen auch übernommen werden).
Jetzt ist es an der Zeit, siriproxy auf dem Raspberry zu starten:
siriproxy bundle
rvmsudo siriproxy server -d IP_ADRESSE_VOM_RASPBERRY
Wenn alles glatt gelaufen ist, solltet ihr die Meldung „SiriProxy up and running“ erhalten. Wenn das der Fall ist, startet Siri auf eurem iOS-Device und sagt „Test Siri Proxy“. Wenn Siri nun „SiriProxy is up and running“ antwortet, habt ihr alles richtig gemacht! Glückwunsch!
Nun könnt ihr euch daran machen, die Steuerung der Steckdosen in SiriProxy zu integrieren. Leider haben die Tutorials, die ich im Netz dazu gefunden habe bei mir nicht so funktioniert, wie erwünscht. Letztendlich habe ich aber trotzdem eine relativ simple Methode gefunden, eigene Befehle in SiriProxy zu integrieren. Dazu wechselt ihr erstmal das Verzeichnis:
1 2 3 4 | cd /home/pi/.rvm/gems/ruby-2.0.0-p247/gems/siriproxy-0.5.4 cd plugins cd siriproxy-example cd lib |
Darin befindet sich eine Datei namens „siriproxy-example.rb“. Diese nun mit sudo nano öffnen. Fügt darin folgende Zeilen ein:
1 2 3 4 5 6 7 8 9 10 11 | listen_for /drucker einschalten/i do say "Okay, Drucker wird eingeschaltet!" request_completed system("sudo /home/pi/raspberry-remote/./send 11010 1 1") end listen_for /drucker ausschalten/i do say "Okay, Drucker wird ausgeschaltet!" request_completed system("sudo /home/pi/raspberry-remote/./send 11010 1 0") end |
Die Codes solltet ihr noch anpassen, falls ihr andere gewählt habt. Auch die Befehle und Antworten könnt ihr nach Belieben anpassen. Achtet nur darauf, dass bei dem listen-Befehl nur Kleinbuchstaben verwendet werden dürfen. Dann die Datei wieder speichern. Anschließend müsst ihr siriproxy neu starten:
siriproxy bundle
rvmsudo siriproxy server -d IP_ADRESSE_VOM_RASPBERRY
Testet nun an eurem iOS-Gerät, ob alles so funktioniert, wie ihr es wolltet. Falls ja, müsst ihr nur noch siriproxy laufen lassen auf eurem Raspberry. Leider ist das gar nicht so einfach, da siriproxy beendet wird, wenn ihr die ssh-Verbindung zum Raspberry schließt. Nach langem Ausprobieren und vielen frustrierenden – weil nicht funktionierenden – Versuchen, habe ich eine einfach Möglichkeit gefunden, siriproxy weiter laufen zu lassen. Das Ganze habe ich über tmux realisiert. Dazu erst einma tmux installieren:
sudo apt-get install tmux
Anschließend tmux starten. Dann gebt ihr wieder
rvmsudo siriproxy server -d IP_ADRESSE_VOM_RASPBERRY
ein. Jetzt sollte siriproxy gestartet sein. Dann könnt ihr die SSH-Sitzung schließen. Nun wieder eine SSH-Verbindung aufbauen und „tmux attach“ eingeben. Ab jetzt solltet ihr die SSH-Sitzung wieder schließen können und siriproxy sollte auch weiterhin laufen.
Das wars auch schon! Von nun an könnt ihr dank des Raspberry Pi eure Geräte einfach via Terminal, Webinterface oder Siri ein- und ausschalten.
Ich hoffe, ich konnte euch alle Schritte gut erklären und wünsche gutes Gelingen! Falls ihr noch Fragen oder Anregungen habt, immer her damit! Auch wenn ihr Fehler findet, könnt ihr diese im Kommentarfeld posten.
Hey, leider erscheint bei mir im Browser „Could not connect to socket“
Die Steckdosen lassen sich mit dem Befehl „make ./send“ ohne Probleme steuern.
Im Fehlercode von apache2 steht:
[Tue Oct 18 14:37:28.680753 2016] [:error] [pid 672] [client 192.168.2.155:64939] PHP Warning: socket_connect(): unable to connect [110]: Connection timed out in /$
$t in /var/www/html/remote/index.php on line 101
Hat jemand eine Idee?
Hast du etwas heraus gefunden?
ja, es war Doofheit von mir, ich habe mich bei der Eingabe der IP Adresse in der config.php vertippt
Hallo,
mit dem Tutorial habe ich meinen Raspi erfolgreich eingerichtet und kann die Steckdosen schalten. Eine Sache funktioniert aber nicht richtig, wenn ich die Steckdosen über das Terminal schalte, dann stimmt die Anzeige auf dem Webinterface nicht mehr. Wo werden denn da die Daten („an“ oder „aus“) abgerufen?
Hi,
die aktuellen Schaltzustände werden im Socket-Server-Programm gespeichert.
Hallo,
erstmal danke für die Ausführliche Anleitung. Ich hatte früher meinen Pi zum laufen gebracht, habe mir durch ein Upgrade des OS aber alles zerschossen und neu loslegen wollen.
Wie kann ich denn die alte Version von Raspberry remote installieren? Mit der neuen hatte ich auch Probleme. Ich habe bereits versucht den Downloadordner unter ~/raspberry-remote zu kopieren udn dann der Anleitung weiter zu folgen.
Über SSH kann ich alle Steckdosen steuern. Sobald ich aber das Webinterface öffne (Wohlgemerkt werden mir meine in der Config eingestellten Steckdosen angezeigt) und versuche eine Steckdose zu steuern, tut sich nichts. Auch die Farbe nach einem Klick des Buttons ändert sich nicht und beim drüberfahren wird mir im Hyperlink auch nur folgender Link angezeigt: http://192.168.5.11/remote/index.php?group=11101&switch=04&action=&delay=0 -> bei action steht nichts?? Ich habe alles probiert aber es nicht hinbekommen auch nach der 2. komplett neuinstallation.
Kann mir hier evtl jemand weiterhelfen?
Grüße
Michael
Hallo,
toller Beitrag. Ich persönlich habe noch keine Erfahrungen mit Raspberry Funksteckdosen, weil normale Funksteckdosen sind auch schon sehr günstig zu haben.
Ansonsten viele Informationen und wissenswertes drin. Gefällt mir. Weiter so!
Hallo Patric,
habe alles soweit hinbekommen bis zu dem Punkt an dem man den Hauscode in der config.php ändern muss. Entweder gebe ich den Hauscode falsch ein oder der Button schaltet falsch. Also nochmal zum Verständnis: wenn ich auf den Button „Steckdose 1“ schaltet er zwar grün schaltet allerdings nicht die Steckdose. Wenn ich die „/send 11010 1 1“ manuell im terminal eingebe wird ganz normal geschaltet wie müsste nun die Code Zeile in der config.php aussehen, damit ich eine falsch Eingabe ausschließen kann.
Vielen Dank im voraus.
Gruß Marvin
Hallo.
Ich komme mit der installation nicht weiter.
Auf meinem raspberry pi3 sind wiring pi, remote pi korrekt installiert.
manuelles schalten der stecker über befehle klappt als test.
ich habe eine homebridge auf meinem raspi laufen und wollte ursprünglich ein plugin rc-switch nutzen um meine steckdosen über siri anzusprechen. leider kriege ich immer diese meldung:
[2016-11-11 16:27:56] ====================
[2016-11-11 16:27:56] ERROR LOADING PLUGIN homebridge-rcswitch:
[2016-11-11 16:27:56] Error: Could not locate the bindings file. Tried:
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/build/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/build/Debug/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/build/Release/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/out/Debug/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/Debug/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/out/Release/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/Release/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/build/default/rcswitch.node
→ /usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/compiled/4.6.0/linux/arm/rcswitch.node
at bindings (/usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/node_modules/bindings/bindings.js:88:9)
at Object. (/usr/local/lib/node_modules/homebridge-rcswitch/node_modules/rcswitch/index.js:1:97)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/homebridge-rcswitch/index.js:1:78)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Plugin.load (/usr/local/lib/node_modules/homebridge/lib/plugin.js:65:22)
Kannst du dir da einen reim drauf machen und mir evtl helfen?
Der weg den du beschrieben hast, schlägt bei mir ab Punkt 2 fehl.
Vielen dank
Vielleicht hilft folgender Hinweis Nutzern weiter, welche die aktuellere Version von Raspberry-Remote (xkonni) nutzen. Bezieht sich in diesem Post auf den Teil „[Update 2.11.2015] Hinweis:“
Haus-Code für alle Steckdosen: 00001
Lampe01 = A
Lampe02 = B
Lampe03 = C
Meine array in der config.php sieht wie folgt aus:
$config=array(
/*
* Elro
*/
array(„1“, „00001“, „16“, „Lampe01“),
array(„1“, „00001“, „08“, „Lampe02“),
array(„1“, „00001“, „04“, „Lampe03“)
)
Bin durch Zufall nach lesen des Abschnitts „Binary Mode“ auf https://github.com/xkonni/raspberry-remote darauf gekommen. Vermutlich steht meine Steckdose A für den Binärcode 10000 und Dezimal der 16. Keine Ahnung ob es Zufall ist, aber es funktioniert. ;-)
Hallo Alex,
super Sache mit deinen Anleitungen.
Zum totalen glücklich machen fehlt mir nur noch die Möglichkeit, die Dosen auch zeitgesteuert zu schalten, ohne manuell ein shell Skript editieren zu müssen, das via cron aufgerufen wird.
Das einstellen sollte ebenfalls über das Webinterface erfolgen.
Error 404: Not Found
File not found
Das bekomm ich als Meldung wenn ich das Webinterface aufrufen möchte.
Anyone?
Hast du den Ordner Webinterface auch nach /var/www verschoben?
Nutzt du Jessie? Da musst du zusätzlich in Apache noch den Pfad ändern, der ist Standard nämlich auf /var/www/html
Guten Abend,
hat denn jemand es schon geschafft die Geräte von Intertechno mit dem Drehrad zu schalten? Ich habe einen CMR-1000 verbaut. Der schalter steht auf A-1 . In der config.php scheint das dafür vorgesehen zu sein, hab es aber getestet, dort steht
/*
* Intertech
*/
array(„2“, „01“, „01“, „Licht Flur“),
array(„2“, „01“, „02“, „IT 2“),
array(„2“, „01“, „03“, „IT 3“),
array(„2“, „01“, „04“, „IT 4“),
Leider passiert nix, bei einem klick, lädt die seite kurz, schaltet aber nicht ein, auch nicht virtuell, der Rahmen bleibt rot…
Hallo,
leider klappt bei mir das Auto-Start nicht wirklich. Da bleibt immer im Browser „Could not connect to socket“. Erst, wenn ich den daemon_remote wie oben angegeben manuell starte, funktioniert wieder alles.
Ich habe es jetzt 2 mal nach Anleitung gemacht und versucht diesen AutoStart zu integrieren. Ich habe keine Ahnung und bin für Tips dankbar!
Grüße
Mike
Gab es hier schon eine Lösung?
Hallo Alexander :)
Danke für deine tolle Anleitung bei mir funktioniert alles super.
Hab dein angepasstes grünes Webinterface gesehen, könntest du mir deine Dateien zur Verfügung stellen? Gefällt mir nämlich sehr sehr gut :)
Bis dahin klicke ich weiter auf die nicht so schönen roten Kästchen.
Lg
Hallo Florian,
Mail ist raus.
Hallo,
Tolle Anleitung! Super Arbeit! Bei mir hat das Schalten jedoch am Anfang nicht funktioniert, da der Sender anscheinend eine zu geringe Reichweite hatte.
Mit der passenden Antenne (http://www.ebay.de/itm/433-Mhz-Sender-Empfanger-Komplett-Set-Raspberry-Pi-Arduino-Modul-Funkmodul-/252713874872), konnte ich aber die Reichweite verdoppeln. Sowohl beim Senden als auch beim Empfangen.
Mein Tip: Ein Stück Draht als Antenne wird es zwar auch tun, aber hier muss man die genau Länge für das 433 Mhz Band beachten. Wer also nicht unnötig basteln will, der ist mit einer extra Antenne bzw. dem Set bestens bedient.
Viele Grüße + Danke!
Hallo Jan,
eine Antenne macht auf jeden Fall Sinn, Superheterodyne Sender/Empfänger erhöhen die Reichweite nochmals enorm.
Hallo zusammen,
hat jemand einen Tipp für mich, was ich beachten muss wenn ich ein schöneres Webinterface haben möchte?
Und hat jemand noch nen funktionierendes Skinpaket mit einer kurzen Info wie ich es korrekterweise „installiere“? Einfach nur in den Ordner kopieren und die anderen Dateien überschreiben?
Danke euch
Hallo, leider klappt das mit dem automatischen Start des Dämons nicht. immer wenn ich ssh beende, reagieren die dosen nicht mehr. Homebridge aber geht !
Hallo,
Wäre es möglich bevor man die Steckdosen schalten kann ein Anmelde Formular machen kann?
Mfg,
David
Hallo David,
ja klar – entweder direkt ein Webinterface (muss programmiert werden oder das von Matteo verwenden (siehe hier)).
Alternativ einfach das Verzeichnis über htaccess absichern.
Hi,
Wenn ich die config öffne dann muss ich ja bei „define ip address and port here“ die Ip eintragen welche ich bei ifconfig bekomme oder?
Ich habe dies gemacht aber ?ohne port? Und dann zu http://192.168.11.44/remote/ (Eure IP einsetzen) mit der eingetragenen Ip verbunden aber es kam garnichts…
Was habe ich falsch gemacht? Muss ich ein Port angeben und diesen dann freischalten bei der fritzbox?
Hoffe auf Hilfe…
Mfg,
DAvid
Hallo David,
ja, das passt so. Wenn nichts geladen wird, hast du vermutlich den Ordner in das falsche Verzeichnis kopiert (siehe andere Kommentare hier für neuere Apache-Versionen).
Ich habe alles gemacht den Ordner verschoben, und bei Apache den Pfad auf /var/www/html/webinterface geändert und wenn ich versuche zu connecten kommt garnichts und dann „diese website ist nicht verfügbar“
Hey David,
was sagt denn der Error Log von Apache?
[Sat Mar 18 20:54:45.022616 2017] [mpm_event:notice] [pid 3200:tid 1995661312] AH00489: Apache/2.4.10 (Raspbian) configured — resuming normal operations
[Sat Mar 18 20:54:45.023065 2017] [core:notice] [pid 3200:tid 1995661312] AH00094: Command line: ‚/usr/sbin/apache2‘
[Sat Mar 18 20:57:16.266876 2017] [mpm_event:notice] [pid 3200:tid 1995661312] AH00491: caught SIGTERM, shutting down
[Sat Mar 18 20:57:17.502077 2017] [mpm_prefork:notice] [pid 6112] AH00163: Apache/2.4.10 (Raspbian) configured — resuming normal operations
[Sat Mar 18 20:57:17.502389 2017] [core:notice] [pid 6112] AH00094: Command line: ‚/usr/sbin/apache2‘
[Sat Mar 18 20:57:19.562240 2017] [mpm_prefork:notice] [pid 6112] AH00169: caught SIGTERM, shutting down
[Sat Mar 18 20:57:21.006298 2017] [mpm_prefork:notice] [pid 6216] AH00163: Apache/2.4.10 (Raspbian) configured — resuming normal operations
[Sat Mar 18 20:57:21.006474 2017] [core:notice] [pid 6216] AH00094: Command line: ‚/usr/sbin/apache2‘
[Sat Mar 18 21:08:33.851502 2017] [mpm_prefork:notice] [pid 6216] AH00169: caught SIGTERM, shutting down
[Sat Mar 18 21:08:35.281149 2017] [mpm_prefork:notice] [pid 6688] AH00163: Apache/2.4.10 (Raspbian) configured — resuming normal operations
[Sat Mar 18 21:08:35.281360 2017] [core:notice] [pid 6688] AH00094: Command line: ‚/usr/sbin/apache2‘
[Sat Mar 18 22:32:21.177466 2017] [mpm_prefork:notice] [pid 6688] AH00169: caught SIGTERM, shutting down
[Sat Mar 18 22:32:28.673042 2017] [mpm_prefork:notice] [pid 681] AH00163: Apache/2.4.10 (Raspbian) configured — resuming normal operations
[Sat Mar 18 22:32:28.679445 2017] [core:notice] [pid 681] AH00094: Command line: ‚/usr/sbin/apache2‘
Kann mir jemand seine Komplette Config bei remote schicken?
Hallo,
gibt es die Möglichkeit den Zustand abzufragen? So das HomeKit auch den Zustand der Geräte kennt?
Grüße Domi
Hi,
vielen Dank für deinen ganzen Blog.
Ich habe mir im letzen Jahr schon meinen Raspberry als Homebrige eingerichtet was auch tadelos funktioniert mit meinem iPhone. Nun hat meine Freundin ein Android. Gibt es hierfür eine App die mittels Switch die Webinterface URL zum EIN/AUS -schalten öffnen kann?
Gruß
Hallo Kevin,
eine Android-App die ein kleines Interface bietet wäre netIO (auch in diesem Artikel beschrieben). Damit sollte sich das ganze (inkl. aktuellem Status) recht einfach umsetzen lassen.
Hallo,
Sie haben wirklich einen sehr schönen Beitrag verfasst !
Werde ich jedenfalls weiter empfehlen !
Mit freundlichen Grüßen
Steckdosen
Hallo Alexander,
auch ich hab dein angepasstes grünes Webinterface gesehen, könntest du mir deine Dateien zur Verfügung stellen? Gefällt mir nämlich auch sehr sehr gut :)
Danke für das ausführliche Tutorial. Das Anpassen des Interfaces schlägt bei mir leider fehl. Das ursprüngliche Interface läuft. Ersetze ich die Files, starte den Pi neu und Deamon neu, dann lädt die Seite unendlich (aktuell seit 30min).
Der Apache Server wird geladen, wenn ich IP-Pi eingebe.
Wo muss ich ansetzen?
Auch ich würde mich über das von dir angepasste Interface freuen.
Vielen Dank
Hi Florian,
welche Version von raspberry-remote nutzt du denn? Und welches neue Interface?
Raspberry-Remote wurde seit Erstellen des Artikels weiterentwickelt, möglicherweiße kommt es dadurch zu Inkompatiblitäten bei den Nutzeroberflächen zu neueren Versionen.