Update: 11.02.2018 Bitte beachtet auch folgenden Blogbeitrag über die Sonoff 433 MHz Bridge, eine einfache Möglichkeit Steckdosen zu schalten.
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.
Hallo,
Das ist ein schöner Beitrag !
Werde ich aufjedenfall weiter empfehlen.
Mit freundlichen Grüßen
Steckdosen
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
Pingback: Fhem: Baumarkt-Funksteckdosen 433 MHz anschließen | Robins Blog – Technik und Multimedia
Moin moin,
die PIR Signale kommen am FHEM an, Die Steckdosen wollte ich aber zuerst durch eine einfache FHEM-Schalfläche ein- und auschalten. Das klappt leider nicht. Den direkten Anschluss von FunkFB an Pi wollte ich vermeiden.
Im FHEM-Wiki steht dass das Modul 14_FHEMduino_PT2262.pm für die ERLO/Brennstuhl zu verwenden ist.
Nach dem das Modul kopiert wurde und die fhem.cfg angepasst war, ist beim Speichern eine Fehlermeldung aufgetaucht dass das Modul Arduino_PT2262 nicht bekannt ist.
Eintrag fhem.cfg
define IT_ST_1 Arduino_PT2262 0F00F0FFFF FF F0
eine Idee vielleicht woran es liegen könnte? muss ich vielleicht den sketch doch noch anpassen?
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
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
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?!
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!
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!
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
Pingback: Blog J.Schweiss | Intertechno
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
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?
schön, aber unbrauchbar für deinen Zweck
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
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
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
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!
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
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
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
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
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
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
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
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
Hallo,
Ich finde ein sehr guter blog und sehr informativ.
Nur das mit dem Löten hab ich nicht so ganz verstanden.
MfG
Steckdosen
Hallo,
interessanter Blog. Weiter so.
Gruß
Thomas