Mit Arduino Funksteckdosen ansteuern

Ein Arduino mit Ethernet- und SD-Schnittstelle für etwa 50 Euro[/caption]

Seit gestern bin ich wieder fleißig am Basteln mit dem Arduino Uno bzw. Arduino Ethernet.

Durch Zufall bin ich auf einen Artikel gestoßen, in dem es um die Ansteuerung von Strom-Funksteckdosen ging. Da ich selbst mehrere dieser Geräte im Einsatz habe, war das natürlich ein gefundenes fressen: Funksteckdosen über den Ardu steuern; und im besten Fall über den Ardu Ethernet; über das Internet den TV ausschalten, das Licht steuern, etc. pp.

Leider“ ist das Thema, sofern man nicht eine passende Anleitung für den jeweiligen Funk-Chip in der Fernbedienung hat, ein sehr komplexes Thema. Mit Oszilloskop Impulse analysieren – da kenne ich mich zu wenig mit Elektrik aus; zudem fehlt mir das passende Gerät sowieso.

Diese Funksteckdosen arbeiten idR mit 433 oder 434 Mhz. Nun könnte man entweder einen 433 Mhz Sender- und Empfänger besorgen, oder man zapft die Fernbedienung der Funksteckdose an, sofern man eine Ardu-Lib findet, die den jeweiligen Chip unterstützt.

In meinem Fall habe ich aktuell ein paar Funksteckdosen von REV (mit HS2260A-RV4) im Einsatz; die bisher prima funktioniert haben. Diese haben ein Set abgelöst, dass von Elro produziert wurde, und – soviel ich weiß – auf den Intertechno-Codes basiert. Diese waren jedoch nicht sonderlich zuverlässig: Nach einigen Wochen/Monaten ließen sich die Steckdosenempfänger nicht mehr per Fernbedienung schalten; man musste Sie manuell ausstecken, wieder einstecken – und mit Glück ging’s dann wieder ein paar Tage.

Funksteckdosen von REV mit HS2260A-RV4

Solche Set’s gibt es in den meisten Baumärkten für < 10 Euro

Zuerst habe ich die Fernbedienung geöffnet und mir die verbauten Chip’s angesehen. Danach folgte einige Google-Recherche nach dem verbauten Modulations-Chip (HS2260A-RV4), in der Hoffnung eine passende Arduino Library zu finden und ein Datenblatt.

Ein
Datenblatt (auf Chinesisch …) habe ich dann auch gefunden, in dem die richtige Anzahl PINs und auch die Belegung dieser aufgeführt war (zum Glück auf Englisch).

Eine passende Lib habe ich nicht

gefunden – nur die Aussage, dass dieser Chip baugleich mit einem HS2262 sein soll – dummerweise hat dieser aber 2 PINs mehr (18) als mein HS2260 (16).

Da bei diesen HS-Chips (so wie ich das erkennen konnte) immer der vorletzte PIN der DOUT-PIN war, der später mit dem Arduino verbunden werden musste, habe ich auf „Gut Glück“ ein Kabel an den vorletzten PIN (15) angelötet und mit dem Ardu verbunden.

Zusätzlich dazu habe ich den Batterie-Plus mit den 5V, und den Batterie-Minus mit dem GND des Arduinos verbunden, und natürlich die originale 12V Batterie entfernt.

Die Library, die ich daraufhin verwendet habe, heißt „rc-switch„.

Leider konnte ich es in mehreren Anläufen nicht hinbekommen, dass die Fernbedienung irgendeine meiner Funksteckdosen von REV ansteuert. Nach 2-3h kam mir dann die Idee, mal meine alten, ungenutzten Elro-Funksteckdosen zu prüfen – vielleicht klappt’s ja damit.

Elro Funksteckdosen mit PT2260

Erneut ans Werk: Fernbedienung geöffnet und nach der Bezeichnung des Chip’s auf Google gesucht, und sofort fündig geworden.

Danach den vorletzten PIN des PT2260 (17) mit einem DigitalPIN, und wiederrum Batterie-Plus und -Minus mit dem Arduino verbunden.

Mit dem Beispiel-Sketch gelang es mir auf Anhieb eine Funksteckdose zu schalten. Wichtig ist nur, die Intertechno-Notation zu verwenden, wie in folgendem Beispiel-Sketch. Die Empfänger stehen in diesem Fall auf Gruppe „A„, Device-Gruppe „4„, Funksteckdose „1„.

Eine Besonderheit gab es bei meinen Elro-Funksteckdosen jedoch: Diese besitzen kein „Wählrad“ um die jeweilige Frequenz einzustellen, sondern lassen sich „Digital“ über einen Knopf programmieren.

Dabei hält man den einzigen Taster an der Funksteckdose gedrückt, bis die LED flackert. Danach nimmt man die Fernbedienung und hält die zukünftige Taste zum Schalten der Dose mit „Ein“ gedrückt; die LED flackert kurz – und danach kann man mit der betreffenden Taste auf der Fernbedienung die Funksteckdose schalten.

Ich habe daher die Fernbedienung auf Kanal 1 gesetzt, und die erste Taste mit der Dose belegt. Angesteuert wird sie dann über

Bastian
Bastian

Seit 2006 bin ich täglich im IT-Umfeld unterwegs und interessiere mich für technische Lösungen im Hard- und Softwarebereich, die einem den Alltag erleichtern. Zu meinen Hobbies zählt der 3D-Druck, das Tüfteln, Scripten, eine eigene Holzwerkstatt, sowie der unqualifizierte Umgang mit dem Lötkolben.

Artikel: 126

