Intertechno Code Berechnung

Aus FHEMWiki
Version vom 26. Juli 2017, 18:58 Uhr von Markusbloch (Diskussion | Beiträge) (Anpassung von <source>-Tags nach <syntaxhighlight>)

Intertechno Systemkomponenten sind kostengünstige und weit verbreitete Funkschalter/-dimmer im 433 MHz Bereich, die man in fast jedem Baumarkt unter den Markennamen Intertechno, düwi, KlikAanKlikUit usw. erhalten kann.

Es gibt eine Anzahl weiterer Hersteller/Handelsmarken mit ähnlicher Kodierung oder Einstellmöglichkeiten mit DIP Schaltern, die ebenfalls mit dem Intertechno Code geschaltet werden können. Dazu zählen von Usern bereits erfolgreich getestete Geräte von Elro AB440, FLS-100/m-e, Wetekom/Westfalia und weitere, theoretisch mögliche aber ungetestete Systeme wie Unitec oder Arctech Steckdosen (siehe Börkes-HP)

Voraussetzungen in FHEM

Schalten kann man die Intertechno Funkkomponenten in FHEM über verschiedene Wege. So z.B. über CUL/CUNO, Tellstick, AVR-NET-IO.

Hier beschrieben ist die Ansteuerung über CUL/CUNO, dessen Firmware für Intertechno erweitert wurde (Danke an Olaf Droegehorn). Momentan ist in CUL/CUNO das SENDEN von Intertechno Funk implementiert. Die Firmware muss mindestens den Stand 1.44 haben (Kontrolle der Version in den FHEM Detaildaten zum CUL/CUNO). Die CUL433/CUNO433 haben dabei volle Reichweite, die Versionen CUL868/CUNO868 funktionieren ebenfalls, haben aufgrund der nicht optimalen Antennenlänge und falschen Abstimmung für den Frequenzbereich aber nur eine eingeschränke Reichweite.

Definition

Die Definition des IT Gerätes in FHEM sieht für alte Geräte so aus:

define myITSwitch IT <housecode><group_switch> <on-code> <off-code> [<dimup-code> <dimdown-code>]
attr myITSwitch IODev CUL_x (CUNO_x)
attr myITSwitch model itswitch

Die weitere Anleitung soll die Bildung der Bitfolge für die Zusammensetzung des Schaltcodes erklären. Wichtig zu wissen ist auch, dass es sich um einen 3state code handelt, d.h. jedes Bit kann 0,1 oder F sein!

Die selbst lernenden neue Geräte definiert man in FHEM so:

define <name> IT <26-Bit Adresse> <1-Bit Gruppen Bit> <4-Bit Gerät>

Dabei kann man die 26-Bit Adresse frei wählen, so dass Kollisionen mit Nachbarn sehr unwahrscheinlich werden. Einen GRR-3500 der über einen CUL gesteuert werden soll definiert man z.B. so

define sw_it_outdoor IT 01010101010101010101010101 0 0000
attr myITSwitch IODev CUL_0
attr myITSwitch model itswitch

Danach die CODE-Taste am Funkschalter betätigen (die LED blinkt) und über FHEM den Einschaltcode senden.

Original Intertechno System

Durch Kombination von Hauscode und Geräetecode können maximal 256 Geräte verwendet werden. Dannn würde allerdings alle Hauscodes belegt, was eventuell zu Störungen mit Nachbarinstallationen führen könnte.

