HomeMatic Devices pairen: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Aussage verdeutlicht ("gelöst" klingt nach "Problemlösung" o.ä.), echten Link auf Page 1%_Regel)
K (Typos/Spelling)
Zeile 2: Zeile 2:




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 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.
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 mal muss man einen [[HomeMatic_Installieren|CUL/CUN/Homematic IO installieren]].  
Zunächst muss man einen [[HomeMatic_Installieren|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 [[AES_Encryption#I.2FO-Device_←→_Gerät|I/O-Device ←→ Gerät]] beachtet werden. '''Die dort beschriebene Installation sollte generell vorgenommen werden!'''
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 [[AES_Encryption#I.2FO-Device_←→_Gerät|I/O-Device ←→ Gerät]] beachtet werden. '''Die dort beschriebene Installation sollte generell vorgenommen werden!'''


Danach geht es hier weiter:
Danach geht es hier weiter:
Zeile 17: Zeile 17:
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!
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 dringen zu empfehlen, die HMID vor dem Pairing der HM-Geräte mit:  
Es ist daher dringend zu empfehlen, die HMID vor dem Pairing der HM-Geräte mit:  


   attr <CUL> hmId <6-stellige Hexadresse>
   attr <CUL> hmId <6-stellige Hexadresse>
Zeile 25: Zeile 25:
Gepairt wird nur das Device. Die Channels sind dem Device untergeordnet und somit implizit auch gepairt.  
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 <u>[[Homematic_Peering_Beispiele|peeren]]</u>
'''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 <u>[[Homematic_Peering_Beispiele|peeren]]</u>


= IO-Device in den Pairing-Modus versetzen =
= IO-Device in den Pairing-Modus versetzen =
Zeile 51: Zeile 51:
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 [[HM-CC-RT-DN Funk-Heizkörperthermostat|Heizkörperthermostat]] z.B. muss die Boost-Taste (Mitte) für mindestens 3 Sekunden gedrückt gehalten werden.
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 [[HM-CC-RT-DN Funk-Heizkörperthermostat|Heizkörperthermostat]] z.B. muss die Boost-Taste (Mitte) für mindestens 3 Sekunden gedrückt gehalten werden.
   
   
{{Randnotiz|RNText=Hinweis: Das genaue Vorgehen ist vom Gerätetyp abhängig -> unbedingt das Handbuch genau lesen: Stichwort "anlernen".}}
{{Randnotiz|RNText=Hinweis: 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.
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).  
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 übertragende Daten gesendet. Dabei blinkt die LED auch unregelmäßig.
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:
In FHEM werden nun:
* alle fehlenden Devices und Channels angelegt
* alle fehlenden Devices und Channels angelegt
Zeile 75: Zeile 75:
   set <HM-Gerät> getConfig  
   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:
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 probieren, ein getConfig auszulösen - vielleicht hat das Lesen nicht funktioniert
* noch einmal pairen - das schadet nichts
* 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.
* 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:
Alternativ kann man auch mit HMInfo einen Config check durchführen:


   define hm HMInfo
   define hm HMInfo
Zeile 97: Zeile 97:
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.
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.
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.
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 unfangreichen Konfiguration eines Gerätes bereits nach wenigen Versuchen das Limit der [[1%25_Regel]] erreichen. Sollte also scheinbar keine Kommunikation stattfinden können, ist auch zu prüfen, ob der Zentralensender sich deswegen temporär deaktiviert hat.
Außerdem kann die Funklast beim Auslesen einer umfangreichen Konfiguration eines Gerätes bereits nach wenigen Versuchen das Limit der [[1%25_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 ([https://forum.fhem.de/index.php/topic,24436.0.html TimeStamp Firmware]) verwenden.
Wer einen CUL für HomeMatic verwendet, sollte eine speziell für den Betrieb mit HomeMatic optimierte CUL-firmware ([https://forum.fhem.de/index.php/topic,24436.0.html TimeStamp Firmware]) verwenden.
Zeile 109: Zeile 109:
   set <Name HM-Gerät> pair
   set <Name HM-Gerät> pair


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


= Pairing lösen =
= Pairing lösen =
Zeile 119: Zeile 119:


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.
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 folgenden Befehl aufheben.
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
   set <Name HM-Gerät>_WindowRec peerBulk <peerID> unset

Version vom 5. Januar 2018, 00:04 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.

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> hmId <6-stellige Hexadresse>

zu individualisieren.

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

IO-Device in den Pairing-Modus versetzen

  • CUL/CUN/HMLAN Konfigurator in den "Akzeptiere-Pairing-Requests-Modus" bringen:
 set <CUL> 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 <CUL> 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