Hallo zusammen,
da ich vermute, dass die Intertechno-Steckdosen im deutschsprachigen Raum verbreiteter sind, hier nochmal (Teaching Intertechno ITR-1500 with Arduino? - Home Automation - Arduino Forum) auf deutsch...
Ich habe mir kürzlich eine ITR-1500 Funksteckdose von Intertechno besorgt, die ich gerne als "Rauchmelder löst aus"-Abschaltung für meinen 3D-Drucker (in einem Gehäuse) nutzen möchte.
Der Teil mit dem Rauchmelder funktioniert, auch eine ältere Steckdose von Intertechno habe ich schon ansteuern können, das Funkmodul (ein Standard 433 MHz-Modul, kein CC1101 oder so) funktioniert also auch.
Allerdings würde ich gerne die ITR-1500 nutzen, da hier mit (lt. Hersteller) 67 Mio. Kombinationen doch eher unwahrscheinlich sein sollte, dass der Nachbar versehentlich den Druck abbricht
Die ITR-1500 habe ich nun versucht mit der RC-Switch-Bibliothek anzulernen (habe keine FB dazu), dazu habe ich mich am FHEM-Tutorial orientiert: Intertechno Code Berechnung – FHEMWiki
Die Dosen haben einen 32-Bit-Code, dieser fängt an mit 26 bit Dosen-spezifischem Code, dann 2 bit für die Aktion (An/Aus/Alle An/Alle Aus) und 4 bit für die Tastengruppe der Fernbedienung.
Wenn man "An" in den ersten 5 s nach dem Anstecken der Dose sendet, so werden der Dosen-spezifische und der Tastengruppen-Code angelernt.
Ich habe das mit folgendem Code (ohne "Drumherum") versucht:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
mySwitch.setProtocol(3, 250);//Use Protocol V3 with 250 microseconds pulselength
mySwitch.enableTransmit(A0); //this was a soldering error, did work before with another socket on the pin
}
void loop() {
mySwitch.send(0b01010010101011101000000110010011, 32);last 6 bits: "01" for on, "0011" for button group 4
}
Leider war das nicht von Erfolg gekrönt, da ich danach (nach dem Ausführen des Codes in den ersten 5s nach Anstecken der Dose) mit dem obigen Code, angepasst auf das An-/Ausschalten der Dose, keine Schaltvorgänge auslösen konnte.
Hintergrund zu Protokoll V3 und 250 µs Pulslänge: die Dosen brauchen das wohl, siehe hier:
https://forum.arduino.cc/index.php?topic=210510.0
Habe es aber auch mit dem Default (Protokoll 1) und ohne Ändern der Pulslänge (mit Protokoll V3) getestet (ebenfalls erfolglos).
Hat hier jemand eine Idee oder kann mir sagen, wie das funktioniert? Muss man das vielleicht besonders oft senden oder so?