Baumarkt-Steckdosen schalten mit dem Arduino

Update: 11.02.2018 Bitte beachtet auch folgenden Blogbeitrag über die Sonoff 433 MHz Bridge, eine einfache Möglichkeit Steckdosen zu schalten.

Funksteckdosen Fernbedienung - hier ohne DIP-Schalter

Funksteckdosen Fernbedienung – hier ohne DIP-Schalter

Mein Arduino liegt schon gefühlte 100 Jahre bei mir in der Ecke und ich wußte bis dato nicht, was ich damit anfangen konnte. Ich hatte ihn mir mal gekauft, weil ich mich ein wenig mit Sketch und Microcontroller beschäftigen wollte. Ein nettes Thema, bei dem man auch viel Zeit braucht, die ich derzeitig nicht habe.
Jetzt ist mir neulich eine Fernbedienung von einer Baumarkt-Steckdose kaputt gegangen. Meistens brechen die Plastik-Tasten ab. Nun hat man 3 funktionsfähige Steckdosen aber keine Fernbedienung. Da fielen mir einige Sites auf (1), (2), welche Steckdosen mit Arduino schalten.
Gesagt getan: Das Anlöten der 3 Leitungen (Dout, 5V und Masse) gestaltete sich einfach. Nun gab es ein Problem: Die Beschreibungen im Internet beziehen sich auf die InterTechno-Steckdosen (amazon.de Link: Intertechno Funksteckdosen 3 fach Set IT-1500
)oder Elro AB440S/3C Funksteckdosen Set: 3 x Funksteckdose und 1 x Fernbedienung
mit 10-DIP-Schaltern.
Meine „defekte“-Fernbedienung hat gar keine DIP-Schalter, jedoch den SC2202-Chip oder kompatible eingebaut.

[asa]B007VWETZC[/asa]

Wie bekommt man den Haus-Code und die Codes der einzelnen Steckdosen heraus?
Die Lösung war innerhalb einer Nacht gefunden: In der RCSwitch-Library befindet sich auch ein Programm RC-Receive. Dieses Programm habe ich auf meinem Arduino gebeamt. Nun habe nacheinander auf die 3 Fernbedienungstasten geklickt, nachdem ich zuvor  den Seriellen Monitor (STRG-Umschalt-M) eingeschaltet habe.
Das Ergebnis im Seriellen Monitor hat mich verblüfft und es zeigte die Lösung:


2taste
Decimal: 20788 (24Bit) Binary: 000000000101000100110100 Tri-State: 0000FF0F01F0 PulseLength: 313
microseconds Protocol: 1
Raw data:
5212,312,944,312,940,316,940,312,944,312,940,316,940,312,940,316,940,316,940,940,312,316,940,940,316,312,
940,316,940,312,944,940,312,312,944,312,940,940,316,940,312,316,940,940,312,316,940,312,944,

Die Codes der einzelnen Schalter standen in der Ausgabe des seriellen Monitors. Also kein Geraffel mit dem Zusammenschustern der Haus- und Steckdosen-Code. Die Lösung steht dort schon da. Nun mußte man einfach nur noch das Send-Programm anpassen:


/* Same switch as above, but tri-state code, schalter 1 */
mySwitch.sendTriState("0000FF0F10F0");
delay(1000);
mySwitch.sendTriState("0000FF0F10F0");
delay(1000);

und wieder zum Arduino-Board hochladen. Mit diesem (Teil-) Skript schaltet sich die Steckdose 1 bei mir ein und aus. Wenn ihr das selber nachvollziehen wollt: Die Codes sind natürlich bei Eurer Fernbedienung anders.

Mit diesem Lösungsansatz kann man natürlich schöne Dinge machen, beispielsweise ein Webinterface zum Schalten der einzelnen Steckdosen, oder zeitgesteuert Funksteckdosen schalten.

Ihr könnt die Sender und Empfänger auch bei einzeln eBay kaufen: 433 MHz Sender und Empfängermodule bei eBay

Als Empfänger kann ich diesen empfehlen: Siehe Blog-Beitrag über Pir
Diese sind zwar teurer, haben aber einen besseren Empfang.

