Funksteckdosen ansteuern merkwürdige Signale

Hi,

ich versuche gerade verzweifelt irgendwie meine Funksteckdosen mit dem Arduino zu steuern.
Meine Probleme fangen schon bei der Analyse der Signale der Fernbedienung an.

Bei den Steckdosen handelt es sich um die 4-Packung von Aldi Süd (Funksteckdose Easy-Home GT-FSI-10, Fernbedienung Easy-Home GT-3000) - nach allem, was ich vorher gelesen hatte wird in den billigen Funksteckdosen sowieso fast immer einer der kompatiblen Chips verbaut.

Mein erster Ansatz war ReceiveDemo_Simple Sketch von RCSwitch 2.52. Nachdem ich den 0/8 15 433 MHz receiver mit einer passenden Antenne versehen habe sind die empfangenen Daten eigentlich ganz zuverlässig. Was mich aber total überrascht hat ist, dass ich nicht pro Taste auf der FB einen Wert bekomme, sondern dass ich pro Taste 4 Werte haben, die sich regelmäßig abwechseln:

Received 5524020 / 24bit Protocol: 3 Delay: 100
Received 6287796 / 24bit Protocol: 3 Delay: 100
Received 5681780 / 24bit Protocol: 3 Delay: 100
Received 5924164 / 24bit Protocol: 3 Delay: 100

Dieses Ergebnis bekomme ich, wenn ich vier Mal mit Pause dazwischen die Taste zum Anschalten für Kanal B aktiviere.

Wenn ich diese Werte aussende (alleine, zusammen, mit unterschiedlicher Pulslänge) passiert jedoch (so gut wie) nie etwas.

Daraufhin habe ich das Netz ein wenig durchsucht und bin hier im Forum auf den "Analyse-Sketch" (aus dem Tchibo Werrerstations-Thread) gestoßen.

Hier waren die Ergebnisse ähnlich - vier sich mehr oder weniger wiederholende Werte für eine Taste:

Start Bit L: 7120 H: 2904
Data Bits: 24
L: 1112 620 1100 596 1100 612 592 1116 596 1096 592 600 1092 1108 596 1104 1108 596 612 604 1124 636 1124 1124
H: 416 880 392 908 412 904 896 396 904 412 908 912 408 408 900 404 404 900 904 892 404 876 360 384
101010010100110110001011

Start Bit L: 7140 H: 2896
Data Bits: 24
L: 1148 672 1128 628 1120 620 612 1124 604 1124 652 632 1140 1116 632 1104 1100 604 600 600 1112 908 1236 1104
H: 372 860 340 880 376 872 892 400 880 388 876 860 376 372 888 376 408 904 900 904 408 620 232 408
101010010100110110001111

Start Bit L: 7140 H: 2904
Data Bits: 24
L: 1120 660 1136 604 1116 608 616 1132 620 1116 636 624 1124 1644 616 1108 1116 604 592 604 1100 684 1124 1124
H: 384 872 336 896 396 884 900 388 868 384 900 864 380 216 516 404 392 896 908 904 404 444 116 392
101010010100110110001011

Start Bit L: 7120 H: 2896
Data Bits: 23
L: 1108 648 1140 636 1360 764 608 1112 604 1120 636 624 1108 1184 656 1132 1120 600 604 604 1092 608 1104
H: 416 888 336 880 372 632 760 400 892 388 896 856 392 328 872 360 380 896 896 900 408 908 396
10101001010011011000101

Die Funksteckdosen werden bei diesem System übrigens angelernt, sind also flexibel und können sogar auf mehrere Kanäle gleichzeitig programmiert werden. Die Steckdosen brauchen leider Spezialwerkzeug um sie zu öffnen, so dass ich bisher nur die Fernbedienung zerlegen kann. Richtig weitergeholfen hat mir das leider auch nicht, das der Chip in der FB keinerlei Bedruckung aufweist - sozusagen eine echte "Blackbox" mit 2x7 Pins, gespeist von einer 3V Knopfzelle.

Ich hätte insgesamt einen festen Wert pro Taste erwartet, weshalb mich das beobachtete Verhalten sehr verwirrt hat. Oder ist das ein Messfehler weil mehrere Werte hintereinander gesendet werden und meine verwendeten Sketches das Signal nicht klar erfassen konnten?

Hi,

ich glaube das sind die gleichen Teile die man auch bei Obi oder Toom bekommt... also Erlo oder Intertechno dinger...

Ich habe mir am anfang auch nen "Sniffer" gebaut und die Tasten der Fernbedining abgefragt, da kommen aber immer andere Zahlen... Habe durch testen die richtigen rausgesucht und die dann gesendet...

