HomeMatic Devices pairen: Unterschied zwischen den Versionen

Aus FHEMWiki
 
(71 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Im Gegensatz zu FS20 Komponenten müssen HomeMatic Geräte mit FHEM (bzw. dem CUL/CUN/HMLAN Konfigurator) gepairt werden, damit sie angesprochen werden können. Das Pairing funktioniert anders als bei FHT Devices, da die ID der HomeMatic Geräte nicht frei vergeben (am Gerät eingestellt) werden kann, sondern im Gerät fest vergeben ist. Daher empfiehlt es sich, die Geräte per Autocreate anlegen zu lassen, und den "Define"- Befehl nicht manuell in die fhem.cg einzutragen.
HomeMatic Geräte müssen mit dem für das HomeMatic-Protokoll eingesetzten IO-Device ([[HomeMatic|HomeMatic IOs]]) ''[[Pairing (HomeMatic)|gepairt]]'' (deutsch: "gepaart") werden, damit sie von FHEM gesteuert oder ausgelesen werden können.


Zuerst [[HomeMatic_Installieren|CUL/CUN/HMLAN installieren]]. Danach hier weiter:
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, 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 [[HomeMatic Installieren|HomeMatic IO installieren]].


= HMLAN in den pairing Modus versetzen =
Einige Geräte werden mit aktivierter [[AES Encryption]] ausgeliefert (meistens, aber nicht immer mit SEC im Namen). Das Anlernen an originalen HomeMatic IOs 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!'''
* CUL/CUN/HMLAN Konfigurator in den "Akzeptiere-Pairing-Requests-Modus" bringen, dazu per Telnet oder in der Kommandozeile des Webinterfaces (oder in der Weboberfläche das passende set-Kommando beim CUL/CUNO/HMLAN eintragen)


  set HMLAN hmPairForSec 600
Danach geht es hier weiter:


600 bedeutet hier, dass FEHM 600 Sekunden = 10 Minuten im Pairingmodus ist. Solange im hmPair: 1 steht ist der Pairingmodus aktiv.
== Grundlagen ==
Durch das Pairing wird ein HM-Gerät genau einem IO-Device 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.


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


Dazu ist meistens ein Knopf zu drücken, üblicherweise so lange bis die LEDs blinken, meist nach ca. 5 Sekunden (bitte Handbuch beachten, Stichwort "anlernen").
'''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 [[HomeMatic Peering Beispiele|peeren]].
Bei Fernbedienungen muss auch oft ein spezieller Pairingknopf betätigt werden und anschliessend eine Kanaltaste (Handbuch des Gerätes beachten).


Jetzt werden die Devices von autocreate erkannt und alle notwendigen Eintragungen werden in fhem.cfg eingetragen. Diese Einträge haben das Format
== hmId ==
'''Achtung wichtig - Sicherheit!!'''


  define <name> CUL_HM <6-digit-hex-code>"
Zu bemerken ist, dass ein IO-Device eventuell standardmäßig eine ID wie F10000, F11234 oder 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!


= Pairing verifizieren =
Es ist daher dringend zu empfehlen, die HMID vor dem Pairing der HM-Geräte mit:  
Nur weil ein Gerät angelegt wurde heißt '''nicht''' dass es auch gepaired ist. In den Readings eines Devices muss stehen (list <name> oder im Webinterface):


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


Steht dort:
zu individualisieren.


  PairedTo        set_0xABCDEF
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 [[Pairing (HomeMatic)|gepairt]] werden, wird ihnen diese hmId eingetragen. Wechselt man die hmId müssen '''alle''' damit gepairten Geräte neu gepairt werden.


Ist das pairing noch nicht vollständig. Dann kann man getConfig aufrufen. Wenn es danach immer noch dort steht hat das pairing '''nicht''' geklappt.
Die Adresse wird in Grossbuchstaben eingegeben.


== IO-Device in den Pairing-Modus versetzen ==
* IO-Device in den "Akzeptiere-Pairing-Requests-Modus" bringen:


  set <Name des IO-Device> hmPairForSec 600


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


Wenn ein Gerät nicht paired, dann das Gerät in den Auslieferungszustand bringen (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.
Bei aktivem Pairing-Modus gibt das IO-Device folgende ''Internals'' Variable zurück:


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


   hmPairSerial <10-stellige Seriennummer>
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 [[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".}}
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 <code>pairCentral</code> im Device gesetzt.
 
Ein <code>save</code> danach sichert die neu angelernten Geräte in der Konfiguration.
 
Hinweis: Auch mit <code>hmPairForSec</code> 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. Dieses Vorgehen ist u. U. auch nach einem Wechsel des HomeMatic [[Interface|Interfaces]] notwendig.
 
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 <Name des IO-Device> 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.
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.
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.
 
Die Webseite [https://www.christian-luetgens.de/homematic/hintergrund/ablernen/Ablernen.htm#chapter_3 Anlernen, ablernen, entfernen und zurücksetzen von Geräten] scheint allerdings nötige Maßnahmen/Probleme beim Pairen deutlich präziser/detaillierter zu beschreiben.
 
== 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.


= Gezieltes Pairing =
== Pairing lösen ==
Bei bereits bekanntem FHEM Device <name> kann man mit:
Das Pairing kann mit:


   set <name> pair
   set <Name HM-Gerät> unpair


ein gezieltes Pairing veranlassen.
gelöst werden.  


[[Kategorie:HomeMatic Components]]
[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]

Aktuelle Version vom 15. Januar 2022, 11:39 Uhr

HomeMatic Geräte müssen mit dem für das HomeMatic-Protokoll eingesetzten IO-Device (HomeMatic IOs) 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, 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 HomeMatic IO installieren.

Einige Geräte werden mit aktivierter AES Encryption ausgeliefert (meistens, aber nicht immer mit SEC im Namen). Das Anlernen an originalen HomeMatic IOs 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 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 eventuell standardmäßig eine ID wie F10000, F11234 oder 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

  • IO-Device 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. Dieses Vorgehen ist u. U. auch nach einem Wechsel des HomeMatic Interfaces notwendig.

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 <Name des IO-Device> 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.

Die Webseite Anlernen, ablernen, entfernen und zurücksetzen von Geräten scheint allerdings nötige Maßnahmen/Probleme beim Pairen deutlich präziser/detaillierter zu beschreiben.

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.