Fazit: Ihr könnte also mit Billig-Baumarkt-Steckdosen mit den Chips SC5262, HX2262 oder PT2262 einfach über den Arduino die Steckdosen schalten.

Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

28 Antworten zu Baumarkt-Steckdosen schalten mit dem Arduino

  1. Steckdosen sagt:

    Hallo,
    Das ist ein schöner Beitrag !
    Werde ich aufjedenfall weiter empfehlen.

    Mit freundlichen Grüßen
    Steckdosen

  2. Malte sagt:

    Hallo,
    vielen Dank für deinen Beitrag.
    Könntest du ein Paar Beispiele posten von Code(auf der Rückseite) zum Binärcode?

    Viele Grüße
    Malte

  3. Pingback: Fhem: Baumarkt-Funksteckdosen 433 MHz anschließen | Robins Blog – Technik und Multimedia

  4. Robin sagt:

    Hallo Octavius,
    Kommen denn die Signale vom PIR und von der Fernbedienung = Steckdose an?
    Ich habe in meiner Live-Umgebung einen 433 MHz Empfänger mit Arduino und den Sender an einem Raspi (historisch gewachsen).
    LG
    /robin

  5. Octavius_8 sagt:

    Hallo Robin,
    vielleicht kannst du mir bei meinem Problem weiter helfen.

    meine Hardware:
    – Fhemduino (bei dir bestellt)
    – Funksteckdosen Brennstuhl RCS1000N (mit DIP und dem HX2262 Chipsatz, baugleich mit Intertechno Funksteckdosen)
    – PIR und Türfensterkontakte 433 MHz

    leider bekomme ich die Funksteckdosen nicht über das FHEM angesteuert, dabei soll jedoch die PIR-Funktion erhalten bleiben.
    Der Haus/Geräte Code wurde auf die Produktreihe Intertechno umgerechnet und die DIPs an der Steckdose dem CODE angepasst.
    Im FHEM habe ich folgendes stehen:

    # Schlafzimmerlicht, Code A-1
    define BAT_SL_LICHT IT 000000000F FF F0
    attr BAT_SL_LICHT IODev arduino
    attr BAT_SL_LICHT alias Schlafzimmer
    attr BAT_SL_LICHT icon icoBELEUCHTUNG
    attr BAT_SL_LICHT model itswitch
    attr BAT_SL_LICHT room Schlafzimmer

    und hier das arduino sketch dass für alle Signale offen ist:

    #include
    RCSwitch mySwitch = RCSwitch();
    void setup() {
    Serial.begin(57600);
    mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
    }
    void loop() {
    if (mySwitch.available()) {
    unsigned long value = mySwitch.getReceivedValue();

    if (value == 0) {
    Serial.print(„Unknown encoding“);
    } else {
    Serial.println(„OK 5 “ + String(value) + “ 1″);
    }
    }
    mySwitch.resetAvailable();
    }

    Vielen Dank im Voraus für deine Hilfe
    und diesen geilen Blog!

    mFG
    Octavius

  6. Ralf sagt:

    Hi,

    habe versucht mit den o.g. Programmen einen Intertechno ITW-852 auszulesen mit LX-Robotics Funkshield auf Arduino-Uno.
    Im Monitor ist nichts zu sehen?!

  7. Ralf sagt:

    Hallo zusammen,

    Da Robin im Moment keine Zeit dafür hat, suche ich einen „Profi“, der mir bei dem Wintergarten-Projekt helfen kann.
    Mail an rs@rs-group.de

    DANKE!

  8. Maria sagt:

    Großes Dankeschön für die Anleitung – nach langer Recherche im Netz habe ich jetzt damit endlich die Lösung für mein Problem gefunden. So kompliziert war es also doch nicht. Nur jemand erklären wie du hätte es schon mal jemand müssen!

  9. Ralf sagt:

    Hallo Robin,

    ich habe ein Problem und hoffe, dass Du mir helfen kannst:

    In einem Wintergarten mit elektrischer Dachluke soll eine Automatik nachgerüstet werden, die die Luke oberhalb einer bestimmten Innentemperatur (z.B. 28 Grad Celsius) öffnet und unterhalb einer anderen Temperatur (z.B. 20 Grad Celsius) wieder schließt.
    Bei Regen soll die Luke geschlossen werden, bzw. erst gar nicht geöffnet werden.
    Das Ganze soll weiterhin auch manuell bedienbar sein.

    Da keine Kabel durch den Wintergarten oder von innen nach außen verlegt werden sollen versuche ich folgende Konstellation zu installieren:

    Im Durchgang zum Wohnhaus (Pos.1) soll der vorhandene Schalter ersetzt werden durch den „Funk-Jalousienschalter“ ITL-500 von Intertechno.
    Manuelle Bedienung durch „Funk-Serien Wandsender“ ITW-852 von Intertechno.

    Im Wintergarten soll die Temperatur in ca. 2m Höhe gemessen werden. Dafür habe ich einen Arduino-Uno mit LX-Robotics Funkshield und LX-Robotics Childboard Temperatursensor.
    Diese Kombi soll den Funkschalter bedienen.

    Außen oberhalb vom Wintergarten soll ein zweiter Arduino-Uno mit LX-Robotics Funkshield die Werte von einem Regensensor aus dem AVC-Shop nach innen funken.

    Kannst Du mir die Arduinos programmieren

  10. Pingback: Blog J.Schweiss | Intertechno

  11. Robin sagt:

    Jedes Ding für seinen Zweck,
    mit dem Jeelink = Ding kannst du bsp. Temperaturen messen, siehe hier oder mit einem anderen Sketch auch Steckdosen vom Typ PCA 301 schalten, siehe hier.
    Einfach mal meinen Blog lesen. Ggf ist das auch eine gute Einstiegsseite:

    LG
    /robin

  12. Luis sagt:

    face->palm

    okay… ehm kannst du mir für einen unbedarften erklären wieso das ding nicht geht, und was man damit effektiv machen kann?

  13. Robin sagt:

    schön, aber unbrauchbar für deinen Zweck

  14. Robin sagt:

    Hallo Luis,

    du verwechselt was.
    Jeelink: 868 RFM-Modul mit einem Arduino nano, für deine Zwecke NICHT geeignet.
    433 Modul -> hier bei mir mit einem 433 MHz-Empfänger und einem Arduino Nano.
    Fhemduino bin ich gerade am Testen: -> 433 Modul mit SENDER UND Empfänger und einem Arduino Nano.
    Einen Fhemduino benötigst du, kann ich dir basteln. Bitte per mail für mehr infos.

    LG
    /robin

  15. Luis sagt:

    Hallo Robin!

    Ach seh ich das richtig dass der jeelink mit 433mhz modul nur ein reiner empfänger ist, aber nicht senden kann?

    grüsse

    luis

  16. Robin sagt:

    Hallo Luis,

    mit dem Jeelink kannst meiner Meinung nach nichts anfangen, was Du brauchst, ist sowas
    http://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/ mit Sendemöglichkeit auf 433 MHz (= Baumarktsteckdosen).
    Ein Sende und Empfangsmodul heisst Fhemduino. Bald schreibe ich darüber.

    LG
    /robin

  17. Luis sagt:

    Hallo!

    Das ist ein toller Blog und ein interessanter Beitrag. Ich hab einen Jeelink mir gekauft. Kannst du einen Hinweis geben mit welcher Sketchdatei du die Baumarktsteckdosen ansteuerst?

    Danke schön!

  18. Robin sagt:

    Hallo Kai,
    die Dinger habe ich auch noch hier rumliegen, selbst mit meinem 433 MHz-Empfänger (-> siehe Blogbeitrag: http://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/) werden die nicht erkannt. Ich habe für ein paar Euro 3 neue Steckdosen gekauft.

    LG
    /robin

  19. Kai sagt:

    Hallo Robin,

    ich habe ein Problem, und auf der Suche nach einer Lösung bin ich immer wieder über Deinen Blog gestoßen, der nicht nur sehr aufschlussreich, sondern auch noch sehr sauber und ordentlich sowie verständlich rüber kommt:

    Ich habe YK-1 Funksteckdosen. Aber keine Fernbedienung. Senden kann ich die Codes mit einem RFXTRX433 oder CUL433. Anhand von Deinem TriStateCode konnte ich leider keine DIP Stellung der Steckdosen herausfinden. Kannst du mir eine DIP Stellung der 6DIP Schalter der Steckdose und einen Code verraten, damit ich meine Dinger einsetzen kann?

    Vielen herzlichen Dank

  20. Robin sagt:

    Hallo Sven,
    steht auf der Homepage: http://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/
    Du muss den Sketch unten noch mit :

    if (mySwitch.available()) { //If a message is sended with RF Code
    unsigned long value = mySwitch.getReceivedValue(); // Copy the value
    Serial.println(value); // DIESE ZEILE EINFÜGEN !!!!

    if (value == Pir1)
    anpassen.

    Wie gesagt, du benötigst auch den Empfänger 433 MHz (nimm den, den ich hier auf der Website habe, sonst ist das nächste Problem gleich vorprogrammiert bzgl. Reichweite) und den Nano.

    LG
    /robin

  21. Sven sagt:

    Hi,
    vielen Dank für die schnelle Antwort.
    Ja wiring pi und co sagt mir was. Soweit habe ich das ganze auch installiert. Den Sender xd-fst habe ich bereits in betrieb und konnte einen send Befehl über rcswitch senden, nur leider ohne Erfolg.
    Über den Standby-verbrauch habe ich noch gar nicht nachgedacht, werde ich mal prüfen 🙂
    Es sind REV Steckdosen wo man nichts einstellen kann und und Freetec mit einem Drehrad für den Devicecode.
    Bei so etwas packt mich immer der Ehrgeiz auch wenn man mit 17€ wahrscheinlich schneller wegkommt ist es doch schön zu wissen wie man diese Herausforderung meistert. Kannst Du mir den Sketch geben?
    Empfänger haben ich noch hier liegen nur einen Arduino habe ich noch nicht.

    VG
    Sven

  22. Robin sagt:

    Hallo Sven,

    erst einmal vielen Dank für die virtuellen Blumen.
    Du schreibst was von „älteren“ Steckdosen. In diesem Dilemma habe ich auch gesteckt, mal „eben“ den Hausecode herausbekommen und weitermachen.
    Es gibt da mehrere Möglichkeiten: Entweder du kannst etwas löten, hast etwas Ahnung von Elektrotechnik, dann holst du dir einen 433 MHz-Empfänger mit einem Arduino-Nano (siehe Link). Mit einem speziellen Sketch (Programm), den ich dir geben kann, kannst du den Code der Steckdosen (bzw. der Fernbedienung) herausbekommen.
    Aber Achtung: Ich konnte damals meine 15 Jahre alten Steckdosen nicht verwenden, weil diese ein anderes Protokoll hatten. Ebenfalls war der Ruheverbrauch (Strom) bei 2 W einfach zu hoch. Plan B war für mich aus dem Baumarkt Steckdosen (meistens der ELRO oder Intertechnotyp für 4 Stück 13,99 ) neue zu kaufen.
    Damit fahre ich ganz gut und diese kann man auch Jumpern (House- und Unitcode), Verbauch im Ruhebereich bei 0,7 W, geht ok.
    Wie auch immer Du dich entscheidest, benötigst du diesen Empfänger für das Herausbekommen der Codes, oder du probierst alle Möglichkeiten durch.
    Wenn du dann auf dem Arduino-Serial-Monitor dann diesen Code siehst, wenn die die FB drückst, beginnt Phase 2. Du benötigst einen Sender 433 MHz. Bei meinen Komplettbausatz dabei. Dieser Sender wird mit dem Raspberry Pi verlötet und du kannst den aufgeschiebenen (s.o.) Code dann senden und schwupps schaltet die Steckdose. Leider nicht ganz so einfach, hierzu muss auf dem Pi noch einige Software installiert werden, Stichwort wiringpi, genshellswitch, rcswitchpi. Ich weiß jetzt nicht, ob ich das auch mal beschrieben habe, steht aber auch überall im Internet.
    Um alles selber zusammenzubauen, gibts bei mir eine Bauteilliste: http://blog.moneybag.de/tuer-fenster-kontakt-sensor-auf-433-mhz-basis/

    PS: Du kannst mit dem Empfänger natürlich auch 433 MHz Türkontaktsensoren und PIR (Bewegungsmelder – http://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/) empfangen, nach einer einfachen Änderung des Sketches.

    LG
    /robin

  23. Sven sagt:

    Hi Robin,
    ich habe in Deinem Blog schon viele interessante Anregungen gefunden um mein Projekt weiterzuführen und vor allem besser zu gestalten.
    Wie auch in diesem Thema wo ich denke das es genau das ist was ich brauche.
    Meine Funksteckdosen- Sammlung stammt aus früheren Zeiten und ich bekomme Sie leider aufgrund des fehlenden Hauscodes nicht zum laufen.
    In deinem Beitrag schreibst du was von dem RC-Receive auf einem Arduino.
    Könntest du mir da genauere Details geben, welchen Arduino ich besorgen muss und wo ich das Programm sonst noch her bekomme habe es unter dem Link leider nicht finden können.
    Ich hoffe das Du mir weiterhelfen kannst und weiterhin experimentierfreudig bleibst und uns daran teilhaben lässt.

    Beste Grüße
    Sven

  24. Robin sagt:

    Hallo Kalle,
    du hast Recht, du kannst natürlich auch Deine Steckdosen mit dem Raspberry Pi ein- und ausschalten. Dieser Beitrag mit dem Arduino war einer meiner ersten im Bereich Hausautomation. Ich habe damals mit dem Arduino-Uno angefangen und damit Tests gemacht.
    Noch heute benutze ich den Arduino zum Empfangen von Messdaten für 868 MHz-Temperatur-Sensoren von LaCrosse, siehe hier: http://blog.moneybag.de/lacrosse-temperatursensor-an-arduino-nano-und-rfm12b-als-jeelink-ersatz/ und http://blog.moneybag.de/fhem-guenstige-temperatur-und-luftfeuchte-sensoren-von-lacrosse/
    oder auch Empfangen von 433MHz Alarm-Sensoren von den China-Billig-Pirs und Tür-Fenster-Kontakten: http://blog.moneybag.de/tuer-fenster-kontakt-sensor-auf-433-mhz-basis/ und http://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/
    Alles, was ich wie und womit Empfange und Schalte, habe ich in meinerm Mind-Map verewigt: http://blog.moneybag.de/hausautomation-mit-fhem-uebersicht-einiger-moeglichkeiten-zur-realisierung/
    Also einfach mal durchstöbern. Interessant finde ich derzeitig das Panel (ein billiges China 7-Zoll Tablet) hier: http://blog.moneybag.de/a-sure-7-dual-core-android-4-2-2-tablet-ein-erfahrungsbericht/

    LG
    /robin

  25. Kalle sagt:

    Hallo Robin,

    meine Baumarksteckdosen (AB440S) habe ich mit einem einfachen Transmitter für 433MHz am Raspi mit FHEM angesteuert (Ein/Ausschalten über die FHEM-Oberfläche sowie zeitgesteuertes Ein/Ausschalten). Über den Befehl on-for-timer (den ich gerne nutzen wollte) bin ich darauf gekommen, das dieser Befehl wohl nur mit dem IT Protokoll funktioniert.
    Was ich nicht ganz verstanden habe, wo ist der Unterschied zwischen dem Senden mit einen 433MHz Sender und dem IT Protokoll? Kann ich das IT Protokoll mit dem 433MHz Sender realisieren oder bin ich flexibler wenn ich den Sender an einem Adruino betreibe?
    Übrigens hast Du da einen super Blog erstellt!

    Gruß
    Kalle

  26. Steckdosen sagt:

    Hallo,

    Ich finde ein sehr guter blog und sehr informativ.
    Nur das mit dem Löten hab ich nicht so ganz verstanden.

    MfG
    Steckdosen

  27. Hallo,

    interessanter Blog. Weiter so.

    Gruß
    Thomas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.