Man kann das aber einfacher lösen, wie ich nach einiger Zeit rausgefunden hab.
Mit der RCSwitch Lib. kannst du einfach Senden in dem du die DIP zahlen eingibst...

Bibliothek: GitHub - sui77/rc-switch: Arduino lib to operate 433/315Mhz devices like power outlet sockets.
Beispiel: TypeA_WithDIPSwitches

mySwitch.switchOn("11001", "01010");
oder
mySwitch.switchOff("11001", "01010");

Hier ist das super erklärt: RC-Switch - Mit dem Arduino Steckdosen Schalten [German/Deutsch] - YouTube

Gruß,
Kris

JOOKER:
Man kann das aber einfacher lösen, wie ich nach einiger Zeit rausgefunden hab.
Mit der RCSwitch Lib. kannst du einfach Senden in dem du die DIP zahlen eingibst...

Hi Kris,
danke für den Hinweis. Nur leider bringt er mir nicht da die Funksteckdosen wie beschrieben angelernt werden und nicht über DIP-Switches programmiert werden.
Programmierung: Wenn man 30 Sekunden nach dem Einstecken eine An-Taste drückt lernt die Steckdose dies und reagiert zukünftig auch darauf. Drückt man die Aus-Taste wird der Kanal wieder "entlernt".

Ich glaube, im FHEM Forum hab ich schon mal was gelesen gehabt, wie man die dinger anlernt, jedoch mit Raspberry. Aber die nutzen die gleiche Lib. somit müsste das auch gehen bei Arduino...
Hier noch ein Link zu den Steckdosen... http://www.fhemwiki.de/wiki/Intertechno_Code_Berechnung
Dort steht auch was zum anlernen... wobei da Alte Steckdosen steht, weiß nicht ob das für dich relevant ist.

Gruß,
Kris

Hi Kris,

danke für den weiteren versuch, aber es gibt sicherlich mehr als ein anlernbares Steckdosensystem.
Schon alleine dass bei meinen Messungen immer 24Bit angezeigt wurden, bei der Webseite die du verlinkt hattest schon die FB-ID 26 bit hat zeigt dass es hier um ähnlich funktionierende, jedoch auf Protokollebene völlig unterschiedlich arbeitende Systeme geht.

Ich hab heute das Teil endlich bekommen

https://de.aliexpress.com/item/VHOME-SMART-HOME-1Button1way-Smart-Remote-Control-Toughened-Glass-Light-433mhz-Remote-Control-BY-Broadlink-home/32746731424.html

Wird auch angelernt in dem ich 5 Sec oder so auf dem Touch mein Finger halte... Läuft auch auf 24bit Code.

Habe das jedoch mit der fernbedinung angelernt, und dann den Code Sniffed.
Muss dazu aber sagen, dass der Code sich nicht verändert wenn ich auch die FB klicke, es ist immer der selbe, nicht wie bei den Steckdosen.
Mein Sniffer zeigt mir auf dem Display 24bit an und der code ändert sich nur von 40 auf 43 (letzten 2 zahlen)

Muss das aber noch testen wie ich das mit Arduino selber anlernen kann...heute kein Kop zu, war froh, dass ich den Schalter irgendwie vernönftig in die Dose fest bekommen hab... :smiley:

Ich habe das gleiche System gekauft und wollte es "hacken". Habe zwei Tage probiert und getestet Lade dir die 2.6.0 runter >HIER< und dann siehst du das es das Protokoll 5 ist und schon läuft es.

Schaue mal hier dort habe ich es umgesetzt Thread
Gruß
DerDani

Hi volvodani,

das hört sich ja sehr vielversprechend an. Hab mir also sofort v2.60 von sui77 geholt und installiert (und die alte Version deinstalliert).

Leider war das nicht der Durchbruch. Die ReceiveDemo ist immer noch der Meinung dass es Protocol 3 ist. Auch die Werte sind nach wie vor die vier zyklisch wechselnden.

Eventuell kann das daran liegen, dass ich eine neuere Version der Aldi-Steckdosen habe.
Die auf den Bildern bei dir zu sehende Steckdose ist zu mindestens viel eckiger. Deine scheinen die vom März diesen Jahres zu sein, richtig?

Meine stammen hingegen vom letzten Angebot im November und sehen so aus:

Setzte mal das Protokoll auf 5 und dann die Ziffern. Bei meinem Decodieren kam ein einziges Mal Protokoll 5 deswegen probiert und funzt.
Gruß
DerDani
Ja meine waren Aldi Nord irgendwann Anfang\Mitte des Jahres

volvodani:
Setzte mal das Protokoll auf 5 und dann die Ziffern. Bei meinem Decodieren kam ein einziges Mal Protokoll 5 deswegen probiert und funzt.

Eine schöne Idee, leider tut sich bei mir da gar nichts.

Ich hatte ähnliche Probleme. Aldi Süd Funkdosen von Easy Home. (gekauft Novenmber 2016)

Mach dir mal ne Schleife und lass die Protokollnummer einserweise hochlaufen. Bei mir war die 4 richtig. Obwohl beim Auslesen die 3 angezeigt wurde.

Hi wadenbeiser,

danke für die Hinweise. Mit Protokoll 4 und 10 Wiederholungen klappt es jetzt endlich zuverlässig.
Dann ist es auch egal welchen der vier Werte man nimmt.

Das einzige, was ich noch nicht so ganz verstehe ist, wieso folgender Code-Teil funktioniert:

#define ON 5524020
...
mySwitch.send(ON, 24);

Nicht jedoch

const int ON = 5524020;
...
mySwitch.send(ON, 24);

int ist zu klein für den Wert 5524020

nimm uint32_t bzw. unsigned long, da ja der Wert wohl immer positiv ist

Hallo zusammen,

ich habe ein ähnliches Vorhaben wie roboino und Probleme, es ans Laufen zu kriegen.

Ich habe folgende Geräte

  • Aldi Süd Funkdosen von Easy Home (gekauft Ende 2016) bestehend aus Easy-Home GT-FSI-10 und Fernbedienung Easy-Home GT-3000
  • 433 MHz Sender/Empfänger von Amazon

Wenn ich mit dem RFSniffer mit meinem Receiver lausche und mit dem Sender per send etwas schicke, wird dies wie erwartet angezeigt. Wenn ich stattdessen auf der Funkfernbedienung Knöpfe drücke, passiert nichts. Ich habe auch schon einen 17,4cm langen Draht als Antenne angelötet, aber der Receiver scheint die Fernbedienung nicht wahrzunehmen.

Könnt ihr mir weiterhelfen?

Liebe Grüße
Florian

flolabu:
Wenn ich mit dem RFSniffer mit meinem Receiver lausche und mit dem Sender per send etwas schicke, wird dies wie erwartet angezeigt. Wenn ich stattdessen auf der Funkfernbedienung Knöpfe drücke, passiert nichts. Ich habe auch schon einen 17,4cm langen Draht als Antenne angelötet, aber der Receiver scheint die Fernbedienung nicht wahrzunehmen.

Was für einen RFSniffer ?
Mit welchem Receiver ?

Hast du die hier beschriebenen Vorschläge durchgearbeitet ?

Was für einen Sketch verwendest du ?

RFSniffer ist in 433Utils enthalten (GitHub - ninjablocks/433Utils: 433Kit is a collection of code and documentation designed to assist you in the connection and usage of RF 433MHz transmit and receive modules to/with your Arduino and Rapberry Pi.), ähnlich wie das RF_Sniffer Sketch von rc-switch.

Hier die Spezifikationen des Empfängers:

Model: MX-05V
Versorgungsspannung: DC 3,5 V bis 12 V
Ruhestrom: 4 mA
Frequenz: 433 MHz
Arbeitsweise: OOK/ASK
Empfindlichkeit: -105 dBm

Die Vorschläge habe ich erfolgslos durchgearbeitet. Allerdings konnte ich ja anders als roboino nicht einmal ein Signal der Fernbedienung empfangen, weshalb ich gar nicht weiß, ob die Codes, die man senden muss, die gleichen sind.

Kannst du ausschließen, dass keine weiteren Funksteckdosen im Umkreis von ca. 2 m in Betrieb sind ?
Diese Mistdinger stören sich gegenseitig.

Da du einen billigen "Schrottempfänger" verwendest, macht es die Sache nicht einfacher. (Sorry)

Es kann auch möglich sein, dass der von den Steckdosen verwendete Code nicht kompatibel zu der von dir verwendeten Library ist.

Teste mal die RCSwitch oder nehme andere Funksteckdosen.

Ich kann andere Funksteckdosen ausschließen. Ich habe das Signal der Fernbedienung inzwischen über die Soundkarte ausgelesen und ich kann erkennen, dass es exakt zu Protokoll 4 passt.

Dann habe ich testweise einen Code zwischen meinem Sender und Receiver über Protokoll 4 verschickt und da kam nichts an. Auch Protokoll 3 will nicht, bei 1, 2 und 5 hingegen geht es.

Woran kann es liegen, dass über das Protokoll 4 nichts empfangen wird?