21 Kommentare

  1. Hört sich alles ziemlich kompliziert an, bin selbst aber kein Elektronik-Experte. Gibt es nicht schon Funksteckdosen die man per W-LAN steuern kann, ich meine mal sowas gesehen zu haben. Viel Spaß noch beim Basteln!

  2. Hi Bastian!

    Habe auch aktuell eine Funksteckdose mit nem Arduino angesteuert.
    Dein Ansatz klingt direkt den Chip anzusteuern klingt interessant.
    Alternativ kann man mit einen Oktokoppler benutzen – der funktioniert wie ein Relais – und damit lässt sich der Knopf der Fernbedienung ersetzen.

    MFG,
    Chris

  3. Hi,

    ich weiß nicht, inwieweit das noch von Interesse ist, ich habe auch so ein Set von Rev Ritter (Typ 8342-BHC), also ohne Konfigurationsschalter. Seit vorhin kann ich alle 3 Steckdosen mit dem Arduino via Funk ansteuern. Bewaffnet mit einem Röhrenscope und dem Multimeter sowie einigen weiteren „Tricks“ habe ich es irgendwie rausbekommen.

    Damit nun das ganze möglichst als Erweiterung in die RCswitch einfließen kann, würde ich das gerne teilen, um die Systematik herauszubekommen. Im Sender gibt es Lötbrücken, die den „System-Code“ setzen. Die Empfänger, die etwas schwieriger aufzubekommen sind, haben dann die entsprechenden Lötbrücken gesetzt (verwendeter Chip HS2272C-L2). Womöglich wurde es ja schon geknackt, hab‘ nur nicht lange danach gesucht.

    Eine letzte Anmerkung (nicht meine Erkenntnis), die Chips sind ähnlich oder kompatibel zu PT2260 und PT2272 (engl. Datenblätter!)

    Grüße
    Hermann-Josef

    • Hallo!

      Ich habe auch dieses Set und würde gerne die Steckdosen über den Raspberry ansteuern (COC-Platine).

      Wie machst du die Berechnung vom Code?

      Habe auf den Steckdosen den Code 0217

      Bitte um eine kurze Info – Dankeschön

      lg. Harald

      • Hi,
        die Berechnung vom Code kommt glaube ich auf die Library an, die du beim RPI verwendest.
        Ich hatte mal zum Testen einen 433 Mhz-Sender an einem RPI angeschlossen und konnte mit der RC Switch-Library die Steckdosen schalten; in der Dokumentation zur Lib steht auch beschrieben, wie du den Hauscode ablesen und in der Lib verwenden kannst.

        • OK – Danke

          ich verwende am Raspy den FHEM – Server

          Würde hier gerne den Schalter für die Steckdosen implementieren und komm hier nicht so richtig weiter…..

          • Hi,
            ich denke, die Frage sollte eher im FHEM-Forum gepostet werden. Offenbar kann das CUL auch kurzfristig auf 433 MHz senden (siehe: http://www.fhemwiki.de/wiki/CUL), ich denke, man muss das da angesprochene Intertechno-Modul klonen und eine Variante für das RevBHC draus machen.
            Vielleicht hat es dort ja shcon Jemand umgesetzt?

      • Hi,

        Letztendlich habe ich den Code aus dem Platinenlayout und dem Datenblatt ermittelt, die Timing-Parameter dann mit dem Scope. Komplett den Code mittels eines 433MHz-Empfangsmoduls zu ermitteln (non-intrusive), steht noch aus.
        Das Ermitteln des Codes, wie bei RCswitch (Arduino) bzw. rcswitch-pi beshrieben, funktioniert nicht, es gibt ja keine von außen erkennbare DIP- oder Rotary-Switches.
        Vermutlich reicht es aus, nur den Sender zu öffnen, um den System-Code zu ermitteln. Hier http://dc2ip.darc.de/funksteckdose.htm habe ich beschrieben, wie ich es mit einem Empfänger gemacht habe, ein Foto des Senders steht leider noch aus (sri).
        Meinen geänderten Code für rcswitch-pi (r10r * denschu + alexanderlink + meine Wenigkeit) habe ich zu github hochgeladen, siehe hier: https://github.com/thjm/rcswitch-pi, soll heissen, mit dem RPi ging es dann auch.
        Bin z.Zt. im Ausland und habe meine Unterlagen nicht, könnte dann ggf. mal schauen, ob es einen Zusammenhang des Zahlencodes mit dem System-Code gibt…

  4. Hallo Hermann-Josef,

    wenn ich den Code über ./sendRevBHC 0 0001111101 1 sende kommt immer „Segmentation fault“

    Kannst du mir bitte weiterhelfen?

    • Hallo Tobi und Kenci,

      leider gibt es keine Benachrichtigung, obwohl man ja seine eMail-Adresse angibt… daher die späte Bearbeitung.

      Also, ich kann das mit dem SegFault leider nicht nachvollziehen ;(

      • Hi,

        also, ich werde das nochmal prüfen.. aber der Mailversand scheint grundsätzlich zu funktionieren; ich bekomme ja selbst auch die Benachrichtigungen über neue Kommentare. Ggf. falsche eMail-Adresse hinterlegt?

  5. Hallo,

    ich habe auch so ein Steckdosenset von REV-Ritter (8342-BHC) und habe es nun geschafft diese über einen Raspberry Pi anzusteuern. Dazu musste ich allerdings die Pulslänge verändern (meine Steckdosen reagieren bei Pulslängen von 100-260 µs), dann ging es auch ohne Schrauben und Löten. Hier habe ich das zusammengefasst: http://bob.gatsmas.de/articles/funksteckdosen-mit-raspberry-pi-oder-banana-pi-schalten

    Vielleicht funktioniert das ja bei anderen auch. Die entscheidenden Hinweise habe ich aus diesem Beitrag und den Kommentaren erhalten. Vielen Dank dafür und schöne Grüße,

    Bernhard

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert