Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial

4. August 2017
166 Comments

Oftmals möchte man (Haushalts-)Geräte mit höherer Spannung auch mit dem Pi steuern können. Dafür eignen sich Raspberry Pi Funksteckdosen ideal, da sie sehr einfach zu steuern sind und man nicht in den Stromkreis eingreifen muss. Für solch ein und viele weitere Projekte bieten sich Funksteckdosen an, da sie sehr einfach auch über weitere Distanz im Haus mit kleinen Funksendern ferngesteuert werden können.

In diesem Tutorial zeige ich die Inbetriebnahme und Konfiguration von Raspberry Pi Funksteckdosen und wie sie mit dem Pi steuerbar sind.

Zubehör

Bei den Funksteckdosen ist es wichtig, dass man den Code per DIP-Schalter einstellen kann. Es gibt auch Modelle mit generischem Code. Ich habe einmal ein solches Gerät ausprobiert und konnte weder den richtigen Code auslesen, noch ein richtiges Signal senden. Zwar gibt es inzwischen auch Tabellen zu den angegeben Codes, aber wer auf der sicheren Seite sein will, nehme einfach z.B. die oben verlinkten (ohne generische Codes).

 

Aufbau

Der Aufbau unterscheidet sich nicht wirklich, dem hier gezeigten.

Raspberry Pi Funksteckdosen Steckplatine

Raspberry Pi 433Mhz Sender/Empfänger Aufbau

 

Kommen wir zur Einstellung der Steckdosen und Fernbedienung:

In der Fernbedienung kann ein 5-stelliger Code durch Einstellen der DIP-Schalter eingestellt werden. Diesen Code musst du auch in den Steckdosen einstellen (Öffnung auf der Rückseite). Daneben muss noch ein Name (A-E) angegeben werden. In meinem Beispiel habe ich die 00011 also Code genommen und die Steckdose als E gekennzeichnet.

 

Raspberry Pi Funksteckdosen Fernbedienung

Funksteckdosen Fernbedienung

 

Raspberry Pi Funksteckdosen (433MHz)

Raspberry Pi Funksteckdosen (433MHz) Hauscode

Durch die verschiedenen Codes ist es möglich quasi beliebig viele Steckdosen fernzusteuern.

 

Software zum Steuern der 433 Mhz Raspberry Pi Funksteckdosen

Es ist wichtig, dass du wiringPi bereits installiert hast. Falls noch nicht geschehen, steht hier beschrieben, wie es funktioniert.

Nun aktualisieren wir erst einmal alle Pakete und installieren git, falls noch nicht vorhanden:

sudo apt-get install git-core
sudo apt-get update
sudo apt-get upgrade

Wir holen uns nun die 433Mhz Bibliothek von Ninjablocks und kompilieren:

git clone --recursive https://github.com/ninjablocks/433Utils.git
cd 433Utils/RPi_utils
make all

Als erstes muss nun der Code der Fernbedienung ausgelesen werden. Falls du diesen bereits kennst, kannst du den Schritt überspringen. Ansonsten starten wir

sudo ./RFSniffer

und drücken auf der Fernbedienung die entsprechenden Tasten. Der empfangene Code wird nun angezeigt (bei mir ist es 5510417 für on und 5510420 für off). Nach Auslesen des Codes kannst du den 433Mhz Empfänger auch entfernen, falls er dich stört.

Jetzt erstellen wir eine neue C++ Datei mit folgendem Inhalt:

sudo nano steuerung.cpp

Anschließend muss die Datei auch noch kompiliert werden:

g++ -DRPI ../rc-switch/RCSwitch.cpp steuerung.cpp -o steuerung -lwiringPi

Und mittels

sudo ./steuerung 1

kannst du die Steckdose anschalten. Natürlich kann man sich hier noch ganz weitere Dinge überlegen und die Datei z.B. per Python einbinden. Da ist deine Kreativität gefragt 🙂

166 Kommentare

  1. Hi,
    ich habe versucht, das mal nachzumachen. Allerdings:
    ich empfange den code der Fernbedienung, kann ihn auch senden (zumindest sagt der Sniffer, dass der Sender gesendet hat) nur die Steckdose reagiert nicht.
    Habe die Entfernung auf ein paar cm reduziert, nichts.
    Was mache ich falsch?

    Antworten
    • Du benutzt Steckdosen, bei denen du den Code selbst einstellen kannst oder? Hast du den ausgelesenen Code der Fernbedienung oder den eingestellten Code gesendet?

      Antworten
  2. Hi,
    danke schonmal fürs Antworten. 😉
    Ich habe die Fernbedienung ausgelesen (so als Plausibilitätscheck: 5263637=on, 5263636=off).
    Vergessen zu erwähnen: hab es erst mit verschiedenen Drähten, und dann auch mit einer speziellen 433mhz Antenne getestet, und da ich dachte ich wäre einfach zu doof dazu nochmal ein sender/empfänger mit bereits vorhandener Antenne bestellt.
    Keine Änderung =(

    Antworten
    • Solange die Module nicht defekt sind, sollte es auch ohne Antenne funktionieren. Du hast aber in der Fernbedienung / Steckdose auch solche DIP Schalter oder? Falls nicht ändert sich der Code jedes mal (generisch) und du solltest mal pilight probieren.

      Antworten
    • Hi,

      nope, haben sie nicht. Der Code den die FB sendet ist aber immer identisch (auch stromlos machen der Funksteckdosen ändert daran nichts bzw ich muss nichts neu „anlernen“)

      Antworten
      • Das Problem bei solchen „generischen“ Steckdosen ist eben, dass du den Code nicht einfach auslesen und senden kannst. Daher habe ich extra solche mit DIP Schalter verlinkt. Je nach Modell könnten deine Steckdosen von pilight unterstützt werden.

  3. Die hatte ich mir leider vorher schon gekauft ^^
    Anyway, mit „den richtigen“ klappte es auf Anhieb.
    Danke für den Tip, wäre ich neverever drauf gekommen ,)

    Antworten
    • Das Problem kenne ich 😀 Hatte mir am Anfang auch ein Produkt mit generischem Code geholt (auf der Verpackung stand kein Wort davon) und diese wurden leider nicht von pilight unterstützt.
      Naja hauptsache ist ja, dass es nun bei dir klappz 🙂

      Antworten
  4. Hallo,

    ich habe schon bei wünsch dir ein Tutorial erwähnt wie cool ich diese Seite finde! die Steuerung der Funksteckdosen sieht schonmal vielversprechend aus. Jedoch noch ein Zusatz, bzw. ein zusätliches Anliegen: Wie kann ich es realisieren, diese Steckdosen automatisch per Zeitschaltung anzusteuern? Besser wäre noch einen Dämmerungssensor mit einzubinden 🙂

    Antworten
    • Wenn du zu gewissen Uhrzeiten etwas ausführen willst, bietet sich Cron an. Bsp. schreibst du zwei Skripte (zum an/ausschalten) und rufst sie zu gewissen Uhrzeiten auf.
      Leider kann man diese Steckdosen nicht zum dimmen benutzen, da sie nur an/aus gehen. Allerdings suche ich schon etwas länger nach einer dimmbaren Lösung (für Glühbirnen), aber die meisten sind entweder sehr teuer oder sind nicht über das Pi ansprechbar. Sollte ich eine gute Möglichkeit finden, wird es aber ein Tutorial dazu geben 🙂

      Antworten
  5. Ist, es möglich, statt einem C++ auch ein Python Script zu verwenden, und wenn Ja, wie genau bindet man dies in sein Script ein? Ich bin noch ein Anfänger und versuche es zu lernen, Danke schon mal im Voraus!

    Antworten
    • Ich weiß nicht, ob es eine Python Bibliothek gibt, womit man Funksygnale senden/Empfangen kann. Ansonsten einfach ein C++ Skript aus Python aufrufen, dass den entsprechenden Code sendet (os.system(..)).

      Antworten
  6. Hallo,

    mir ist aufgefallen, daß in diesem Tut bei dem Sender VCC an GPIO und ATAD an 5V angeschlossen sind. Beim Empfänger ist der rechte Datenpin an GPIO angeschlossen.
    Bei dem anderen Tut (Raspberry Pi’s über Funk kommunizieren lassen)
    ist VCC=5V, ATAD an GIPO und beim Empfänger soll der Linke DATA genutzt werden.

    Ist das so beabsichtigt?

    Gruß Ingo

    Antworten
  7. Hallo,

    hab genau so eine Anleitung wie hier gesucht.
    Nur leider funktioniert bei mir das Auslesen des Codes schon nicht. Ich hab genau die Module von deinem Bild und hab sie auch so angeschlossen, wie du es eingezeichnet hast. RFSniffer zeigt aber einfach keine empfangenen Daten an.
    Das Empfangsmodul hoffe ich doch nicht, dass es defekt ist, da ich drei von denen getestet habe.
    Dass man den Empfänger an GPIO27 anschließen muss, bestimmt dieses WiringPi, ist das richtig?

    Hast du einen Tipp, was der Fehler sein könnte oder was ich probieren könnte, um den Fehler einzugrenzen?

    MfG Danilu

    Antworten
    • Hey,
      einer der häufigsten „Fehler“ ist die Benutzung von generischen Codes. Leider werden viele solcher Steckdosen verkauft, bei denen man den Code nicht selbstständig einstellen kann. Damit wird es extrem schwierig, da sich die Codes ständig ändern (generiert werden). Das wäre also die erste Frage, ob du den Code (mit Dipschaltern) einstellen kannst?
      Der GPIO ist bisher so gesetzt, du kannst ihn allerdings auch ändern. Dazu schaust du dir die WiringPi Tabelle an und wählst einen anderen Pin. Die Nummer gibst du im Skript an und kompilierst erneut.
      Du kannst auch noch etwas anderes testen: Entweder du nutzt eine andere Funkfermbedienung (Garagentor, etc.) oder aber du wirfst einen Blick in dieses Tutorial (gleichzeitig vom Pi senden und empfangen): Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
      LG Felix

      Antworten
  8. Super Anleitung alles hat geklappt
    Aber wenn ich RFSniffer starten will kommt immer command Not found was mache ich falsch

    Antworten
    • Kannst du den genauen Befehl kopieren, den du eingibst? Und bitte führ auch mal ein ls im Verzeichnis aus und kopiere auch den Inhalt hier rein.

      Antworten
      • Der Beitrag ist zwar schon älter, aber habe das selbe problem. Kommando nicht gefunden.
        gebe
        sudo ./RFSniffer
        ein.
        wenn ich ls eingebe erscheint folgendes:
        codesend.cpp Makefile README.md RFSniffer.cpp send.cpp

        Kann mir da einer helfen?

      • Du musst die Dateien erst mittels make kompilieren (kompilierte Dateien scheinen nicht vorhanden zu sein).

      • Danke Felix !!
        Eine Frage hab ich dann doch noch, wie bekomme ich das jetzt vernünftig in mein FHEM rein? Jemand ein Tip für mich!

  9. Hallo,

    ich bekomme leider beim Kompilieren folgenden Fehler:
    steuerung.cpp:2:10: error: #include expects „FILENAME“ or
    #include <stdlib.h>
    ^
    steuerung.cpp:3:10: error: #include expects „FILENAME“ or
    #include <stdio.h>
    ^
    steuerung.cpp: In function ‘int main(int, char**)’:
    steuerung.cpp:15:17: error: ‘atoi’ was not declared in this scope
    if (atoi(argv[1]) == 1) { // hier kannst du deine eigenen Bedingungen setzen

    Auch beim Auslesen des Senders bekomme ich immer andere Werte angezeigt mal 5471 dann wieder 21855 ich dachte eigentlich diese Steckdosen (http://www.amazon.de/Elro-AB440S-3C-Funksteckdosen-Funksteckdose/dp/B002QXN7X6) wären dafür geeignet da diese ebenfalls auf der Rückseite 10 Pins haben.

    Hast du für diese zwei „Probleme“ eine Idee?

    Danke für jeden Tipp

    Gruß
    Torsten

    Antworten
    • Die Fehler liegen daran, dass WordPress aus den eckigen Klammern <> immer &lt;&gt; macht. Ich habe das wieder gefixt. Wenn du den Code nun nimmst, klappt es, ansonsten einfach entsprechend durch eckige Klammern ersetzen.
      Bzgl deines zweiten Problems: Wichtig ist, dass du den Code auslesen kannst (durch einstellen der Pins). Kommen bei der selben Taste verschiedene Codes? Könnte es ggf. von anderen Geräten in der Umgebung kommen?
      LG Felix

      Antworten
  10. Danke für die schnelle Antwort, das erste Problem konnte ich damit auch lösen (hätte ich wohl auch selbst drauf kommen können :-))

    Allerdings bekomme ich mit der Fernbedienung immer noch unterschiedliche Nummern angezeigt.

    Andere Geräte habe ich eigentlich nicht in der nähe und ich erhalte mit dem Sniffer auch nur Werte (Received 4433 oder Received 5471 usw.) wenn ich die Taste an der Fernbedienung betätige.

    Hast du noch eine Idee?

    Gruß
    Torsten

    Antworten
  11. Ein noch: Wenn ich sudo ./send 11111 (Hauscode) 2 (Steckdose) 1 (on) eingebe erhalte ich Received 4433 und bei sudo ./send 11111 2 0 eingebe dann bekomme ich Received 4436
    Dies sind genau die Daten die ich auch mit der Fernbedienung erhalte 4433 für On und 4436 für Off

    Schalten kann ich die Steckdose aber leider auch hier nicht.

    Gruß
    Torsten

    PS: Die Steckdose ist im gleichen Raum und ca 2. Meter entfernt.

    Antworten
  12. Nachtrag: Es geht es lag wohl an der Reichweite… Ich werde mir wohl eine Antenne dran löten.

    Viele Grüße
    Torsten

    Antworten
  13. Huhu, ich frage mich, ob ich bei dem standard 433MHz Sender die Data und VCC Leitung kombinieren kann, wenn ich den Sender an den Stromkreis einer Klingel (Batteriebetrieb) klemme. Denn der Sender soll nur Strom bekommen, wenn jemand klingelt und in diesem Moment soll der Sender auch Daten verschicken. Ich würde noch eine Schutzdiode einbauen und evtl. noch einen Kondensator, um Spikes abzufangen.
    Irgendwie finde ich keine genauen Specs vom Sender und der Data Leitung.

    Antworten
    • Würde dann ein brauchbares Signal verschickt werden? Ich nehme an, dass du dann auf den Raspberry Pi komplett verzichtest (Sender)?

      Antworten
  14. Hallo
    Super Anleitung !

    Habe nach einigen Startschwirigkeiten alles ans laufen gebracht.

    Der Empfänger (am Pi) ist ohne Antenne doch etwas „schlecht“ beim Empfang
    Der Sender (am Arduino) schafft auch ohne Antenne eine kurze Reichweite (ein Raum weiter)

    Nun werde ich es noch in meine ioBroker – Installation einbinden müssen. Das sollte mit JS irgendwie klappen.

    Antworten
    • Danke 🙂 Liegt wahrscheinlich daran, dass die 433Mhz Module für den Arduino gedacht sind, dessen Pins mit 5V arbeiten. 3.3V des Pi’s funktionieren auch, aber lassen das Signal etwas abschwächen.

      Antworten
    • Sieht aus, als wird dabei ein generischer Code verwendet, was es sehr schwierig macht. Du könntest dir aber mal PiLight mal ansehen, das hat einige Codes gespeichert, vielleicht klappt es damit.

      Antworten
  15. Hallo alle zusammen,

    hab mal ne Frage, wenn ich den Sender Ansprechen will (sudo/raspberry-Remote / send 00100 1 1) bekomme ich eine Meldung “using pin 0” , was soll mir die Meldung sagen…….

    Hier der Auszug vom Terminal

    pi@raspberrypi ~ $ sudo ~/raspberry-remote/send 00100 1 1
    using pin 0
    sending systemCode[00100] unitCode[1] command[1]
    Antworten
    • Du hast bisher nicht gesagt gehabt, dass die Steckdosen nicht schalten. Versuch mal einen anderen Code in den Steckdosen einzustellen bzw. nutze mein Skript anstelle von dem send-Skript. Auch kannst du einen anderen wiringPi Pin probieren (neu kompilieren nicht vergessen).

      Antworten
  16. Hi!
    Ich dachte, ich würde keinen Empfänger brauchen, da ich vermutete, die Codes online zu finden. Ich habe exakt die gleichen Steckdosen wie im Tutorial, könnte jemand die Codes für A, B und C jeweils An und Aus schreiben? Würde mir sehr helfen!

    Antworten
    • Im gleichen Verzeichnis findet du das kleine Programm send.
      Damit kannst du via ./send 00000 1 0 die Steckdosen schalten, ohne den Code vorher sniffen zu müssen. Das Verfahren ist ganz einfach:
      Die ersten 5 Stellen sind der Code der Steckdose
      Die 6. Stelle ist der Buchstabe (1=A, 2=B, 3=C, 4=D, E=E)
      Die 7. Stelle ist ein/aus 1/0
      Dabei sind Leerzeichen zu beachten.

      sudo ./send xxxxx x x

      Es reicht also für 160 Steckdosen aus 🙂

      Antworten
  17. Hallo Felix,
    Erstmal: super Seite! Werde versuchen einige deiner Tutorials nachzumachen. Starten möchte ich mit diesem hier.
    Frage: die von dir verlinkten Steckdosen sind ziemlich „klobig“. Gibt es eigentlich keine Funksteckdosen? Man sieht immer nur diese großen. Wäre doch super wenn es richtig kleine gibt, von denen man Dan möglichst mehrere in eine Mehrfachstockdose bekommt.

    Gibt’s da welche die mit deinem Tutorial hier funktionieren?

    Lg
    Marko

    Antworten
    • Hallo Marko,
      erst einmalo danke für das Lob 🙂
      Alle Funksteckdosen, welche ich bisher in den Fingern hatte, waren recht groß und nicht für den Einsatz in Mehrfachsteckdosen geeignet (zumindest nicht zwei nebeneinander). Wichtig ist aber eigentlich nur, dass man den Code manuell eingeben kann. Es gibt wahrscheinlich auch kleinere, jedoch meist mit genereischem Code. Das hat den Nachteil, dass man diese Codes nur schwer auslesen und senden kann.
      LG, Felix

      Antworten
  18. Hallo,

    leider bekomme ich den Fehler auch:

    pi@raspberrypi:~/433Utils/RPi_utils $ sudo ./RFSniffer
    sudo: ./RFSniffer: command not found

    Im Verzeichnis /rc-switch ist nichts

    pi@raspberrypi:~ $ git clone https://github.com/ninjablocks/433Utils.git && cd 433Utils/RPi_utils && make all
    Cloning into ‚433Utils’…
    remote: Counting objects: 191, done.
    remote: Total 191 (delta 0), reused 0 (delta 0), pack-reused 191
    Receiving objects: 100% (191/191), 38.54 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (84/84), done.
    Checking connectivity… done.
    make: *** No rule to make target ‚../rc-switch/RCSwitch.o‘, needed by ’send‘. Stop.

    Somit schlägt auch das make all fehl.

    pi@raspberrypi:~/433Utils/rc-switch $ ls
    pi@raspberrypi:~/433Utils/rc-switch $

    Jemand eine Idee, wäre sehr nett, danke.

    Antworten
  19. Hi, nachdem ich nun alles durchgemacht habe und auch die Codes ausgelesen, sowie in die Steuerung.cpp eingetragen habe, würde ich es gerne kompilieren.

    Mir wird leider angezeigt:

    g++: error: RCSwitch.cpp: Datei oder Verzeichnis nicht gefunden

    Was genau mache ich denn falsch?

    LG
    Nico

    Antworten
  20. Hallo,

    1) in dem git clone Befehl sind falsche striche. Wenn man 1:1 kopiert kommt ein Fehler.
    Richtig:
    git clone --recursive https://github.com/ninjablocks/433Utils.git && cd 433Utils/RPi_utils && make all

    Weiterhin habe ich beim Kompilieren ein Fehler.

    pi@raspberrypi:~/433Utils/rc-switch $ g++ -g RCSwitch.cpp steuerung4.cpp -o steuerung4 -lwiringPi
    In file included from RCSwitch.cpp:34:0:
    RCSwitch.h:45:26: fatal error: WProgram.h: Datei oder Verzeichnis nicht gefunden
         #include "WProgram.h"
                              ^

    Habe die Datei Steuerung 4 für die 4te Fernbedienung genannt. Das dürfte nicht der Fehler sein.

    Ich vermute das hier ein Fehler bei C++ vorliegt. Habe vorher ein Update und ein Upgrade gemacht, wie beschrieben.

    Weiterhin fällt mir auf das Ihr einfach immer mit SUDO im Hauptverzeichnis rummacht, aber bei mir muss ich immer in das entsprechende Verzeichnis wechseln. z.B. cd 433….

    Wie kann ich hier die Locate Funktion nachinstallieren? Ich komme mit find nicht so gut klar.

    Antworten
    • Danke für den Hinweis, nun ist der richtige Bindestrich wieder drin.
      In der neuen Version wird der Parameter RPI auf dem Raspberry Pi gesetzt. Daher lautet der neue Befehl zum kompilieren:

      g++ -DRPI ../rc-switch/RCSwitch.cpp steuerung.cpp -o steuerung -lwiringPi

      Außerdem musst du den Pfad zur RCSwitch.h Header Datei im Code anpassen.
      Bezüglich des cd Befehls: Ich habe ihn davor schon ausgeführt und befinde mich anschließend im Verzeichnis (Du hast ihn ja auch korrekterweise mit kopiert). Welche Locate Funktion meinst du?

      Antworten
  21. Ich habe es schon anders gelöst. Ich habe es direkt manuell gesendet.

    pi@raspberrypi:~/433Utils $ sudo ./codesend 5510420

    also direkt über

    sudo ./codesend 5510420

    Man kann auch dann bei anderen Herstellern das hier vielfach beschriebene

    sudo ./send 1234 1 0

    für die Steckdosenreihe 1234 Steckdose 1 Zustand 0

    Weiterhin habe ich ein Webserver installiert. Apache php usw. das kann man überall nachlesen. Mit den apt-get befehl.

    Dann habe ich mir ein Script gebastelt:

    <?php
    $output = shell_exec('sudo /home/pi/433Utils/RPi_utils/codesend 5510420');
    echo "$output";
    ?> 

    Am Anfang funktioniert es nicht. Dann las ich nach.
    Möglicher Fehler php und Apache SAFE Mode
    Da ich aber die neueste PHP Version habe, scheint es so als wenn die Funktion abgeschafft wurde. Ich habe ja keine Rechte als Webserver die SUDO Funktion zu nutzen. Daher habe ich mir für das eine Script die Rechte beschafft:

    Lösung:

    sudo visudo

    Die Zeile einfügen:

    www-data ALL=NOPASSWD:/home/pi/433Utils/RPi_utils/codesend

    zur Sicherheit habe ich dem Script mit chmod ne 777 gegeben, damit ich mich nicht mit den Rechten nicht rumärgern muss.

    dann habe ich mich beim https://www.noip.com/ KOSTENLOS eine DYN DNS Adresse beschafft. Die habe ich zur Vereinfachung über mein online Server auf über auf eine sub Domain geleitet. Also z.B. subdomain.mainserver.de

    hier habe ich dann in
    /var/www/html/schalter41.php

    die Steckdose 4 zustand 1 mit dem oberen Script bestückt.

    Es klappt wunderbar. Ich konnte jetzt über das iPhone oder Samsung Galaxy auf

    subdomain.mainserver.de/schalter41.php

    zugreifen dann ging die Steckdose an. Das habe ich mir mit einen Symbol auf dem iPhone Desktop abgelegt. Schon kann ich mit iPhone meine Steckdosen über den Raspberry PI steuern.

    Heute Nacht ging alles wunderbar. Heute morgen allerdings nicht. Ich komme nicht mehr über den link auf den Rasbperry. Ich lande im Time Out. Obwohl ich es im internen Netzwerk trotzdem über 192.168.2.78/schalter41.php ansteuern kann.

    Den Fehler finde ich aber auch noch :0)

    Eines ist mir aufgefallen. Entweder habe ich Eure Zeichnung falsch gedeutet oder die ist falsch. Bei meinen Raspberry PI war die Verschaltung nicht so wie hier:

    Der Pin Rechts 1 und 2 sind jeweils 5 Volt Anschlüsse. Bei Dir steht hier der Pin 1 als + Anschluss. Das funktionierte bei mir ums verrecken nicht. Fragt nicht wieso. Beim Empfänger ging es. Beim sender musste ich auf den 2 Pin ausweichen. Das geht jetzt.

    Für die Leute die sich so eine Anschluss Platine nicht dazu geholt haben, liest erstmal die Zahlen der Funkfernbedienung mit dem Empfänger raus (Klemmt also nur die eine direkt Platine an) und dann macht die ab und klemmt den Sender an. Dann müsst Ihr nichts notdürftiges basteln, sondern nimmt die kleinen zugekauften Kabel.

    Zu meinen Locate:

    Es gibt sicherlich viele Wege um Dateien im Linux System zu suchen.

    eine davon ist find.

    Ich bevorzuge locate. Das kann man mit apt-get nachinstallieren. Dann muss man aber den Befehl

    updatedb

    ausführen, dann wird eine Datenbank der Dateien auf dem Rechner erstellt. Dann kann man mit einen einfachen Befehl suchen:

    locate bild.jpg

    noch ein Tipp für Anfänger. Wenn Ihr nicht wisst wie man Dateien hin und her kopiert, Rechte vergibt usw. Installiert Euch den Midnigt Commander kurz mc

    sudo apt-get install mc

    das ist ein Dateimanager wie damals ähnlich den unter Windows 95.

    Antworten
    • Hallo Filip,
      erst einmal danke für deinen ausführlichen Kommentar. Zum Aufbau („Der Pin Rechts 1 und 2 sind jeweils 5 Volt Anschlüsse.“): Du meinst Pin 2 und 4, nehme ich an? Da beide 5V liefern, sollte es keinen Unterschied machen.
      LG, Felix

      Antworten
    • Zitat: „Heute Nacht ging alles wunderbar. Heute morgen allerdings nicht. Ich komme nicht mehr über den link auf den Rasbperry. Ich lande im Time Out. Obwohl ich es im internen Netzwerk trotzdem über 192.168.2.78/schalter41.php ansteuern kann.

      Den Fehler finde ich aber auch noch :0)“

      Falls Du den Fehler noch nicht gefunden haben solltest: DynDNS funktioniert nur bis zur Zwangstrennung durch Deinen Provider. Danach hast Du eine neue IP-Adresse (meistens jedenfalls) und die musst Du Deinem DynDNS-Anbieter erst einmal mitteilen. Geht am Einfachsten durch die passende Einstellung im Router.

      Zum Autor dieses Tutorials: Schön geschrieben, nachvollziehbar. Danke dafür.

      Ralph
      Ralph

      Antworten
  22. Hi,
    klasse Tutorial gibt es eine Möglichkeit einen Bestimmten Code den der RFSniffer empfängt eine bestimmte Aktion auszuführen? Bspw. mehrere Funksteckdosen einzuschalten.
    Danke im voraus

    Antworten
  23. Moin ihr Lieben,
    habe seit gestern angefangen, mich mit dem raspberry pi zu beschäftigen. Da ich von Programmieren &Co keine Ahnung habe, hielt ich Ausschau nach einfachen Tutorials und das mit den Funksteckdosen (habe sie überall im Einsatz sehr umständlich mit 3 Fernbedienungen) wäre so mein Beginner-Projekt. Ich muss mich erstmal rantasten und checken, ob sich die Ausgaben für den Spaß lohnen, meistens scheitert es an der fehlenden Zeit, sich mit sowas intensiv zu befassen. Bis hier hin erstmal tolle Arbeit, so erscheint das Komplizierte doch auch für Einsteiger einfach.
    Allerdings ist mir eines noch nicht so ganz klar, kann man einen raspberry auch für mehrere Zwecke einsetzen oder beschränkt sich das immer auf eine Sache ? (mein Plan war es sowohl die Steckdosen zu schalten als auch daran angeschlossene LED-Stripes zu steuern)

    Aber das war nicht meine ursprüngliche Frage 😀 : Gibt es eine Art Webinterface fürs Tablet und Smartphone mit einfacher Erklärung ?

    Viele Grüße
    Tim

    Antworten
  24. Hallo,
    generell erstmal danke für die echt tolle Seite und die super Tutorials die du hier vorstellst.

    Leider habe ich jetzt ein Problem bei diesem Tutorial:

    Wenn ich den Befehl zum kompilieren der zwei Dateien eingebe erhalte ich folgenden Error:

    g++: error: ../rc-switch/RCSwitch.cpp: No such file or directory
    g++: error: steuerung.cpp: No such file or directory

    Was mach ich falsch?

    Gruß

    Antworten
  25. Günni
    Hallo Felix,
    habe alles so nachgebaut wie beschrieben. Ich kann auch die Funksteckdose mit dem Befehl sudo ./steuerung 1 einschalten aber nicht mehr ausschalten. Hatte eigentlich erwartet, dass ich mit dem Befehl sudo ./steuerung 0 die Steckdose wieder ausschalten kann! Geht aber nicht. Ich kann die Funksteckdose über den Handsender wieder ausschalten, aber danach mit sudo ./steuerung 1 nicht wieder einschalten. Erst nach dem Neustart des Raspi kann ich die Funksteckdose wieder genau einmal einschalten.
    Woran kann das liegen?
    LG Günni

    Antworten
  26. Hallo,

    erst mal danke für die Anleitung, war ein prima Start. Leider hatte ich lernende Steckdosen (Flamingo, elro) bekommen, obwohl in der Beschreibung stand „Sendesignal mit einstellbaren Codes“. Die Codes der Fernbedienung konnte ich mit dem Sniffer wunderbar empfangen. Das ganze wieder zu Senden hat aber zunächst nichts bewirkt. Ich habe dann ein zusätzliches Protokoll in RCSwitch.cpp eingefügt:
    { 300, { 1, 15 }, { 1, 3 }, { 3, 1 } }, // Protocol 6
    Außerdem müssen 28 Bits anstatt der 24 im Code gesendet werden.

    LG,
    Bernd

    Antworten
  27. Hallo
    Danke für die super Anleitung. Alle Wegen haben geklapt. Für das erste Projekt ein echtes Erfolgserlebnis.
    z.b. ./send 10101 4 0 als auch sudo ./codesend 1119505
    kann man das umrechnen? Ich habe Steckdosen von Intertechno, Die haben keine Dipschalter, senden aber auf dem konstanten Code. mit sudo ./RFSniffer
    kann ich die Fernbedienung einlesen und auch den Befehl wieder senden. Leider ist die Reichweite noch zu klein. Die Antenne wird in den nächsten Tagen angepasst.

    Antworten
  28. Hi,
    habe gerade schon in einem anderen Artikel eine Frage gestellt, und da etwas sehr sehr wichtiges vergessen:

    DANKE für die super einfachen (auch für Laien verständlichen) Erläuterungen in den ganzen Artikeln!
    Super Seite!

    Gruß,
    LarsMq

    Antworten
  29. Guten Tag,
    bezüglich der PIN Belegung habe ich eine Frage.
    Ich habe Euer Projekt mit der IR-Diode (http://tutorials-raspberrypi.de/raspberry-pi-fernbedienung-infrarot-steuerung-lirc/) erfolgreich umgesetzt und wollte meinen Raspberry gleichzeitig als 433MHz Sender zum schalten der Funksteckdosen nutzen, wie in diesem Projekt beschrieben (ebenfalls erfolgreich umgesetzt).
    Jedoch werden in beiden Projekten der GPIO PIN17 verwendet. Gibt es eine Möglichkeit in einer der beiden „Software-Pakete“ (LIRC und/oder 433Utils) den „Data-PIN“ zu wechseln?
    Vielen Dank im Voraus für eine kurze Rückmeldung.

    Grüße
    Max

    Antworten
  30. Hi Felix,

    auch von mir erst mal ein Kompliment für die tolle Seite. Jetzt habe ich soweit alles nachgemacht wie im Tutorial angegeben und den Snif Befehl ausgeführt.

    Wenn ich auf meiner Fernbedienung die Taste A On drücke, kommen bei mir im Raspberry 2 verschiedene Ergebnisnummern.

    Ich hab jetzt mal beide versucht in der steuerung.cpp einzubinden und mit dem ./steuerung 1 die Steckdose anzuschalten. Das klappt leider nicht.

    Es könnte natürlich an der Qualität der Sender/Empfänger (FS1000A) liegen. Finde ich das wirklich nur raus wenn ich die Steckdose direkt neben den Pi stelle? Sniffen konnte ich die Befehle ja durchaus. Zwischen Pi und Steckdose liegen ca. 3 Meter. Die Fernbedienung sniffen habe ich mit ca. 1,5 Metern gemacht.

    Gibts noch eine andere Idee?

    Antworten
    • Kommando zurück. Ich habe testweise die Steckdose direkt neben den Pi, da kommt das Kommando 1a an. Dann muss ich mir wohl einen qualitativ hochwertigeren Sender holen.

      Antworten
    • Ich hatte auch schon öfters, dass zwischendrin irgendwelche anderen Codes empfangen wurden. Ich denke, dass der Code einfach nur nicht richtig empfangen werden konnte. Der Code, der häufiger gleich empfangen wird, ist (meist) der richtige 🙂

      Antworten
  31. Ich wollte nur kurz Danke für das Tutorial sagen. Klappt wunderbar und mit einer Modifikation des PHP Skriptes von Filip lässt es sich auch von der Hausautomation ansteuern.

    Antworten
  32. moin moin

    wie kann ich die dosen denn steuern wenn alles fertig ist ?
    per app `?

    Ich habe eine harmony elite fernbedienung… damit würde ich sie am liebsten ansteuern

    Antworten
  33. Hallo,
    ich möchte (weil die Funkfernbedienung nur eine begrenzte Anzahl Tasten hat) die Tasten „doppelt“ belegen, also kurz drücken soll was anderes machen als lang drücken. Wie kann ich das in einem Skript unterscheiden?

    Antworten
    • Reagiert deine Steckdose auf die verschiedenen Signale? Wenn ja, könntest du die Codes evtl. mehrfach hintereinander schicken. Müsstest du aber ausprobieren, kann dir nicht 100% sagen, ob das klappen wird.

      Antworten
  34. Es wäre interessant, sofern möglich, ob man die hier verlinkten Funksteckdosen mit dem Sender per Webinterface steuern kann

    Antworten
  35. hai felix,
    dermassen eklatante sicherheitslücken schreien ja direkt nach schabernack-exploits. aus dem grossen buch des wie-kann-man-nur das kapitel: heute noch fernsteuerungen ohne jede verschlüsslung bei der kommunikation in den handel bringen.
    in deinem tut vermisse ich eine entsprechende warnung, dass man solche steckdoden besser nur zum spielen verwendet, oder wenn es wirklich egal ist, ob eine an oder aus ist…
    greetz, sara

    Antworten
  36. Felix, danke für Deine sehr guten Anleitungen!
    Wie löse ich denn das Reichweitenproblem? .. ich komme mit o.a. Set nur auf ca. 5 Meter Luftlinie beim Senden und Empfangen.
    Danke

    Antworten
  37. Danke für das tolle Tutorial!
    Funktionier alles soweit. Software läuft ohne Fehlermeldungen.

    Jedoch wenn ich auf der Fernbedienung eine Taste drücke (egal ob „on“ oder „off“) empfängt der PI keinen Code. Ich nutze die Funktschaltsteckdosen von Brennenstuhl (RCS 1000SN).
    Wenn ich einen beliebigen Code sende, empfängt der PI diesen. Also arbeiten Sender und Empfänger ordnungsgemäß.
    Hat dazu jemand vlt. eine Idee?

    Liebe Grüße

    Antworten
  38. Hallo, ich habe zu dem Thema schon mehrere Artikel im Netz gesehen. In den meisten werden aber zusätzlich Widerstände mit in dem Aufbau verbaut. Hier ist das nicht der Fall. Mich würde interessieren, wieso. Die anderen machen das ja nicht aus Spaß aber hier hat sich ja auch noch keiner beschwert, dass er das nachgebaut hat und danach irgendwas kaputt gegangen sei.

    Antworten
    • Nein, das ist nicht nötig. DU kannst ja die Spannung an den Pins messen. Diese ist unter 3.3V und somit für die GPIOs ungefährlich. Wie du siehst hat sich auch noch niemand beschwert. Wenn du dem trotzdem nicht vertraust kannst du auch einen Widerstand einbauen, allerdings kann es sein, dass dann nicht mehr die richtigen Werte erkannt werden.

      Antworten
  39. Hi, danke für dein Tutorial, auch wenn ich extrem umständlich finde mit dem RFSniffer und lieber direkt die enthaltenen Binary „send“ nutze, da muss ich kein Code auslesen usw, aber trotzdem sehr praktisch dieser Sniffer.

    Meine Frage ist allerdings spezieller, weiß auch nicht so Recht nach was ich googeln sollte.

    Also, ich habe in 2 Wohnungen jeweils eine FritzBox. Einen Raspi und mehrere RF433 Sender/Empfänger sowie einige RF433 Steckdosen in beiden Wohnungen.

    Ich würde gerne mit EINEM Pi beide Wohnungen steuern, nicht wegen dem Geld sondern wegen der Idee/dem Ausprobieren.

    Im Endeffekt braucht man ja nur eine Leitung, Plus/Minus kann ja überall gestellt werden. Und die Daten quasi über das LAN Kabel tunneln, hab ich mir gedacht, könnte gehen.

    z.B. über VPN auf die entfernte Fritz zugreifen und über eine ungenutzte LAN Buchse das ganze weitergeben zu dem entfernten RF433 Sender.

    Ist es überhaupt möglich so etwas zu tunneln bzw. sozusagen dadurch das „Datenkabel“ von GPIO 17 zum Sender, so zu verlängern?

    Grüße Lars

    Antworten
    • Hallo Lars,
      es gibt bestimmt eine Möglichkeit, aber soweit ich weiß, gibt es dazu nichts „out of the box“. Ich kann mir schlecht vorstellen, dass so etwas mit einer Fritbox möglich ist. Eher noch, dass du einen Arduino/ESP8266 o.ä. über das Internet anspricht, welcher dann die Steckdosen schaltet.
      LG, Felix

      Antworten
  40. Hi Felix, danke für deine rasche Antwort,

    ja ich glaube mit nem 2. SBC, welcher auch immer, wäre es relativ easy möglich.
    Hätte ja sein können, das du da ein Stichwort im Hinterkopf hast nachdem ich dann hätte googeln können.

    Antworten
  41. Hallo zusammen, vielen Dank für das tolle Tutorial! Bei mir wird leider nachdem ich das Script geschrieben habe beim kompilieren angegeben das in der includeten RCSwitch.ccp > ../rc-switch/RCSwitch.h ein fatal error angegeben- die Datei WProgram.h wird nicht gefunden. Weiß jemand was es mit dem Fehler auf sich hat? Danke!

    Antworten
  42. Hi,
    Wie kann ich das über eine kleine interne Webseite steuern? Muss das in eine php Datei eingebunden werden? Wenn ja wie? Würde mich über eine Antwort freuen.

    Antworten
  43. Hallo,
    ich habe die WiringPi nach Anleitung installiert und bekomme mit gpio readall auch die entsprechende Übersicht.
    Bei den 433Utils geht es für mich leider nicht weiter. Ein make all bringt folgende Meldung:

    g++ -DRPI ../rc-switch/RCSwitch.o send.o -o send -lwiringPi
    /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../libwiringPi.so: undefined reference to `crypt‘
    /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../libwiringPi.so: undefined reference to `maxDetectRead‘
    collect2: error: ld returned 1 exit status
    Makefile:8: recipe for target ’send‘ failed
    make: *** [send] Error 1

    Google konnte mir da leider nicht wirklich helfen.
    Bin wie gesagt nach Anleitung vorgegangen.
    Ideen?

    Antworten
  44. Hallöchen,

    viel dank für die Anleitung, läuft echt super nun hat mir aber ein infomatiker gesteckt, da ich ohne dem Breadboard arbeite ein Pegelwandler 5 -> 3V verwenden muß da ich die 5V sonst auch auf den GPIO durchlasse und dieser mit der Zeit kaputt geht.

    lars

    Antworten
  45. Erst einmal vielen Dank für das Tutorial. Nun frage ich mich, ob es möglich ist, die Befehle über eine (z.B. mit Muse) programmierte Webseite weiterzugeben?
    . Dann könnte man die Benutzoberfläche individualisieren und optimieren.

    Viele Grüße.

    Antworten
  46. Hallo Felix,

    zunächst vielen Dank für das super Tutorial, leider hatte ich auch keine konfigurierbaren Steckdosen zur Hand. Ich wollte allerdings aber auch keine neuen kaufen und tüftelte/suchte weiter.

    Zu meinen Steckdosen: Ich hatte zwei Sets (3er und 5er) bei denen ich zwar den Code auslesen konnte und auch übertragen konnte allerdings die Steckdose darauf nicht reagierte. Mittels der folgenden Artikel und einer leicht modifizierten Software war ich in der Lage meine Steckdosen (beide Sets) zu steuern.

    Ich fand zunächst einen Artikel, der beim Auslesen auch den Pulse mit ausgibt. Mittels des richtigen Pulses konnte ich dann beide Sets steuern, obwohl diese generische Codes verwenden. Hierbei wird einfach der generische Code und der der richtige Pulse verwendet und schon lassen sich die Steckdosen einwandfrei schalten.

    VG
    Moritz

    Links:
    https://www.samkear.com/hardware/control-power-outlets-wirelessly-raspberry-pi
    https://timleland.com/wireless-power-outlets/
    https://github.com/timleland/rfoutlet

    Antworten
  47. Hallo. Funktioniert das auch mit 433,92 MhZ Funksteckdosen? Ich kenne mich mit den Frequenzen usw. nicht so aus. Danke Klaus

    Antworten
  48. Hallo,
    ich habe Funksteckdosen, ein Garagentor und eine Markise, die alle per Funk gesteuert werden. Ich kann von keinen der 3 Sendern den Code „sniffen“. Lediglich von dem am raspberry angeschlossenen Sender (der beim Empfänger dabei war) kann ich codes auslesen.
    Woran kann das liegen? 🙁
    Die Sender halte ich quasi direkt neben den Empfänger…
    Besten Dank für Eure Hilfe!
    LG Timo

    Antworten
      • Es sind von mir eingestellte Codes bei den Funksteckdosen. Daher müsste ich den Code eigentlich gar nicht mitschneiden, oder? Allerdings klappt auch das Schalten der Dosen über den eingestellten Code nicht. Der Abstand zum Schalten ist ca. 1m. 🙁
        Der Abstand zum sniffen ist quasi 0…

      • Ok. Mein Fehler. Ich habe das gleiche Setup noch mal probiert und erst hat es wieder nicht geklappt. Etwas verärgert habe ich mehrfach hintereinander auf „on“ gedrückt und dann hat er auch mal einen Code mitgeschnitten…. 🙂

  49. Echt sehr gutes Tutorial. Bei mir hat es funktioniert :-)). Der nächste Schritt ist das Ansteuern über Mathematica.

    Antworten
  50. Du rufst an der Switch send mit dem address code 5510417 fuer ON auf.

    Die Implementierung von RCSwitch erlaubt jedoch nur ein address code von 1 – 4?!

    Antworten
  51. Hallo, Ich versuche den Code in Mathematica zu compilieren. Da wird der gcc statt des g++ verwendet. Daher wuerde ich gern verstehen was hier (g++ -DRPI ../rc-switch/RCSwitch.cpp steuerung.cpp -o steuerung -lwiringPi) gemacht wird. Insbesondere was das -DPRI macht habe ich nirgends gefunden. Kannst du dazu was sagen?

    Antworten
  52. Hallo Leute,

    ich habe folgendes Problem. Ich lese den Code 21 für ein und 20 für aus per RCSniffer ein und möchte nun diesen auch senden. Ich verstehe noch nicht wie ich diesen mit Sudo ./send übertragen soll?? ./send xxx x x
    Stehe da mächtig auf dem Schlauch

    Antworten
  53. Hey,

    beim Ausführen von ./RFSniffer bekomme ich folgende Fehlermeldung:

    ./RFSniffer: symbol lookup error: /usr/local/lib/libwiringPi.so: undefined symbol: pthread_create

    wiringPi und 433Utils schon mehrmals neu installiert. Hat jemand eine Idee wo der Fehler liegt? Liegt es an wiringPi oder dem RFSniffer? Ich nutze den Raspi3 mit Ubuntu Mate.

    Antworten
  54. Hi Felix,

    super Seite hier die viel Spaß macht und Bock auf ausprobieren macht!

    Ich habe die Funksteckdosen grundsätzlich am laufen. Jedoch habe ich mit dem kompilierten Programm eine Reichweite von <1m, mit dem hier in den Kommentaren schon genannten, fertigen "send 11111 1 1" funktioniert die Kommunikation auch ins Nachbarzimmer zuverlässig! Klingt komisch, ist aber so 😉

    Jetzt möchte ich das ganze gerne in eine Webseite als PHP Script mit Shell Execute einbauen, aber da scheine ich einfach zu blöd zu sein, ich kann z.B. einen "ls" Befehl ganz prima ausführen und auch den Output auf der Webseite anzeigen lassen, aber den send Befehl bekomme ich einfach nicht hin.
    Ich habe schon den Besitzer auf www-data geändert, ja sogar schon mit Dateirechten 777 probiert. Was kann ich falsch machen? Ich stehe wahrscheinlich gerade einfach auf dem Schlauch…

    Viele Grüße

    Ben

    Antworten
      • wenn ich das wüsste 😉

        das ich bei ls einen Output bekomme, ist für mich das Indiz, dass ich sowohl shell_exec korrekt benutze als auch, dass shell_exec überhaupt funktioniert. Sobald ich das ganze mit dem send Befehl machen möchte, passiert genau nix! Keine Fehlermeldung, kein Dose wird geschaltet, kein Outpu, es passiert einfach gar nix. Das error log von Apache2 bleibt auch leer. Ich hatte gehofft, dass Du vielleicht eine Idee hast wo es hacken könnte…

      • Versuch mal den Befehl im Hintergrund zu starten (mit einem & am Ende) und setze ein sleep dahinter (mit Semikolon getrennt)

      • Habe das Problem gefunden, der send Befehl braucht Schreibrechte in /dev/mem bzw. /dev/gpiomem nach einem sudo chown www-data /dev/mem -R funktioniert der Aufruf aus der Webseite! Danke für Deine Hilfe!

  55. Super Cooles Tut!!!!

    Konnte es ohne Probleme nachbauen und erweitern.
    So kann man einfach Funksoden bauen, welche man über eine Webseite steuern kann.

    Antworten
  56. Hallo,

    gibt es eine Möglichkeit den Daemon zu loggen?
    Sprich die Ausgabe von ./daemon & mitschneiden in eine log.txt Datei.

    Das wäre super, so kann man nachvollziehen ob und wann eine Steckdose geschaltet wurde

    Antworten
  57. Hallo, habe beim bauen leider ein Problem

    „~/433Utils/RPi_utils $ make all
    g++ -DRPI -c -o ../rc-switch/RCSwitch.o ../rc-switch/RCSwitch.cpp
    In file included from ../rc-switch/RCSwitch.cpp:34:0:
    ../rc-switch/RCSwitch.h:43:26: fatal error: wiringPi.h: No such file or directory
    #include
    ^
    compilation terminated.
    : recipe for target ‚../rc-switch/RCSwitch.o‘ failed
    make: *** [../rc-switch/RCSwitch.o] Error 1

    Was kann ich machen, habe es strikt nach Anleitung gemacht

    Antworten
      • Asche auf mein Haupt -.-

        Bleibt der Anschluss identisch, ich habe den Raspberry Pi3B

      • Ok, läuft soweit, Steckdosen haben Funktioniert, ebenso meine Deckenlampe, wo ich ein Problem habe ist meine „Vasenlampe“ Die Codes kann ich auslesen, kommen deutlich rüber, wenn ich diese Senden möchte , reagiert die Lampe leider nicht.
        Received 12587521

        Wenn ich den Sende, gehts nicht. Hast du da eine Idee?

        Mein Deckenventilator, der ebenfalls auf 433,9Mhz empfängt , liefert zudem überhaupt keine Codes. Schade.

    • Leider Nein! Bei mir stand das leider nicht. Ich hatte die Wahl zwischen 3 oder 4 er Set und dachte mir naja bestellste mal 4: Und siehe da ich habe ein ganz anderes Modell bekommen.(hatte aber auch nicht so recht drauf geachtet, habe auf den Link vertraut und bestellt.) Zu meiner enttäuschung generischer Code. da lässt sich also garnichts Steuern

      Antworten
  58. Hallo Felix,

    super Tutorial, danke! Ich habe leider falsche Steckdosen gekauft, die man nicht einstellen kann. Ich konnte dennoch die Codes auslesen, aber jetzt hapert es am Senden. Komischerweise erhalte ich beim RFSSniffen immer drei Codes, wenn ich auf einen Button auf der Fernbedienung klicke, z.B.:
    Received 40990366
    Received 4276501
    Received 4276501
    Hast Du eine Idee, woran das liegen kann? Der erste Code (40990366) ändert sich jedes mal, wenn ich auf den Knopf drücke, der andere Code (4276501) ist immer gleich.

    Danke und Gruß
    Chris

    Antworten
  59. Moin,
    ich habe auch ein Problem, mein Aufbau ist so wie im Tutorial beschrieben. Ich kann den Code der Fernbedienung auch auslesen und beim Senden wir der Code auch vom RFSniffer angezeigt, scheint also zu senden. Meine Funksteckdosen lassen sich per DIP Schalter einstellen (Systemcode und Unicode) jedoch tut sich an den Steckdosen nichts. Woran kann es liegen? Hab zum Testen das Sendemodul direkt neben die Steckdose gelegt, also kann es nicht an der Entfernung liegen.
    Schöne Grüße
    Paddy

    Antworten
    • Hast du verschiedene Distanzen probiert? Ich hatte bei einigen Steckdosen das Problem, dass diese erst ab ca 50cm Abstand geschaltet haben. Ansonsten könnte natürlich auch deine Verkabelung zum Sendemodul ein Problem haben.

      Antworten
  60. Hallo Felix,
    vielen Dank für das tolle Tutorial und dass du schon seit über 2 Jahre tapfer die anstehenden Fragen beantwortest. Die Einrichtung hat bei mir funktioniert und ich erhalte bei meinen 3 Intertechno Devices über den ./RFSniffer unterschiedliche Codes zum ein- und ausschalten (z.B. 172558 ein / 172557 aus) und konnte diese auch mit ./codesend korrekt ansteuern. Nachdem ich den Code nur mit ./send ausgeführt hatte, funktionierten diese auch nicht mehr mit ./codesend, obwohl ich sie mit ./RFSniffer erneut ausgelesen habe und sich kein Wert geändert hat. Ich habe die Datei codesend.cpp unverändert neu kompiliert, jedoch ohne Erfolg:

    sudo ./codesend 172558
    sending code[172558]
    ==>> keine Reaktion

    Ich würde mich freuen, falls du (oder jemand anderes) eine Idee oder Lösungsansatz hat.

    VG
    Gerd

    Antworten
  61. Hallo,
    Danke für diese tolle Anleitung. Ich habe einen Raspberry 3 von meinen Kindern zum Geburtstag bekommen. bis zum Sniffer hat alles super funktioniert. Ich konnte die 6 Codes der Fernbedienung auslesen.
    Ich habe den c++ code kopiert und eingefügt. Ich habe dann ein 2 Fenster geöffnet um dort den code zum kompilieren einkopiert, doch dabei kommt folgende Fehlermeldung.

    pi@raspberrypi:~/433Utils/RPi_utils $ g++ -DRPI ../rc-switch/RCSwitch.cpp steuerung.cpp -o steuerung -lwiringPi
    steuerung.cpp: In function ‘int main(int, char**)’:
    steuerung.cpp:21:1: error: expected ‘;’ before ‘}’ token
    }
    ^
    Da ich von c++ leider nichts verstehe? Lerne erst gerade ein wenig Pyhton zum programmieren. Weiß ich nicht was ich falsch gemacht habe 🙁

    Gruß
    Michael

    Antworten
  62. Jetzt habe ich doch noch eine Frage.
    Mit den Angegebenen Befehlen sudo ./steuerung 1 oder sudo ./steuerung 2 kann ich die Steckdose NICHT schalten.
    mit sudo ./ codesend 13988879 und ./codesend 13988867 funktioniert es aber. Wo ist der Fehler?

    So wie die PINs auf dem Bild gesteckt sind, funktioniert da der angebene C++ Code?

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!