Funksteckdosen mit dem Raspberry PI steuern

Funksteckdosen mit dem Raspberry PI steuern

Mit dem in einem anderen Artikel vorgestellten RaspyRFM Modul ist es möglich verschiedene Funksteckdosen vom Raspberry PI aus anzusprechen und die Aussendungen der Fernbedienung einzulesen. Es gibt eine Vielzahl unterschiedlicher Funksteckdosen, die mit unterschiedlichen Funkprotokollen arbeiten. Für die verbreitetsten Typen gibt es Pythonskripte, mit denen die Funksteckdosen geschaltet werden können. Eine (unvollständige) Übersicht aller Funksteckdosen die mit dem RaspyRFM und den verfügbaren Skripten gesteuert werden können findet man in diesem Artikel.

Protokolltyp I: HX2262 / PT 2262 & Kompatible auf 434 MHz

Viele Funksteckdosen arbeiten mit dem IC HX2262 oder Kompatiblen. Das IC hat 12 Dateneingänge (A0-A11), wobei jeder Eingang auf Low, High oder offen gelegt werden kann. Eine 0 an einem Eingang erzeugt zwei kurze Impulse, eine 1 zwei lange Impulse und ein offener Eingang einen kurzen Impuls gefolgt von einem Langen.

          ____              ____
Bit 0 : _|    |____________|    |____________ 
         |<4a>|<---12a---->|<4a>|<---12a--->|
          ____________      ____________ 
Bit 1 : _|            |____|            |____ 
         |<---12a---->|<4a>|<---12a---->|<4a>|
          ____              ____________ 
Bit f:  _|    |____________|            |____ 
         |<4a>|<---12a---->|<---12a---->|<4a>|
          ____ 
Sync :  _|    |___________ _ _ _ ____________ 
         |<4a>|<-----------124a------------->|

Ein Frame besteht aus 12 dieser Doppelimpulse („0“, „1“, oder „F“), gefolgt von einem Synchronisationsimpuls. Die Zeitbasis a schwankt von Hersteller zu Hersteller. Um ein Telegram mit diesem Protokoll mit dem RaspyRFM auszusenden kann das mitgelieferte Skript „rcpulse.py“ verwendet werden:

sudo ./rcpulse.py 000000000FFF

Die Eingänge sind je nach Hersteller unterschiedlich beschaltet, etwa mit Hexdrehrädchen, DIP-Schaltern, Tastern oder fest verdrahtet. Manche Hersteller schalten die Eingänge gegen GND, oder gegen Plus. Im folgenden sind einige Modelle mit ihrer Beschaltung aufgelistet:

Intertechno (tristate)

Dieses System arbeitet mit Hauscode A-P, Gruppe 1-4 und Kanal (Taste) 1-4, welche wie folgt in Tristatecode umgewandelt wird:

Bit 1-4 Bit 5-6 Bit 7-8 Bit 9-10 Bit 11-12
Wahlschalter Hauscode A-P
A=“0000″, B=“F000″, P=“FFFF“
Wahlschalter Gruppe 1-4
1=“00″, 2=“F0″, 4=“FF“
Kanal 1-4

1=“00″, 2=“F0″, 4=“FF“

Fest „0F“ On=“FF“, Off=“F0″

Für diese Steckdosen können an das Skript direkt die Parameter Hauscode, Gruppe und Kanal übergeben werden um sich so die manuelle Umcodierung zu sparen:

sudo ./rcpulse.py A 1 1 on

Brennenstuhl RCS 1000

Bei den Steckdosen von Brennenstuhl kann der Code über DIP Schalter eingestellt. Auch für diese Steckdose kann das rcpulse Skript direkt die Parameter für die Brennenstuhlsteckdose aufnehmen, also 5 Bits Systemcode, die Kanalnummer (Taste) und den Zustand:

Bit 1-5 Bit 6-9 Bit 10 Bit 11-12
5 Dipschalter Hauscode
Jeweils „0“ für ON und „F“ für OFF
Kanal 1-4
Jeweils „0“ für gedrückt, „F“ für nicht gedrückt
Fest „F“ On=“0F“, Off=“F0″
sudo ./rcpulse.py 00110 2 on

RSL366

An den Steckdosen RSL366 wird jeweils Hauscode und Kanal (Taste) über ein Drehrädchen eingestellt:

Bit 1-4 Bit 5-8 Bit 9-11 Bit 12
Hauscode „0FFF“, „F0FF“, „FF0F“, oder „FFF0“ Kanal 1-4
Jeweils „0“ für gedrückt, „F“ für nicht gedrückt
Fest „F“ On=“F“, Off=“0″

Auch diese Steckdosen können direkt unter Angabe des Hauscodes und des Kanals gesteuert werden:

sudo ./rcpulse.py 1 2 on

Protokolltyp II: 32 Bit Intertechno selbstlernend, HAMA, u. a.

Neben allen selbstlernenden Intertechno-Funksteckdosen verwenden auch andere Hersteller diesen Protokolltyp. Dabei werden folgende Symbole benutzt:

             ____      ____
Bit 0    : _|    |____|    |____________________

            |<1T>|<1T>|<1T>|<--------5T-------->|

             ____                      ____
Bit 1    : _|    |____________________|    |____

            |<1T>|<--------5T-------->|<1T>|<1T>|

             ____                       
Sync     : _|    |_________ _ _ _ ________

            |<1T>|<----------11T--------->|

             ____
Pause    : _|    |___________ _ _ _ ____________

            |<1T>|<-----------39T-------------->|

Ein Telegram besteht aus einem Syncsymbol, 32 Datenbits und einem Pausesymbol. Ein Telegram wird für eine Aussendung 4x wiederholt. Das Datenfeld ist folgendermaßen aufgebaut:

  • 26 Bits Systemcode
  • 1 Bit Gruppe (0=einzeln, 1=Gruppe)
  • 1 Bit an/aus
  • 4 Bit Kanal (0000 = 0, 0001 = 1, …)

Ein 32-Bit Telegram kann wie folgt ausgesendet werden:

sudo ./rcpulse.py 10111100011101011111111110001110

Die Bedeutung der Bits und die Pulsdauer ist unter den Herstellern leicht unterschiedlich:

Selbstlernende Intertechno Steckdosen („Intertechno neu“)

Die Schrittdauer beträgt ca. 275 µS. Mit dem rcpulse Skript können diese Steckdosen unter Angabe des Systemcodes (26 Bits) und der Kananlnummer (1-16) folgendermaßen angesprochen werden:

sudo ./rcpulse.py 10111100011101011111111110 1 on

Hamafunksteckdosen HAMA 00121938

Diese Geräte funktionieren ähnlich wie die „Intertechno neu“ Geräte, allerdings mit einer Schrittdauer von 250 µS und die 4 Kanalbits müssen invertiert werden, also Kanel 1 = 16, Kanal 2 = 15, usw.. Die Pulsdauer kann dem Skript mit dem Parameter -t übergeben werden:

 ./rcpulse.py 10111100011101011111111110 15 off -t 250

Protokoll III: Voltcraft/Silvercrest Sender TR502MSV, Steckdose RC30ADX

Bald mehr darüber…

Protokoll IV: 24-bit Bistate

Das 24-bit Bistate Protokoll wird u. a. von den Herstellern Logilight, emylo, u. a. verwendet. Die  24 Bits werden mit folgenden Symbole kodiert. Die Pulsdauer schwankt von Modell zu Modell.

          ____             
Bit 0 : _|    |____________
         |<1a>|<---3a---->|
          ____________ 
Bit 1 : _|            |____
         |<----3a---->|<1a>|
          ____ 
Sync :  _|    |___________ _ _ _ ____________ 
         |<1a>|<-----------31a------------->|

Nach einem Block bestehend aus 24 Bit Daten folgt ein Syncpuls. Die 24 Datenbits werden unter den Herstellern unterschiedlich verwendet. Ein Packet dieses Protokolltyps kann wie folgt ausgesendet werden:

sudo ./rcpulse.py 101111000111010111111111

Logilight Funksteckdosen EC0001-EC0004

Die Schrittdauer beträgt hier ca. 300 µs. Die 24 Datenbits sind wie folgt zugeteilt:

  • 20 Bits Systemcode
  • Bit 21 für ein/aus
  • Bits 22-24: 111 = Kanal 1, 011 = Kanal 2, 101 = Kanal 3

Die Logilightsteckdosen brauchen zum Anlernen mehr Wiederholungen in der Aussendung damit der Lerncode zuverlässig erkannt wird. Die Anzahl der Aussendungen kann mit dem Parameter -r eingestellt werden. Ein brauchwarer Wert zum Anlernen scheint 10 zu sein. Kanal 2 mit einem Systemcode anlernen:

sudo ./rcpulse.py 10111100011101011111 2 on -r 10 -t 300

eMylo Schaltmodule

Die Schrittdauer der eMylo Module liegt bei ca. 350 µs.

  • 20 Bits Systemcode
  • 4 Bits Taste, A = 0001, B = 0010, C = 0100, D = 1000

Der Code für die eMylo Module kann mit diesem Kommando ausgesendet werden:

./rcpulse.py 11101100110100111110 A

Steckdosen mit der App PowerSwitch steuern

Die App PowerSwitch kann die kommerziellen Gateways Brennenstuhl Brematic, Connair 433 und Intertechno ITGW-433 über Netzwerk ansteuern. Beim RaspyRFM wird ein Pythonprogramm mitgeliefert welches diese Gateways emuliert und so mit Hilfe der App Funksteckdosen steuern kann.

Fernbedienungen empfangen

Die Signale aller obenstehenden Empfänger können mit dem RaspyRFM auch empfangen werden:

./rcpulse.py
RFM69 found on CS 0
Init complete.
('bistate24', '011001010101101111101111', 301)
('bistate24', '011001010101101111101111', 300)
('bistate24', '111011001101001111100001', 326)
('tristate', '0000f0000fff', 340)
('bistate24', '000000000100000000010101', 340)
('tristate', '0000f0000fff', 344)
('bistate24', '000000000100000000010101', 344)

Die so empfangenen Codes können wieder direkt mit dem selben Skript gesendet werden.

4 Gedanken zu „Funksteckdosen mit dem Raspberry PI steuern“

  1. Hallo Herr Seegel,

    es ist aktuell für mich nicht erkennbar, ob Sie noch aktiv sind und die Module weiterhin bei Ihnen erworben werden können.

    Bitte hierzu eine kurze Nachricht, wie ggfs. Artikel bestellt werden können.

    Danke
    M. Volkens

    • Die Hamasteckdosen werden fast wie die selbstlernenden Intertechnosteckdosen angesprochen, nur dass die Zeitbasis 250 µS beträgt und dass die 4 Bits für die Kanalnummer invertiert üertragen werden.

Schreibe einen Kommentar