HomeMatic Devices pairen: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎hmId: Sicherheitswarnung, Übernahme der wichtigen Beschreibung von Page HM-CFG-LAN_LAN_Konfigurations-Adapter an diese korrekt zentrale/übergreifende Stelle hier)
Zeile 39: Zeile 39:
* CUL/CUN/HMLAN Konfigurator in den "Akzeptiere-Pairing-Requests-Modus" bringen:
* CUL/CUN/HMLAN Konfigurator in den "Akzeptiere-Pairing-Requests-Modus" bringen:


   set <CUL> hmPairForSec 600
   set <Name des IO-Device> hmPairForSec 600


600 bedeutet hier, dass das IO-Device 600 Sekunden, also 10 Minuten lang im Pairing-Modus ist.
600 bedeutet hier, dass das IO-Device 600 Sekunden, also 10 Minuten lang im Pairing-Modus ist.
Zeile 49: Zeile 49:
Alternativ kann  
Alternativ kann  


   set <CUL> hmPairSerial <serial>
   set <Name des IO-Device> hmPairSerial <serial>


genutzt werden.
genutzt werden.

Version vom 7. Januar 2018, 23:51 Uhr

HomeMatic Geräte müssen mit dem für das HomeMatic-Protokoll eingesetzten IO-Device (zB CUL, CUN, Homematic IO's) gepairt (deutsch: "gepaart") werden, damit sie von FHEM gesteuert oder ausgelesen werden können.


Die Adresse eines HomeMatic Gerätes ist nicht frei einstellbar, sondern für jedes Gerät fest vorgegeben. Da die HM-Geräte über eine sehr komplexe Kanalstruktur verfügen, empfiehlt es sich daher, die Geräte in FHEM per autocreate Funktion anlegen zu lassen, Eine nachträgliche Umbenennung oder manuelle Bearbeitung der erzeugten Konfigurationsdaten ist problemlos möglich.

Zunächst muss man einen CUL/CUN/Homematic IO installieren.

Einige Geräte werden mit aktivierter AES Encryption ausgeliefert (meistens, aber nicht immer mit SEC im Namen). Das Anlernen an HM IO's funktioniert ohne Probleme, für alle CUL Derivate muss unbedingt der Hinweis im Artikel AES Encryption im Abschnitt I/O-Device ←→ Gerät beachtet werden. Die dort beschriebene Installation sollte generell vorgenommen werden!

Danach geht es hier weiter:

Grundlagen

Durch das Pairing wird ein HM-Gerät genau einem IO-Device (zB CUL) zugeordnet. Wenn ein Gerät mit dem IO-Device gepairt ist, kann es darüber gesteuert werden.

Beim Pairing wird die HMID des IO-Device in das Gerät geschrieben. Das Pairing findet also im Wesentlichen im Gerät statt, nicht in FHEM selbst.

Gepairt wird nur das Device. Die Channels sind dem Device untergeordnet und somit implizit auch gepairt.

Achtung: Ist ein Device gepairt, werden Konfigurationsänderungen über die Zentrale (FHEM) vorgenommen. Man kann u.a. keine Kanäle mehr direkt peeren (verknüpfen). Stattdessen verwendet man Kommandos in FHEM. Siehe peeren

hmId

Achtung wichtig - Sicherheit!!

Zu bemerken ist, dass ein IO-Device (zB CUL) standardmäßig die ID F11034 von FHEM erhält. Da viele HM-Geräte das IO-Device nur anhand der HMIDs erkennen, können alle in Reichweite der HM-Geräte befindlichen IO-Devices mit der in das HM-Gerät geschriebenen HMID das HM-Gerät steuern. Hinzu kommt, dass die autocreate Funktion die in Reichweite befindlichen HM-Geräte findet und automatisch einbindet. Nachbarn, die IO-Devices mit der gleichen HMID betreiben, können also HM-Geräte untereinander sehen und steuern!

Es ist daher dringend zu empfehlen, die HMID vor dem Pairing der HM-Geräte mit:

 attr <CUL|HMLAN1|AndererIODeviceTyp> hmId <6-stellige Hexadresse>

zu individualisieren.

Diese ist ein 3-Byte hexadezimal-Wert, somit eine 6-stellige Zeichenfolge in Großbuchstaben. 000000 und FFFFFF sind ungültig. Wenn HM-Geräte mit der Zentrale gepairt werden, wird ihnen diese hmId eingetragen. Wechselt man die hmId müssen alle damit gepairten Geräte neu gepairt werden.

Die Adresse wird in Grossbuchstaben eingegeben.

IO-Device in den Pairing-Modus versetzen

  • CUL/CUN/HMLAN Konfigurator in den "Akzeptiere-Pairing-Requests-Modus" bringen:
 set <Name des IO-Device> hmPairForSec 600

600 bedeutet hier, dass das IO-Device 600 Sekunden, also 10 Minuten lang im Pairing-Modus ist.

Bei aktivem Pairing-Modus gibt das IO-Device folgende Internals Variable zurück:

 hmPair 1

Alternativ kann

 set <Name des IO-Device> hmPairSerial <serial>

genutzt werden.

Devices pairen

Das Gerät wird in den Anlern- oder auch Konfigurationsmode versetzt. Es sendet hierzu eine entsprechende Nachricht an alle.

Falls das Gerät einen separaten Anlernknopf hat, ist der normalerweise nur ganz kurz zu drücken. Danach beginnt die LED regelmäßig zu blinken. Eine Ausnahme sind Geräte, bei denen eine Taste im regulären Betrieb für andere Zwecke verwendet wird. Bei einem Heizkörperthermostat z.B. muss die Boost-Taste (Mitte) für mindestens 3 Sekunden gedrückt gehalten werden.

Info green.pngHinweis: Das genaue Vorgehen ist vom Gerätetyp abhängig -> unbedingt das Handbuch genau lesen: Stichwort "Anlernen".

Hat das Gerät keinen separaten Anlernknopf, muss in der Regel eine Taste solange gedrückt werden, bis die LED anfängt regelmäßig zu blinken.

Kommt der Anlernvorgang in Gang, wird dies durch ein wechselndes, schnelles Blinken signalisiert. Kommt kein Anlernvorgang zustande, blinkt die LED regelmäßig für einen bestimmten Zeitraum (ca. 20 sec). Ist das Gerät schon angelernt, werden bei batteriebetriebenen Geräten eventuell auch noch nicht übertragene Daten gesendet. Dabei blinkt die LED auch unregelmäßig. In FHEM werden nun:

  • alle fehlenden Devices und Channels angelegt
  • das Register pairCentral im Device gesetzt.

Ein save danach sichert die neu angelernten Geräte in der Konfiguration.

Hinweis: Auch mit hmPairForSec kann jeweils nur ein Gerät angelernt werden. Für mehrere Geräte den Vorgang bitte wiederholen.

Pairing verifizieren

Nur weil ein Gerät angelegt wurde, heißt das nicht, dass es auch gepaired ist. In den Readings eines Devices muss stehen (list <name> oder im Webinterface):

 R_pairCentral  0xABCDEF

ABCDEF steht dabei für die HMID des IO-Device (zB CUL). Wurde für das IO-Device kein attribute mit einer individuellen HMID gesetzt, sollte hier die Standard-ID F11034 stehen. Die führende 0x steht für den Hinweis auf eine HEX-Adresse.

Ist das Pairing noch nicht abgeschlossen, kann man nach kurzer Pause den Befehl:

 set <HM-Gerät> getConfig 

absetzen, um zu prüfen, ob sich der Status zwischenzeitlich geändert hat. Wenn das Reading R_pairCentral nicht auftaucht oder der Wert mit set_ beginnt, hat das Pairing nicht geklappt. Man kann entweder:

  • noch einmal probieren, ein getConfig auszulösen - vielleicht hat das Lesen nicht funktioniert
  • noch einmal pairen - das schadet nichts
  • die Anlerntaste / Configtaste / irgendeine Taste am Gerät (hängt vom konkreten Device ab) wiederholt drücken um die Datenübertragung anzustoßen.

Alternativ kann man auch mit HMInfo einen Config check durchführen:

 define hm HMInfo
 get hm configCheck

Vorgehen bei Problemen

Wenn das Pairing nicht erfolgreich ist, das Gerät sich also nicht steuern lässt, ist es möglich, dass es schon bzw. noch mit einem anderen IO-Device gepairt ist. Dann das Gerät in den Auslieferungszustand bringen (siehe Handbuch, oft Knopf mindestens 5 Sekunden drücken, bis es blinkt, dann loslassen und nochmals 5 Sekunden drücken, bis es schneller blinkt) und danach erneut pairen.

Alternativ kann Auflösung/Reset des Pairings per Befehl in FHEM erfolgen. Siehe dazu unten.

Wenn das zu pairende Geräte ein Empfänger ist, kann mit FHEM per Telnet oder in der Kommandozeile des Webinterfaces folgendes Kommando abgesetzt werden:

 set <CUL> hmPairSerial <10-stellige Seriennummer>

Die 10-stellige Seriennummer ist beim Empfängern idR. auf der Rückseite des Geräte aufgedruckt. Die Seriennummer fängt normalerweise mit Buchstaben an und endet mit Zahlen.

Es gilt auch sicherzustellen, dass das zu pairende Gerät nicht bereits zuvor mit der HomeMatic Config Software gepairt wurde. Ist dies der Fall, so sollte das Pairing in der HomeMatic Config Software gelöscht und das Pairing in FHEM erneut durchgeführt werden.

Beim Pairen ist, wie im normalen Betrieb auch, ein Mindestabstand (etwa 1-2 Meter) zwischen dem Sender der Zentrale (CUL, HMLAN etc.) einzuhalten, da die Funkempfänger sonst mit Übersteuerung reagieren und keine Kommunikation zustande kommt. Außerdem kann die Funklast beim Auslesen einer umfangreichen Konfiguration eines Gerätes bereits nach wenigen Versuchen das Limit der 1%_Regel erreichen. Sollte also scheinbar keine Kommunikation stattfinden können, ist auch zu prüfen, ob der Zentralensender sich deswegen temporär deaktiviert hat.

Wer einen CUL für HomeMatic verwendet, sollte eine speziell für den Betrieb mit HomeMatic optimierte CUL-firmware (TimeStamp Firmware) verwenden.

Gezieltes Pairing

Bei bereits bekanntem HM-Gerät kann man mit:

 set <Name HM-Gerät> pair

das Pairing überschreiben. Es funktioniert aber nur, wenn schon ein IO-Device eingetragen ist.

Pairing lösen

Das Pairing kann mit:

 set <Name HM-Gerät> unpair

gelöst werden. Wichtig ist dabei, dass das IO-Device, das entpairt werden soll, mit der ursprünglich in das HM-Gerät geschriebenen HMID konfiguriert ist.

Sollte man z.B. ein HomeMatic HM-CC-RT-DN Funk-Heizkörperthermostat und ein Fensterkontakt verbunden haben, so steht unter THERMOSTAT_WindowRec im Attribut peerIDs die ID des Fensterkontakts. Bei einem Defekt des Fensterkontakts sollte man wie im HM-CC-RT-DN beschrieben das unset durchführen. Hat man aber das Device Fensterkontakt gelöscht und das Pairing nicht durchgeführt, so kann man die Zuordnung im Heizkörperthermostat dennoch mit folgendem Befehl aufheben.

 set <Name HM-Gerät>_WindowRec peerBulk <peerID> unset