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. 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.

Funksteckdosen mit dem 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 float: _|    |____________|            |____

            |<4a>|<---12a---->|<---12a---->|<4a>|
             ____
Syncbit  : _|    |___________ _ _ _ ____________

            |<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 „intertechno.py“ verwendet werden:

sudo ./xx2262.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 („alt“)

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 gibt es ein Skript mit dem direkt die Parameter Hauscode, Gruppe und Kanal angegeben werden können im sich so die manuelle Umcodierung zu sparen:

sudo ./intertechno.py A 1 3 on

Brennenstuhl RCS 1000

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″

Auch für diese Brennenstuhlsteckdose gibt es ein Hilfsskript in dem direkt die DIP Schalter angegeben werden können:

sudo ./rcs1000.py 00110 2 on

RSL366

2015-08-27 10.35.132015-08-27 10.35.212015-08-27 10.36.23

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″

Funksteckdosen mit dem Protokolltyp II

Alle selbstlernenden Intertechno-Funksteckdosen verwenden 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, …)

Selbstlernende Intertechno Steckdosen („Intertechno neu“)

Die Schrittweite beträgt ca. 275 µS. Es gibt ein Beispielskript um Telegramme für diese Steckdosen zu senden:

sudo ./intertechno 11110000111100001111000011 0 0000 on

Hamafunksteckdosen HAMA 00121938

Diese Geräte funktionieren ähnlich wie die „Intertechno neu“ Geräte, allerdings mit einer Schrittweite von 250 µS und die 4 Kanalbits müssen invertiert werden.

Funksteckdosen mit dem Protokoll III (Voltcraft/Silvercrest Sender TR502MSV, Steckdose RC30ADX)

Bald mehr darüber…

Logilight Funksteckdosen (434 MHz)

Zu den Logilight-Funksteckdosen gibt es einen eigenen Artikel in dem deren Protokoll besprochen wird.
Empfang:

sudo ./logilightrx.py
RFM69 found!
INIT COMPLETE
Systemcode 415166 onoff 0 ch 7
Systemcode 415166 onoff 0 ch 7
Systemcode 415166 onoff 0 ch 5
Systemcode 415166 onoff 0 ch 5

Senden:

sudo ./logilighttx.py 415166 1 7 4
RFM69 found!
INIT COMPLETE

Außerdem gibt es einen Conair-Emulator für das RaspyRFM, mit dem mit Hilfe der App Power Switch eine große Anzahl an Steckdosentypen angesteuert werden kann.

Impulse für das RaspyRFM aufbereiten

Um nun diese Impulstelegramme mit einem OOK-fähigen Modul mit FIFO wie dem RFM69CW aussenden zu können, müssen die verschiedenen Pulslängen in einen konstanten Bitstrom übersetzt werden. Dazu wählt man eine geeignete Baudrate, z. B. 32768 bit/s. Daraus ergibt sich eine Bitzeit von rund 30,5 µS. Entsprechend der einzelnen Impulszeiten werden nun je nach Länge ein Paket 1en oder 0en ausgegeben. Als Beispiel werden hier die drei verschiedenen Bits des Protokoll I von oben übersetzt, mit einer Zeitbasis von a = 85 µS:

Bit "0": 340 µS on, 1020 µS off, 340 µS on, 1020 µS off
Binärstream: 11111111111 000000000000000000000000000000000 11111111111 000000000000000000000000000000000

Bit "1": 1020 µS on, 340 µS off, 1020 µS on, 340 µS off
Binärstream: 111111111111111111111111111111111 00000000000 111111111111111111111111111111111 00000000000 

Bit "F": 340 µS on, 1020 µS off, 1020 µS on, 340 µS off
Binärstream: 11111111111 000000000000000000000000000000000 111111111111111111111111111111111 00000000000

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