Hauscode (die ersten vier Stellen (0-3)

Der Hauscode wird auf dem Drehschalter auf der Rückseite eingestellt und hat die Bezeichnung A-P

Intertechno Schalter
Drehschalter Stelle 0-3
A 0000
B F000
C 0F00
D FF00
E 00F0
F F0F0
G 0FF0
H FFF0
I 000F
J F00F
K 0F0F
L FF0F
M 00FF
N F0FF
O 0FFF
P FFFF

Gruppen-/Gerätecode (Stelle 4-7)

Der zweite Drehschalter ist mit den Zahlen von 1-16 beschriftet. Das ist eine Zusammensetzung von Gruppe und Gerätecode und ergibt die nächsten 4 Stellen. Die dritte Spalte in der Tabelle zeigt die Zuordnung einer Intertechno YCT-100 / ITS-150 Fernbedienung. Diese ist mit Drehschalter auf der Rückseite (A-P), einem Gruppenschalter (1-4) , und je vier ein-/aus-Tasten belegt.

Intertechno Fernbedienung
Drehschalter Stelle 4-7 Fernbedienung Gruppe/Taste
01 0000 1 - 1
02 F000 1 - 2
03 0F00 1 - 3
04 FF00 1 - 4
05 00F0 2 - 1
06 F0F0 2 - 2
07 0FF0 2 - 3
08 FFF0 2 - 4
09 000F 3 - 1
10 F00F 3 - 2
11 0F0F 3 - 3
12 FF0F 3 - 4
13 00FF 4 - 1
14 F0FF 4 - 2
15 0FFF 4 - 3
16 FFFF 4 - 4

Stellen 8-9 (Festwert 0F)

Die Positionen 8-9 sind immer fest auf '''0F'''zu stellen

Stellen 10-11 (Ein/Aus)

Bei den beiden letzten Stellen steht als Codierung für ON = FF und OFF = F0.

Beispiele

Drehschalter/Hauscode auf A

 Schalter 1 -> 000000000F FF F0 (entspricht Fernbedienung Gruppe I und Schalter 1)
 Schalter 2 -> 0000F0000F FF F0 (entspricht Fernbedienung Gruppe I und Schalter 2)
 Schalter 3 -> 00000F000F FF F0 (entspricht Fernbedienung Gruppe I und Schalter 3)
 Schalter 4 -> 0000FF000F FF F0 (entspricht Fernbedienung Gruppe I und Schalter 4)

Drehschalter/Hauscode auf L

 Schalter 11 -> FF0F0F0F0F FF F0 (entspricht Fernbedienung Gruppe III und Schalter 3)
 Schalter 16 -> FF0FFFFF0F FF F0 (entspricht Fernbedienung Gruppe IV und Schalter 4)

komplett für die fhem cfg also z.B. Hauscode A und Gruppe 1 Gerät/Schalter 1 und CUL Bezeichnung CUL1:

 define schalter1 IT 000000000F FF F0
 attr schalter1 IODev CUL1
 attr schalter1 model itswitch

Selbstlernende Intertechno Funksteckdosen (z.B. ITR-1500)

Die selbst lernenden Intertechno Funksteckdosen haben ein neues erweitertes Protokoll bei dem ein 32-Bit Wort gesendet wird. Sie sind aber weiterhin kompatibel zum bisherigen 12-Bit Protokoll. In der culfw wird das alte Protokoll mit "Intertechno V1" und das neue mit "Intertechno V3" bezeichnet.

Mit altem Protokoll anlernen

X mark.svgSchon aus Gründen der Störsicherheit ist davon abzuraten bei neuen selbst lernenden Intertechno Geräten den alten 12-Bit Code zu verwenden. Dieser wird nur unterstützt um rückwärts kompatibel zu sein.

Zum Anlernen der selbst lernenden Funksteckdosen muss ein gültiger(!) ON-Befehl in den ersten fünf Sekunden nach dem Einstecken der Funksteckdose in eine normalen Steckdose gesendet werden. Die Funksteckdosen haben drei Speicherplätze, so dass man beispielsweise ein ITR-1500 Set zuerst mit der Fernbedienung anlernen und anschließend eigene Codes von FHEM senden lassen kann. Damit man einen gültigen Code sendet, sucht man sich einfach eine beliebige Kombination aus der obigen Tabelle aus (z.B. C-1, C-2 und C-3) und ergänzt entsprechend um die immer identischen Stellen 8 und 9 (0F) und den ON- und OFF-Code (FF/F0). Das Senden der Codes von FHEM erfolgt am einfachsten, indem man sich die Steckdosen vorher in der Konfiguration so anlegt, wie man sie haben möchte und anschließend über die Weboberfläche den ON-Befehl gibt.

Mitunter funktioniert das reine Senden des ON Befehls aber nicht, da einige dieser Steckdosen einen längeren ON Befehl benötigen und die Sendedauer bei FHEM/CUL/CUNO nicht beeinflusst werden kann. In diesem Fall nimmt man eine YCT-100 oder ITS-150 Fernbedienung, an der die gewünschte Adresse eingestellt werden kann. Zum Anlernen drückt man nun etwas länger auf den passenden Einschaltknopf, danach kann die Dose von FHEM normal geschaltet werden.

Angelernten Code löschen

Hier gibt es zwei Möglichkeiten.

  1. Man sendet wie beim Anlernen innerhalb der ersten 5 Sekunden einen OFF-Befehl. Die Funksteckdosen quittiert diesen mit zweimaligem einschalten. Anschließend reagiert sie auf diesen Code nicht mehr.
  2. Manche neueren Intertechno Geräte (z.B. GRR-3500) haben eine CODE-Taste. Durch kurzes drücken wird die Funksteckdose für 5 Sekunden in den Betrieb zum Anlernen gesetzt. Hält man diese Taste bis die LED hektisch blinkt, lässt sie dann los und drückt sie noch einmal kurz, so wird der gesammte Speicher für angelernte Codes gelöscht. Die Funksteckdose quittiert das wie üblich durch zweimaliges Einschalten.

Mit neuem Protokoll anlernen

Die neuen Funksteckdosen können laut Werbung "67 Millionen verschiedene Codes", das sind 26-Bits (2^26 = 67108864). Da hat die Werbung tatsächlich mal untertrieben. Tatsächlich arbeitet das neue Protokoll mit einem 32-Bit Wort. Jede neue Fernbedienung (z.B. ITT-1500) bekommt ab Werk einen fest einprogrammierten (und hoffentlich weltweit eindeutigen) ID-Code aus 26 Bits. Daran hängt sie ein 2-Bit Kommando und eine 4-Bit Geräte bzw. Tastenpaar Nummer:

26-Bit ID des steuernden Geräts (Fernbedienung) 2-Bit Kommando 4-Bit Kanal-ID (Tastenpaar)

Das 2-Bit Kommando ist ein ON oder OFF Befehl an ein einzelnes Gerät oder eine Gruppe.

Befehl Bedeutung
0 0 Ein Gerät einschalten
0 1 Ein Gerät ausschalten
1 0 Alle Geräte (dieser Gruppe) einschalten
1 1 Alle Geräte (dieser Gruppe) ausschalten

Die ITT-1500 hat zwar eine ALL OFF-Taste aber keine ALL ON. Ob das Einschalten als Gruppe generell unterstützt wird ist nicht bekannt. Einen gültiger Einschaltbefehl kann man am CUL z.B. mit diesem Kommando senden:

is01010010101011101000000110010011

Im Gegensatz zum alten Protokoll (Intertechno V1) wird das Binärwort hier nicht mit 0 und F sondern 0 und 1 gesendet.

is (Sende Intertechno Kommando) 01010010101011101000000110 (Gerätecode Fernbedienung) 01 (Kommando ON) 0011 (Tastenpaar 4)

Die culfw unterscheidet anhand der Kommandolänge ob es sich um einen alten (12 Zeichen) oder neuen (32 Zeichen) Intertechno Befehl handelt. Genauso unterscheidet das IT-Modul in FHEM die beiden Formate:

define <name> IT <10-bit-housecode> <off-code> <on-code> [<dimup-code>] [<dimdown-code>]

und

define <name> IT <26 bit Address> <1 bit group bit> <4 bit unit>

und setzt das Reading protocol auf V3.

FLS 100

FLS100 - konfiguriert auf IV/3

Beim FLS 100 von m-e.de gibt es nur 4 mögliche Einstellungen: I, II, III und IV. Dies entspricht der Gruppe auf der Fernbedienung.

Drehschalter Stelle 0-3
I 0FFF
II F0FF
III FF0F
IV FFF0

Die nächsten vier Stellen geben die Geräte ID an; diese ist identisch mit der Taste an der Fernbedienung.

Drehschalter Stelle 4-7 Fernbedienung Taste
1 0FFF 1
2 F0FF 2
3 FF0F 3
4 FFF0 4

Beim FLS 100 ist nur die letzte Stelle relevant, mit ON: F oder OFF: 0

REV Telecontrol

REV Telecontrol

Die REV Telecontrol haben einen Dreh-Wahlschalter auf der Rückseite, mit dem sich der Hauscode (A - D) und der Gerätecode (1 - 3) bestimmen lässt.

Die Codierung ist dabei:

Hauscode Stelle 1-4
A 1FFF
B F1FF
C FF1F
D FFF1
Gerätecode Stelle 5-7
1 1FF
2 F1F
3 FF1

Dazu (Stelle 8+9+10) noch drei statische Werte: 0FF.

Der Code für An ist FF, für Aus 00.

Beispiel:

define My_Switch IT 1FFF1FF0FF FF 00 für A1

Erfolgreich getestet mit CULfw V 1.49 CUL868.

Elro AB440

Möglichkeit 1: zu Intertechno-Codes umdippen

Élro AB440 Funkschalter

Günstige ELRO Funkschalter/Dimmer der Serie 440 lassen sich auch problemlos auf Intertechno Codierung "umdippen" und damit voll kompatibel mit allen möglichen A-P / 1-16 Intertechno Schaltcodes von FHEM aus nutzen. Dazu müssen die Dipschalter-Stellungen entsprechend Intertechno umgerechnet und gesetzt werden (1=ON, 0=OFF).

Beispiele:

Intertechno Elro Hauscode
1234
Elro Gerätecode
5ABCDE
A1 1111 111110
A2 1111 011110
A3 1111 101110
A4 1111 001110
A5 1111 110110
A6 1111 010110
A7 1111 100110
A8 1111 000110
A9 1111 111010
A10 1111 011010
A16 1111 000010
C1 1011 111110
C2 1011 011110

Weitere Erklärungen sind z.B. im Tool der Fa. ISN-systems online berechnen lassen.

Einziger Nachteil: Die originale Elro Fernbedienung funktioniert dann nicht mehr uneingeschränkt mit den Funkschaltern (eine Intertechno Fernbedienung funktioniert uneingeschränkt). Wenn man den Hauscode an der Fernbedienung einstellt, kann man durch drücken von z.T. mehreren Tasten gleichzeitig auch Intertechno schalten. Das ist aber nur was für den Notfall oder für Handakrobaten.

15/16 -> D
13/14 -> A+D
11/12 -> B+D
09/10 -> A+B+D
07/08 -> C+D
05/06 -> A+C+D
03/04 -> B+C+D
01/02 -> A+B+C+D

Möglichkeit 2: aus der vorhanden DIP-Schalterstellung den entsprechenden 10-digit InterTechno Code bestimmen

Das ist prinzipiell ganz einfach. Hat man folgende DIP-Schalter-Stellung so muss man von links nach rechts einfach für jeden DIP gleich "ON" eine "0" und für "OFF" ein "F" definieren. Für die dargestellte DIP-Einstellung ergibt sich der damit der darunterstehende InterTechno Code:

ELRO 0100101111.png

0F00F0FFFF

Analog dazu ergeben sich für den gleichen Hauscode (Schalter 1-5) folgende Codes für die Funksteckdosen B bis E, wobei die Dose E mit der Originalfernbedienung nicht adressierbar ist, sich mit FHEM aber wunderbar schalten lässt.

ELRO 0100110111.png

0F00FF0FFF

ELRO 0100111011.png

0F00FFF0FF

ELRO 0100111101.png

0F00FFFF0F

ELRO 0100111110.png

0F00FFFFF0

Dazu noch die Codes für AN = FF und AUS = F0 schaut eine vollständige Definition eines ELRO440 Funkschalters dann bsw. so aus:

 define ELRO_10110_A IT 0F00F0FFFF FF F0
 attr ELRO_10110_A IODev CUL_0
 attr ELRO_10110_A alias Stehlampe
 attr ELRO_10110_A fp_Grundriss 340,50,1,Stehlampe
 attr ELRO_10110_A group Schalter
 attr ELRO_10110_A model itswitch
 attr ELRO_10110_A room Wohnzimmer
b1 Funksteckdose von Toom

b1 / Toom

Das "Funksteckdosen-Set" der Marke b1 aus dem Toom-Baumarkt (3 Funksteckdosen + 1 Fernbedienung mit 4x ein/aus) funktioniert exakt wie ELRO, auch die DIP-Schalter sind genauso belegt.

Wetekom/Westfalia

Westfalia Funksteckdose ZTC-S316A.

Der eingestellte Hauscode ist F00F0FFF0F.

In den Westfalia-Baumärkten gibt es Funksteckdosen mit Westfalia-Branding. Auf der Bedienungsanleitung steht aber Wetekom.

Die Funksteckdosen selbst haben zehn DIP-Switches: 1234FEDCBA, während die Fernbedienung nur sechs hat: ABCDEF. Damit die Fernbedienung mit den Funksteckdosen funktioniert, darf man nur einen der DIP-Switches 1234 pro Funksteckdose auf ON schalten.

Die Schaltung der DIP-Switches ABCDEF4321 entspricht direkt und in dieser Reihenfolge (also andersrum als direkt an der Funksteckdose) dem Hauscode und zwar entspricht ein Switch auf OFF einem F im Hauscode und ein Switch auf ON einer 0 im Hauscode.

Die Steckdosen werden dann mit 01 ein- und mit 10 ausgeschaltet.

Beispiel: define wf_steckdose IT F00F0FFF0F 01 10

Pollin Funksteckdosen

Vom Aussehen sind die Steckdosen von Pollin (z.B. 3fach Set 550666) mit den Westfalia ZTC identisch, aber:

  • die DIP Schalter sind beschriftet von 0 bis 10;
  • der Adresscode entspricht dem invertierten ELRO 440 Code ->also (0=ON, 1=OFF)
  • der Code für "An" ist 0F, für "Aus" F0

Beispiel für Adresse C2:

define IT_C2 IT 0F00F0000F 0F F0

me micro-electric AS 73

micro-electric Funksteckdose AS 73

Die micro-electric Funksteckdosen haben 10 DIP-Schalter: 123456ABCD.

Der Hauscode wird an Sender und Steckdose mit 1-6 eingestellt, der Empfängercode A-D entspricht den Kanälen auf dem Handsender.

DIP-Schalterstellung OFF entspricht F und ON entspricht 0.

Die Steckdosen werden mit F0 ein- und mit 0F ausgeschaltet.

Empfängercodes:

Kanal Position 7-10
A 0FFF
B F0FF
C FFF0 (Achtung: bei C und D sind die Codes vertauscht)
D FF0F

Beispiel:

define Schalter_ME_A IT 0F0F000FFF F0 0F
attr Schalter_ME_A IODev CUL1
attr Schalter_ME_A model itswitch

Conrad / McPower Funkschaltset 3+1

Dieses Funkschaltset wird unter mehreren Namen in verschiedenen Bau- und Heimwerkermärkten sowie bei Conrad (Best Nr. 640475 - 62) vertrieben. Teilweise auch mit unterschiedlichen Schaltleistungen. Die Konfiguration funktioniert genauso wie beim FLS100

CMI / OBI / LUX IP44-Funkschaltset 2+1

Rückansicht der OBI / Lux Funksteckdose

Dieses Set wird u.a. bei OBI verkauft, als Hersteller wird die Emil Lux GmbH angegeben. Typennummer RCS-14G, Artikel Nummer 308555 Die Steckdosen sind IP44 geschützt und damit auch für den Außeneinsatz geeignet. Die Steckdosen verfügen lediglich über einen Kanal-Schalter von 1-4. Diese Kanal-Nummeren korrespondieren mit der folgenden Übersetzung:

Kanal Code (Stelle 1-10)
1 000FF0F0FF
2 000FFF00FF
3 000F0FF0FF
4 0000FFF0FF

Die Steckdosen werden dann mit FF ein- und mit F0 ausgeschaltet.

Beispiel:

define Schalter_OBI_Code_1 IT 000FF0F0FF FF F0
attr Schalter_OBI_Code_1 IODev CUL1
attr Schalter_OBI_Code_1 model itswitch


Noch nicht aufgeführte Geräte

Wer ein Intertechno-ähnliches Gerät besitzt, das in dieser Liste noch nicht aufgeführt ist, muss die Kodierung selbst bestimmen. Dazu gibt es verschiedene Möglichkeiten, die in diesem Abschnitt aufgeführt werden. Die Ergebnisse bitte hier eintragen, um Nachfolgern die Arbeit zu ersparen!

Audio-Eingang zur Messung

Hier wird die Fernbedienung oder der Empfänger mit einer entsprechenden Schaltung an den Mikrofon-Eingang eines Rechners angeschlossen und mit einem Audio-Programm werden die Signalverläufe aufgenommen. Diese Methode wird hier näher erläutert.

Platine analysieren

Platine der Westfalia Funkfernbedienung ZTC-TC von hinten.
Platine der Westfalia Funkfernbedienung ZTC-TC von vorne.

Platine der Fernbedienung oder des Empfängers betrachten und so die Beschaltung des Decoder/Encoder Chips ermitteln. Bei der Wetekom-Fernbedienung wird beispielsweise der Chip LP801b verwendet, der funktional identisch zum PT2262 ist. Im Datenblatt des PT2262 kann man dann die Beschaltung nachsehen. Nun betrachtet man den Verlauf der Leiterbahnen auf der Platine, um die Beschaltung des Chips zu ermitteln. So kann man beispielsweise bei der Wetekom-Fernbedienung sehen, dass die DIP-Switches A bis F auf die Eingänge A0 bis A5 geschaltet sind. Außerdem sieht man, mit welchen Eingängen die einzelnen Taster verbunden sind.

Nun kann man messen, zwischen welchen Chip-Eingängen und Batteriepolen eine Spannung anliegt, bzw. (ohne Batterie) zwischen welchen Chip-Eingängen und Batteriepolen es einen Durchgang gibt, um zu ermitteln, wie die DIP-Switches schalten. Im Fall der Wetekom-Fernbedienung liegt keine Spannung zwischen den Eingängen und den beiden Batteriepolen an, wenn die DIP-Switches auf OFF stehen: Der Eingang liegt also auf F (Float). Wenn die DIP-Switches auf ON stehen, liegt nur eine Spannung zwischen dem Pluspol der Batterie und dem Eingang an, es gibt also einen Durchgang zwischen dem Minuspol und dem Eingang, so dass der Eingang auf V_SS liegt und damit 0 eingestellt ist.

Bei den Eingängen D0 und D1 sieht man, dass der Batterie-Pluspol immer über einen Widerstand mit dem Dateneingang verbunden ist, also normalerweise 1 anliegt. Ist aber ein Ein-Taster gedrückt, wird der Eingang D1 direkt mit dem Minuspol der Batterie verbunden, bei den Aus-Tastern der Eingang D0 (die Verbindung der Aus-Taster ist auf den Bildern nicht besonders gut zu erkennen). Durch diese Verbindung wird der Eingang auf V_SS heruntergezogen und damit ist 0 eingestellt.

Mit CUL im Debug-Modus Rohsignale empfangen und analysieren

  • Wurde im Forum diskutiert.

Ein 433MHz CUL kann mit dem Befehl X67 Intertechno Kommandos mitlesen. Allerdings funktioniert das bei der "üblichen" Firmware nur lückenhaft. Dazu wurde bereits eine spezielle Variante der culfw entwickelt (siehe Forum). Die Ausgaben sind aber dann als doppelt so langes Binärwort im Hex-Format. Man muss quasi jedes zweite Bit streichen, da die einzelnen Bits als steigende bzw. fallende Flanken übertragen werden. Man kann aber damit auch einer neuen ITT-1500 ihre Kommandos und vor allem ihre 26-Bit ID entlocken.

Mit CUL868 433MHz mitlesen

Man kann auch mit der 868MHz Version des CUL Fernbedienungen von Intertechno mitlesen. Dazu die gewünschte Trägerfrequenz 433.92MHz * 2^16 / 26MHz = 1093745 = 0x10B071 als 24-Bit Teiler in die Register FREQ[2-0] schreiben und einen Reset ausführen.

W0F10
W10B0
W1171
B

Danach kann man mit X67 auf der Frequenz mitlesen. Mit e kann der EEPROM wieder auf den Default 0x21656A, 868.30MHz gestellt werden.