HM-CFG-LAN LAN Konfigurations-Adapter: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Bekannte Probleme: Link auf Tipp der Woche zur Verbesserung der Antenne eingearbeitet)
 
(61 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:HM-CFG-LAN.jpg|thumb|right|HomeMatic LAN Konfigurations-Adapter]]
{{Infobox Hardware
== Vorbemerkungen ==
|Bild=HM-CFG-LAN.jpg
Der HomeMatic Konfigurations-Adapter LAN ([http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/hm-cfg-lan.html HM-CFG-LAN]), kurz HMLAN, ist ein Schnittstellengerät (IO) ohne wesentliche Intelligenz. Die Aufgabe ist, ein Interface von der Zentrale zu den Geräten bereitzustellen. Ein HMLAN selbst steuert keine Geräte, es überträgt nur Nachrichten in beide Richtungen.
|Bildbeschreibung=HM-CFG-LAN, Draufsicht und Seitenansicht
|HWProtocol=HomeMatic
|HWType=[[Interface]]
|HWCategory=
|HWComm=868,3 MHz
|HWChannels=n/a
|HWVoltage=7,5 VDC
|HWPowerConsumption=ca. 100 mA
|HWPoweredBy=Steckernetzteil
|HWSize=100x30mm (ø x H)
|HWDeviceFHEM= {{Link2CmdRef|Anker=HMLAN|Label= 00_HMLAN.pm}}
|ModOwner={{Link2FU|251|Martin / martinp876}}
|HWManufacturer=ELV / eQ-3
}}
Der [[HM-CFG-LAN LAN Konfigurations-Adapter]] ([http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/hm-cfg-lan.html HM-CFG-LAN]), kurz HMLAN Konfigurator, ist ein [[Interface|Schnittstellengerät]] (IO) ohne wesentliche Intelligenz. Die Aufgabe ist, ein Interface von der Zentrale zu den Geräten bereitzustellen. Ein HMLAN Konfigurator selbst steuert keine Geräte, er überträgt nur Nachrichten in beide Richtungen.


=== Alternativen ===
== Alternativen ==
Alternativen zu einem HMLAN sind [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUN]], [[CUNO]] und [[CUL]].
Alternativen zu einem HMLAN Konfigurator sind [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUN]], [[CUNO]] und [[CUL]].


==== HMUSB ====
;HMUSB
Ein HMUSB hat nahezu identische Eigenschaften wie ein HMLAN. Der wesentliche Unterschied ist die Anbindung über USB anstatt Ethernet. Es hat sich erwiesen, dass USB eine bessere Latenz hat als LAN - also eine kürzere Verzögerung. Damit hat ein HMUSB leichte Vorteile zu HMLAN, was aber in den bei Weitem meisten Fällen durch die interne Timing Kalkulation abgefangen wird.  
:Ein HMUSB hat nahezu identische Eigenschaften wie ein HMLAN Konfigurator. Der wesentliche Unterschied ist die Anbindung über USB anstatt Ethernet. Es hat sich erwiesen, dass USB eine bessere Latenz hat als LAN - also eine kürzere Verzögerung. Damit hat ein HMUSB leichte Vorteile zu HMLAN Konfigurator, was aber in den bei Weitem meisten Fällen durch die interne Timing Kalkulation abgefangen wird. Zudem können über den HMUSB (ab Version 2) auch Firmware-Updates OTA (over-the-air, also per Funkverbindung) auf entsprechende HM-Geräte (z.B. den HM-CC-RT-DN) durchgeführt werden.
:Dafür bietet der HMLAN Konfigurator mit seinem Netzwerkanschluss Vorteile bei der Platzierung und bei der Ansteuerung (teilweise Timing-Probleme beim Anschluss von USB-Geräten an langsamere Raspberrys und beim Durchschleifen von USB an FHEM in einer virtuellen Maschine).


Dafür bietet der HMLAN mit seinem Netzwerkanschluss Vorteile bei der Platzierung.
; CUL/CUN(O)
* Die Devices liefern keine eigenen Zeitstempel, wodurch eine Timingkorrektur durch FHEM nicht möglich ist. Je nach Systemgeschwindigkeit kann dies zu Problemen, Nachrichtenwiederholung und ggf. auch Nachrichtenverlust führen
* Da USB kurze Reaktionszeiten und geringe Timingschwankungen hat, ist der Einsatz von [[CUL]] und [[CUNO]] mit HM möglich. <br>Die Timingschwankungen der Ethernet-Schnittstelle hingegen können in FHEM nicht ausgeglichen werden. Daher kann der Einsatz der [[CUNO]] über Ethernet '''nicht empfohlen''' werden.
* Der Übertragungsmodus ''lazyConfig'' wird nicht unterstützt


==== CUL/CUN(O) ====
== Funktionen ==
* Die Devices liefern keine eigenen Zeitstempel, wodurch eine Timingkorrektur durch FHEM nicht möglich ist. Je nach Systemgeschwindigkeit kann dies zu Problemen, Nachrichten wiederholen und ggf. auch Nachrichtenverlust führen
=== AES ===
* Da USB kurze Reaktionszeiten und geringe Timingschwankungen hat ist der Einsatz von [[CUL]] und [[CUNO]] mit HM möglich. <br>Die Timingschwankungen der Ethernet-schnittstelle hingegen können in FHEM nicht ausgeglichen werden. Daher kann der Einsatz der [[CUNO]] über Ethernet '''nicht empfohlen''' werden.
* [[AES Encryption]] wird nicht unterstützt
* lazyConfig (ein Übertragungsmode) wird nicht unterstützt
 
=== Funktionen ===
==== AES ====
siehe [[AES Encryption]].
siehe [[AES Encryption]].


==== Übertragungsmodus ====
=== Übertragungsmodus ===
Es werden alle HM-Modi unterstützt. Diese sind Always, Burst, Wakeup und Config. Weiter gibt es lazyConfig und conditionalBurst. Siehe [[HomeMatic]] für Details.
Es werden alle HM-Modi unterstützt. Diese sind Always, Burst, Wakeup und Config. Weiter gibt es lazyConfig und conditionalBurst. Siehe [[HomeMatic]] für Details.


==== KeepAlive ====
=== KeepAlive ===
Das HMLAN baut eine Verbindung zur Zentrale über das LAN Interface auf. HMLAN erwartet alle 30 Sekunden eine keep-alive Nachricht von der Zentrale. Sollte diese ausbleiben, baut HMLAN die LAN-Verbindung ab. Das führt zu einem Disconnect, der in State gemeldet wird. Die Verbindung wird automatisch wieder aufgebaut.  
Der HMLAN Konfigurator baut eine Verbindung zur Zentrale über das LAN Interface auf. Der HMLAN Konfigurator erwartet alle 30 Sekunden eine keep-alive Nachricht von der Zentrale. Sollte diese ausbleiben, baut der HMLAN Konfigurator die LAN-Verbindung ab. Das führt zu einem Disconnect, der in State gemeldet wird. Die Verbindung wird automatisch wieder aufgebaut.  
FHEM sendet den keep-alive alle 25 Sekunden, was einen 5 Sekunden Puffer einräumt. In Internals '''msgKeepAlive''' kann man sehen, wie hoch die maximale Verzögerung der Zentrale beim Senden war und wie viel Puffer (in Sekunden) noch verfügbar war.  
FHEM sendet den keep-alive alle 25 Sekunden, was einen 5 Sekunden Puffer einräumt. In Internals '''msgKeepAlive''' kann man sehen, wie hoch die maximale Verzögerung der Zentrale beim Senden war und wie viel Puffer (in Sekunden) noch verfügbar war.  
Die Wiederholrate von 25 Sekunden des keep-alive kann mit dem Attribut '''wdTimer''' reduziert werden, was den Puffer erhöhen. Es wird jedoch dringend geraten, im Problemfall die Ursache der Verzögerung zu suchen und zu eliminieren.  
Die Wiederholrate von 25 Sekunden des keep-alive kann mit dem Attribut '''wdTimer''' reduziert werden, was den Puffer erhöht. Es wird jedoch dringend geraten, im Problemfall die Ursache der Verzögerung zu suchen und zu eliminieren.


==== Nachrichtenübertragung - Performance ====
=== Nachrichtenübertragung - Performance ===
* Mit Internal '''msgParseDly''' kann man ablesen, welche Verzögerung eine Nachricht vom Empfang im HMLAN bis zur Verarbeitung in der Zentrale hat.
* Mit Internal ''msgParseDly'' kann man ablesen, welche Verzögerung eine Nachricht vom Empfang im HMLAN Konfigurator bis zur Verarbeitung in der Zentrale hat.
* HMLAN hält sich an den Funkstandard, der einem Sender eine maximale Sendezeit je Stunde erlaubt. Wird dieser Wert überschritten, stellt HMLAN das Senden ein. Empfangen wird weiter. Ist eine Kapazität von 90% erreicht, wird im Reading '''cond''' '''Warning-HighLoad''' gemeldet. Bei cond '''ERROR-Overload''' wird das Senden eingestellt ist.  
* Der HMLAN Konfigurator hält sich an den Funkstandard, der einem Sender maximal 36 Sekunden Sendezeit je Stunde erlaubt ([[1%25_Regel]]). Wird dieser Wert überschritten, stellt der HMLAN Konfigurator das Senden ein. Empfangen wird weiter. Ist eine Nutzung des Zeitslots zu 90% erreicht, wird im Reading ''cond'' ''Warning-HighLoad'' gemeldet. Bei cond ''ERROR-Overload'' wird das Senden eingestellt.


==== Loggen/Mitschneiden ====
=== Loggen/Mitschneiden ===
Es stehen die üblichen Funktionen des Attribute '''verbose''' zu Verfügung. Darüber hinaus gibt es die Attribute hmProtocolEvents und logIDs. Siehe auch [[Homematic Nachrichten sniffen|Homematic Nachrichten sniffen]].
Es stehen die üblichen Funktionen des Attribute [[verbose]] zu Verfügung. Darüber hinaus gibt es die Attribute ''hmProtocolEvents'' und ''logIDs''. Siehe auch [[HomeMatic Nachrichten sniffen]].


== Vorbereitung ==
== Vorbereitung ==
{{Randnotiz|RNText='''"Usersoftware"/Firmware'''
* V1.520 / 10.12.2015 / [https://www.eq-3.de/downloads/software/konfigurationsadapter/Konfigurationsadapter_LAN/hm-cfg-lan_usersoftware_v1_520_eq-3_151207.zip Download]
'''Firmware Update Tool / Firmware / Datum'''
* V1.2 / 0.965 / 11.02.2016 / [https://www.eq-3.de/downloads/software/firmware_update_tool/hm-firmware-update-tool_v1_2_eq-3_160211.zip Download]
}}
[[Datei:HMLAN_CONFIG_IP_AES.png|300px|thumb|right|HomeMatic Lan-Interface Configurator]][[Datei:HMLAN_CONFIG_AES.png|300px|thumb|right|HomeMatic Konfigurator]]
[[Datei:HMLAN_CONFIG_IP_AES.png|300px|thumb|right|HomeMatic Lan-Interface Configurator]][[Datei:HMLAN_CONFIG_AES.png|300px|thumb|right|HomeMatic Konfigurator]]
Bevor man den HMLAN mit Fhem nutzen kann, müssen noch Einstellungen vorgenommen werden. Dazu braucht man Software die bei [http://www.eq-3.de/software.html HomeMatic] in der Version 1.512 (Stand 19. Dezember 2013) herunter zu laden ist und nach der Installation mit der Verknüpfung "HomeMatic-Lan-Interface konfigurieren" oder "HomeMatic-Komponenten konfigurieren" gestartet wird und unter Windows läuft. Für andere Betriebssystem (siehe Anhang im Beitrag {{Link2Forum|Topic=11506|Message=67417|LinkText=Anleitung für OS X}}) braucht man eine Windows-Emulation. Dem HMLAN liegen zwei Konfigurationsprogramme bei, bitte darauf achten, das richtige zu verwenden. Wenn das Konfigurationsprogramm den HMLAN-Konfigurator nicht findet, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden, siehe {{Link2Forum|Topic=10933|Message=62960|LinkText=Beitrag im Fhem Forum}} und [[HM-CFG-LAN_LAN_Konfigurations-Adapter#Bekannte_Probleme|bekannte Probleme]].
Bevor man den HMLAN mit FHEM nutzen kann, müssen noch Einstellungen vorgenommen werden. Dazu braucht man die Konfigurationsadapter-LAN-Usersoftware, die bei [http://www.eq-3.de/service/downloads.html HomeMatic] herunter zu laden ist und nach der Installation mit der Verknüpfung "HomeMatic-Lan-Interface konfigurieren" oder "HomeMatic-Komponenten konfigurieren" gestartet wird und unter Windows läuft. Für andere Betriebssysteme (siehe Anhang im Beitrag {{Link2Forum|Topic=11506|Message=67417|LinkText=Anleitung für OS X}}) braucht man eine Windows-Emulation. Dem HMLAN liegen zwei Konfigurationsprogramme bei, bitte darauf achten, das richtige zu verwenden. Wenn das Konfigurationsprogramm den HMLAN-Konfigurator nicht findet, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden, siehe {{Link2Forum|Topic=10933|Message=62960|LinkText=Beitrag im FHEM Forum}} und [[HM-CFG-LAN_LAN_Konfigurations-Adapter#Bekannte_Probleme|bekannte Probleme]].
 
Sollte das Firmwarepdate abbrechen, ist die LAN Verbindung des PC's zu prüfen: ordentliche LAN Verbindung verwenden! Wlan ausschalten!


=== Firmware ===
=== Firmware ===
Die aktuelle Firmware Version des HMLAN ist 0.964 (Stand November 2014). Ein Update ist unter ''"Update Firmware"'' mit der ''"HomeMatic Lan-Interface Configurator"'' Software möglich.
Die aktuelle Firmware Version des HMLAN Konfigurators ist 0.965 (Stand Februar 2016). Ein Update ist mit dem ''"Firmware Update Tool"'' möglich, die aktuelle Firmware ist Bestandteil des Tools.
 
'''Achtung''': Das zum download angebotene '''Firmware Update Tool''' installiert drei Tools:
* Home Matic Firmware Updater Tool - das ist zum Firmware Update von Komponenten mittels CFG-USB!
* '''HomeMatic-Lan-Interface konfigurieren''' - damit kann man auch die '''Firmware des CFG-LAN aktualisieren''' (Rechts im Bild)
* HomeMatic-CFG-USB aktualiseren -- damit kann man auch die Firmware des CFG-USB aktualisieren
Um einen mit FHEM benutzten HM-LAN zu aktualisieren, reicht es,
# im HMLAN-Device mit <code>attr <myHMLAN> dummy 1</code> den Adapter vorübergehend zu deaktivieren,
# mit dem (Windows) Firmware Update Tool die Firmware auf den HM-LAN aufzuspielen
# nach dem Stoppen des Update Tools mit <code>deleteattr <myHMLAN> dummy</code> das Device in FHEM wieder zu aktivieren.
 
Version 1.2 des Firmware Update Tools läuft auch unter Windows 10.
 
Allerdings kann es unter Umständen passieren, dass sich das Programm mit folgender Fehlermeldung nicht starten lässt:
"Die Anwendung konnte nicht gestartet werden, da die Side-by-Side Konfiguration ungültig ist."
 
Dann fehlt die Microsoft Visual C++ 2008 SP1 Redistributable Package (x86). Diese kann dann unter dieser Adresse heruntergeladen und anschließend installiert werden: https://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe


=== IP Adresse ===
=== IP Adresse ===
Der HMLAN Konfigurator ist ähnlich wie der CUN(O) ein Netzwerkgerät. Er beherrscht DHCP und bezieht bei einem im Netzwerk erreichbaren DHCP Servers von diesem eine IP-Adresse. Da Fhem zwecks Kommunikation die IP-Adresse wissen muss, ist es sinnvoll, dem HMLAN eine statische Adresse zuzuweisen.  
Der HMLAN Konfigurator ist ähnlich wie der CUN(O) ein Netzwerkgerät. Er beherrscht DHCP und bezieht bei einem im Netzwerk erreichbaren DHCP Server von diesem eine IP-Adresse. Da FHEM zwecks Kommunikation die IP-Adresse wissen muss, ist es sinnvoll, dem HMLAN Konfigurator eine statische (feste) Adresse zuzuweisen.  
* mit der auf der CD mitgelieferten ''"HomeMatic Lan-Interface Configurator"'' Software unter ''"Change IP Settings"'' oder
* mit der auf der CD mitgelieferten ''"HomeMatic Lan-Interface Configurator"'' Software unter ''"Change IP Settings"'' oder
* im DHCP-Server eine feste IP-Adresse zuzuweisen (sofern dies vom gegeben DHCP Server als Konfigurationsoption unterstützt wird).
* im DHCP-Server (sofern dies vom gegebenen DHCP Server als Konfigurationsoption unterstützt wird).


=== AES Encryptet LAN Communication ===
=== AES Encrypted LAN Communication ===
Wichtig ist, dass vor Verwendung die "AES Encryptet LAN Communication" abgeschaltet wird, da diese FHEM nicht unterstützt. Dies ist unter ''"Change IP Settings"'' der ''"HomeMatic Lan-Interface Configurator"'' Software möglich. AES auf dem LAN ist zu unterscheiden von HMLAN auf der Funktschnittstelle. siehe [[AES Encryption]].
Wichtig ist, dass vor Verwendung die "AES Encrypted LAN Communication" abgeschaltet wird, da diese von FHEM nicht unterstützt wird. Dies ist unter ''"Change IP Settings"'' der ''"HomeMatic Lan-Interface Configurator"'' Software möglich. AES auf dem LAN ist zu unterscheiden von HMLAN auf der Funkschnittstelle. siehe [[AES Encryption]].


== Einbindung in FHEM ==
== Einbindung in FHEM ==
Der HMLAN-Konfigurator muss in FHEM [[Konfiguration|konfiguriert]] werden. Das erfolgt mit diesen Befehlen:
Der HMLAN-Konfigurator muss in FHEM [[Konfiguration|konfiguriert]] werden. Das erfolgt mit diesen Befehlen:
:<code>define HMLAN1 HMLAN <IP Adresse>:1000</code>
:<code>define HMLAN1 HMLAN <IP Adresse>:1000</code>
:<code>attr HMLAN1 hmId 123ABC</code>
Der Name (im obigen Beispiel ''HMLAN1'') kann frei vergeben werden. Standard IP-Port des HMLAN-Konfigurators ist 1000.
Der Name (im obigen Beispiel ''HMLAN1'') kann frei vergeben werden. Standard IP-Port des HMLAN-Konfigurators ist 1000.


HMLAN kennt mehrere Attribute ([http://fhem.de/commandref.html#HMLAN commandref]).  
HMLAN kennt mehrere Attribute ({{Link2CmdRef|Anker=HMLAN}}).  
Wichtig ist es, die '''hmId''' zu vergeben. Diese ist ein 3-Byte hexadezimal-Wert, somit eine 6-stellige Zeichenfolge in '''Großbuchstaben'''. 000000 und FFFFFF sind ungültig.
Äußerst wichtig ('''''Sicherheit!!''''') ist es außerdem, die '''hmId''' zu vergeben, siehe [[HomeMatic_Devices_pairen#hmId]].  
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, siehe [[HMLAN_Konfigurator#Bekannte_Probleme|"Bekannte Probleme"]].
Ein '''gleichzeitiger''' Zugriff von FHEM und der HomeMatic-Software auf den HMLAN-Konfigurator ist nicht möglich, da letzterer nur eine einzige Verbindung zulässt. Wollen Sie temporär z.B. mit der Windows-Software von HomeMatic zugreifen, ist FHEM zu deaktivieren.
 
Sinnvoll ist es, die hmId mit der hmId der PC-Software gleichzusetzen. Dann kann man von beiden Zentralen alternativ zugreifen ohne pairen zu müssen.
Ein '''gleichzeitiger''' Zugriff von Fhem und der HomeMatic-Software auf den HMLAN-Konfigurator ist nicht möglich, da letzterer nur eine Verbindung zulässt. Wollen Sie temporär z.B. mit der Windows-Software von HomeMatic zugreifen, ist Fhem zu deaktivieren.
Sinnvoll ist es, die hmId mit der der PC-Software gleichzusetzen. Dann kann man von beiden Zentralen alternativ zugreifen ohne pairen zu müssen.


=== Nutzung mehrere IOs ===
=== Nutzung mehrere IOs ===
Zeile 71: Zeile 103:


==== Senden ====
==== Senden ====
An ein Gerät wird nur über das IO gesendet, das in Internals->IODev angezeigt wird. Nutzt man mehrere IOs sollte im HM Device das Attribut IODev auf das gewünschte IO setzen. Ansonsten sucht FHEM zufällig ein IO aus.
An ein Gerät wird nur über das IO gesendet, das in Internals->IODev angezeigt wird. Nutzt man mehrere IOs sollte man im HM Device das Attribut IODev auf das gewünschte IO setzen. Ansonsten sucht FHEM zufällig ein IO aus.


==== hmId bei mehreren IOs ====
==== hmId bei mehreren IOs ====
Man kann allen IOs die gleiche HMId setzen. Das erlaubt die wahlfreie Umschaltung des Sende-IOs für das Device. Sollte man unterschiedliche hmIds wählen simuliert dies mehrere Zentralen. Das Device, an das man sendet, muss über ein IO angesprochen werden, mit einer hmId auf die das Device gepairt ist.  
Man kann allen IOs die gleiche hmId setzen. Das erlaubt die wahlfreie Umschaltung des Sende-IOs für das Device. Sollte man unterschiedliche hmIds wählen, simuliert dies mehrere Zentralen. Das Device, an das man sendet, muss über ein IO angesprochen werden, mit einer hmId, auf die das Device gepairt ist.
 
 
=== Virtueller Controller VCCU ===
Speziell wenn mehrere IOs verwendet werden sollen, empfiehlt sich die Verwendung einer [[Virtueller Controller VCCU|VCCU]], da eine redundante Nutzung mehrerer Schnittstellen dann wesentlich einfacher einzurichten ist. Das Einrichten einer VCCU lohnt sich aber schon bei der Benutzung nur eines HomeMatic I/O, also wenn man z.B. nur einen HMLAN Konfigurator einsetzen will. Zum Einen ist es wesentlich einfacher ggf. später weitere Schnittstellen dazu zu konfigurieren, zum Anderen adressiert die VCCU die auch bereits bei einer Schnittstelle auftauchenden Probleme wie die "<code>Unknown code</code>" Meldungen im Log.
 
Die Einrichtung einer VCCU ist nicht sehr aufwändig und wird dringend empfohlen.


=== Attribute ===
=== Attribute ===
* '''hmId''': Adresse, die das IO auf der Funkstrecke nutzt. Es ist ein 3-byte hexwert (6 Zeichen) in Großbuchstaben.  
* '''hmId''': Adresse, die das IO auf der Funkstrecke nutzt. Siehe [[HomeMatic_Devices_pairen#hmId]].
* '''hmkey, hmkey2..5''': bis zu 5 AES keys, die auf der Funkstrecke genutzt werden. Siehe [[AES Encryption]]
* '''hmKey, hmKey2..3''': bis zu 3 AES keys, die auf der Funkstrecke genutzt werden. Siehe [[AES Encryption]]
* '''hmLanQlen''' legt fest, wie viele Nachrichten parallel gesendet werden dürfen, also auf wie viele Antworten die Zentrale parallel warten darf. Ein Wert von 1 ist max defensiv, erzeugt aber eine höhere Verzögerung. Wählt man einen höheren Wert kann es zu Nachrichten-Wiederholunge kommen.  
* '''hmLanQlen''' legt fest, wie viele Nachrichten parallel gesendet werden dürfen, also auf wie viele Antworten die Zentrale parallel warten darf. Ein Wert von 1 ist max defensiv, erzeugt aber eine höhere Verzögerung. Wählt man einen höheren Wert kann es zu Nachrichten-Wiederholungen kommen.  
* '''hmProtocolEvents''': alle Nachrichten werden dekodiert ausgegeben. Diese Einstellung benötigt einige Performance insbesondere bei höheren Level. Man sollte es vorsichtig nutzen.  
* '''hmProtocolEvents''': alle Nachrichten werden dekodiert ausgegeben. Diese Einstellung benötigt einige Performance insbesondere bei höherem Level. Man sollte es vorsichtig nutzen.  
* '''logIDs''': zeichnet Rohmessages auf und bietet die genaueste Methode bei der Fehlersuche. Da Nachrichten undekodiert ausgegeben werden ist es im Wesentlichen für Spezialisten von Bedeutung. Man gibt eine Komma getrennte Liste von IDs an, die geloggt werden sollen. Mit '''all''' werden alle IDs aufgezeichnet. '''sys''' zeichnet zusätzlich Systemmessages auf. '''sys,all''' somit alles.
* '''logIDs''': zeichnet Rohmessages auf und bietet die genaueste Methode bei der Fehlersuche. Da Nachrichten undekodiert ausgegeben werden, ist es im Wesentlichen für Spezialisten von Bedeutung. Man gibt eine Komma-getrennte Liste von IDs an, die geloggt werden sollen. Mit '''all''' werden alle IDs aufgezeichnet. '''sys''' zeichnet zusätzlich Systemmessages auf. '''sys,all''' somit alles.
* '''respTime''': Antwortzeit des HMLAN auf ein keep-alive kann hier eingestellt werden. Normalerweise sollte das HMLAN in einer Sekunde der Zentrale antworten. Sollte dies nicht passieren, wird die Message wiederholt. Der Wert sollte nur in Ausnahmefällen verändert werden.
* '''respTime''': Antwortzeit des HMLAN auf ein keep-alive kann hier eingestellt werden. Normalerweise sollte das HMLAN innerhalb einer Sekunde der Zentrale antworten. Sollte dies nicht passieren, wird die Message wiederholt. Der Wert sollte nur in Ausnahmefällen verändert werden.


=== Readings ===
=== Readings ===
Zeile 88: Zeile 126:
* '''cond''': aktueller Zustand des IO.  
* '''cond''': aktueller Zustand des IO.  
** ok
** ok
** Warning-HighLoad: 90% der 1h sendekapazität sind erreicht
** Warning-HighLoad: 90% der 1h Sendekapazität sind erreicht
** ERROR-Overload: 100% der sendekapazität sind erreicht, '''das IO sendet nicht mehr'''
** ERROR-Overload: 100% der Sendekapazität sind erreicht, '''das IO sendet nicht mehr'''
** timeout
** timeout
** disconnected: die Verbindung FHEM /IO ist unterbrochen
** disconnected: die Verbindung FHEM / IO ist unterbrochen
** Overload-released: das IO ist aus ERROR-Overload zurück im Sendebetrieb
** Overload-released: das IO ist aus ERROR-Overload zurück im Sendebetrieb
** init: Das IO wurde neu initialisiert.  
** init: Das IO wurde neu initialisiert.  
Zeile 102: Zeile 140:


=== Internals ===
=== Internals ===
* '''XmitOpen''': 1 = HMLAN ist sende bereit
* '''XmitOpen''': 1 = HMLAN ist sendebereit
* '''assignedIDs''': HMIDs der HM Devices, die über dieses IO bedient werden
* '''assignedIDs''': hmIds der HM Devices, die über dieses IO bedient werden
* '''assignedIDsCnt''': Anzahl der zugewiesenen HMIds von FHEM
* '''assignedIDsCnt''': Anzahl der zugewiesenen hmIds von FHEM
* '''assignedIDsReport''': Anzahl der HMIds, die das HMLAN angibt zu bedienen. Die Zahl sollte identisch sein mit assignedIDsCnt
* '''assignedIDsReport''': Anzahl der hmIds, die das HMLAN angibt zu bedienen. Die Zahl sollte identisch sein mit assignedIDsCnt
* '''msgKeepAlive''': dlyMax: maximale Verzögerung, die ein keep-alive hatte. bufferMin: der minimale Zeitpuffer, der übrig blieb, bis das keep-alive zu spät gekommen wäre. Der Puffer sollte 2 oder größer sein, sonst könnte man gelegentlich disconnects bekommen.  
* '''msgKeepAlive''': dlyMax: maximale Verzögerung, die ein keep-alive hatte. bufferMin: der minimale Zeitpuffer, der übrig blieb, bis das keep-alive zu spät gekommen wäre. Der Puffer sollte 2 oder größer sein, sonst könnte man gelegentlich disconnects bekommen.  
* '''msgLoadEst''': Funkbelastung des HMLAN. Der Wert wird über 1 Stunde akkumuliert. Sollten 100% erreicht sein, wird das HMLAN den Sendebetrieb einstellen. Der Wert ist eine Hochrechnung in FHEM. Es ist möglich, dass das HMLAN mehr belastet ist. Die 10 min werte zeigen die Belastung in den letzten 10min Perioden an.
* '''msgLoadEst''': Funkbelastung des HMLAN. Der Wert wird über 1 Stunde akkumuliert. Sollten 100% erreicht sein, wird das HMLAN den Sendebetrieb einstellen. Der Wert ist eine Hochrechnung in FHEM. Es ist möglich, dass das HMLAN mehr belastet ist. Die 10 min Werte zeigen die Belastung in den letzten 10min Perioden an.
* '''msgParseDly''': Verzögerung der Message Verarbeitung vom Empfang im IO bis zur Verarbeitung in FHEM. Eine Verzögerung kann durch Prozesse an LAN, durch FHEM Prozesse oder sonstige Prozesse/Applikationen der CPU  hervorgerufen werden.
* '''msgParseDly''': Verzögerung der Message Verarbeitung vom Empfang im IO bis zur Verarbeitung in FHEM, gemessen in Millisekunden. Eine Verzögerung kann durch Prozesse an LAN, durch FHEM Prozesse oder sonstige Prozesse/Applikationen der CPU  hervorgerufen werden.


== Pairen von Geräten ==
== Pairen von Geräten ==
Jedes HM Geräte muss vor Verwendung mit der HM-Zentrale gepairt werden. Dabei wird die hmId des gewählten IOs in das Device programmiert. Ändert man die hmId des IO, mit man das Device anspricht, muss man das Device neu pairen.  
Jedes HM Gerät muss vor Verwendung mit der HM-Zentrale [[Pairing (HomeMatic)|gepairt]] werden. Hierfür ist die Wahl einer hmId nötig (alle Details siehe [[HomeMatic Devices pairen#hmId]]).
Alle Geräte haben eine eigene Seriennummer, die nicht änderbar ist. Details zum Pairen auf der Seite [[HomeMatic Devices pairen]].
Alle Geräte haben eine eigene Seriennummer, die nicht änderbar ist. Details zum Pairen auf der Seite [[HomeMatic Devices pairen]].


== Bekannte Probleme ==
== Bekannte Probleme ==
Selten lehnt der HMLAN-Konfigurator ohne erkennbaren Grund nach monatelangem störungsfreiem Betrieb die Verbindung ab:
=== Verbindung wird abgelehnt ===
Selten lehnt der HMLAN-Adapter ohne erkennbaren Grund nach monatelangem störungsfreiem Betrieb die Verbindung ab:
<pre style="width:400px;">
Opening HMLAN1 device 192.168.168.60:1000
192.168.168.60:1000 connection refused
</pre>
Der HMLAN-Adapter kann aber über die mitgelieferte Konfigurationssoftware problemlos erreicht werden. Der Zustand lässt sich auch durch einen Reboot des HMLAN-Adapters (oder FHEM) nicht beheben, wohl aber durch eine Aktualisierung der Firmware des HMLAN-Adapters, '''selbst wenn die installierte Version aktuell ist'''.
 
=== HomeMatic-Geräte-Konfigurationsprogramm verbindet sich nicht mit LAN-Adapter ===
Damit das Konfigurationsprogramm auf den LAN-Adapter zugreifen kann, muss das FHEM-Modul deaktiviert werden. (Attribute dummy=1 oder FHEM herunterfahren) Hat das Konfigurationsprogramm trotzdem Probleme, den LAN-Adapter zu finden, sollten vorübergehend alle bis auf das aktuell genutze Netzwerkinterfaces deaktiviert werden.  Unter  Windows 7 reicht es eventuell nicht, die Netzwerkverbindungen im "Netzwerk- und Freigabecenter" zu deaktivieren, sondern die Netzwerkadapter müssen auch im Gerätemanager deaktiviert werden.
 
Unter Windows 10 scheint das Programm nicht mehr zu funktionieren. Der Konfigurationsadapter wird nicht gefunden. Auch nicht bei deaktivierten Netzwerkverbindungen.
 
=== Häufiger automatischer Neustart ("Reboot") ===
Der HMLAN Adapter startet ohne erkennbaren äußeren Anlass häufig neu. Das Problem ist auch im Forum unter der Überschrift {{Link2Forum|Topic=20776|LinkText=HMLAN Adapter wechselt permanent zwischen disconnected / connected}} beschrieben. Im FHEM Log erscheinen in diesem Fall folgende Meldungen:
<pre style="width:600px;">
... HMLAN_Parse: myHMLAN new condition timeout (je nach Timing, manchmal)
... HMLanHostname:1000 disconnected, waiting to reappear (myHMLAN)
... HMLAN_Parse: myHMLAN new condition disconnected
... HMLanHostname:1000 reappeared (myHMLAN)
... HMLAN_Parse: myHMLAN new condition init
... HMLAN_Parse: myHMLAN new condition ok
</pre>
Dieses Problem ist bei ELV [http://www.elv.de/topic/hm-lan-reboots.html bekannt] und soll mit der [http://www.eq-3.de/Downloads/Software/Konfigurationsadapter/Konfigurationsadapter_LAN/HM-CFG-LAN_Usersoftware_V1_520_eQ-3_151207.zip Konfigurationsadapter LAN Usersoftware V1.520 (10.12.2015)], bzw. der darin enthaltenen Firmware Version, behoben sein. Stand 05.08.2016 12:32 Auch mit der aktuellen Firmware (v0.965 - Link siehe oben) und der aktuellen Version von HMLAN (Rev 11645 vom 2016-06-11) tritt der Fehler noch auf.
 
=== Kompletter und/oder sporadischer Totalausfall ===
Sollten die oben genannten softwareseitigen Problemlösungen zu keinem erwünschten Ergebnis führen, kann gegebenenfalls ein Austausch der verbauten Elektrolytkondensatoren (Elkos) Abhilfe schaffen.
Zumindest ist dies eine Alternative zur Verschrottung (siehe {{Link2Forum|Topic=62442|Message=538982|LinkText=diesen Forumsbeitrag}}).


Opening HMLAN1 device 192.168.168.60:1000
Hierbei werden folgende Elkos benötigt: 2x100µF/25V und 1x100µF/16V und 1x22µF/50V, '''<u>alle stehend</u>'''. Die 3 Elkos mit 100µF können auch alle 25V haben, da genug Platz vorhanden ist. Nur der 22µF darf nicht zu groß werden.
192.168.168.60:1000 connection refused
Der HMLAN-Konfigurator kann aber über die mitgelieferte Konfigurationssoftware problemlos erreicht werden. Der Zustand lässt sich auch durch einen Reboot des HMLAN-Konfigurators (oder Fhem) nicht beheben, wohl aber durch eine Aktualisierung der Firmware des HMLAN-Konfigurators, selbst wenn die installierte Version aktuell ist.


Wenn das Konfigurationsprogramm Probleme hat, den HM-CFG-LAN LAN Konfigurations-Adapter zu finden, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden. Vereinzelt gibt es Hinweise darauf, dass es unter  Windows 7 eventuell nicht reicht, die Netzwerkverbindungen im "Netzwerk- und Freigabecenter" zu deaktivieren, sondern ein Deaktivierung der Netzwerkadapter im Gerätemanager erforderlich ist.
=== Pairing von Geräten in räumlich dichter Nähe zum HMLAN endet bei den neuen Geräten im "Missing Ack" ===
Sollten bei einem Pairing-Versuch die Geräte dies mit einer dauerhaft blinkenden LED quittieren und somit den Pairing-Prozess nicht abschließen, sollte die Distanz zum HMLAN überprüft werden.
Es ist im Forum mehrfach darüber berichtet worden, dass diese Pairing-Vorhaben gescheitert sind, weil die Geräte schlichtweg zu dicht am HMLAN gelegen haben, insbesondere beim ersten Testaufbau passiert dies immer mal wieder gerne.
Hierzu einfach eine räumlich größere Entfernung herstellen und erneut versuchen.


== Verbesserung der Antennenleistung ==
== Verbesserung der Antennenleistung ==
[[Datei:HM-CFG-LAN Innen.jpeg|200px|thumb|right|Innenansicht]]
Die Sende- und Empfangsleistung kann man verbessern.


Die Sende- und Empfangsleistung kann man verbessern. Wie, das finden sie [[Trick_der_Woche#HM_LAN_Konfig-Adapter_Antenne_verbessern|hier]].
Eine relativ einfache Methode ist, die Antenne aus dem Gehäuse herauszuführen. Dies bringt in der Regel bereits einen spürbar verbesserten RSSI und eine verminderte Einstrahlung der Elektronik in die Antenne. Als Kosten fallen der Kaufpreis des 5er TORX an, der üblicherweise nicht vorhanden ist und ca. 6 € kostet (es ist u.U. empfehlenswert, gleich ein ganzes Kombi-Set für Handy-Reparatur etc. zu kaufen).
 
* HM-CFG-LAN aufschrauben (siehe Bild)
: Der schwarze Draht im oberen Bereich unter den Lichtleitern ist die Antenne.
[[Datei:HMLAN Antenne.JPG|200px|thumb|right|Detail: Antenne]]
* Lichtleiter entfernen (Bleibt machmal auch im Deckel hängen)
:Rechts ist das Funkmodull zu erkennen, der schwarze Draht ist die Antenne. Es ist gut zu sehen, dass die Antenne sehr nahe an der Elektronik ist, die HF-Signale in die Antenne einstrahlt und die Empfangsleistung dadurch vermindert.
* Das Gehäuse an passender Stelle mit einer kleinen Feile oder einem Drehmel oder ähnlich einkerben.
[[Datei:HMLAN schlitz.JPG|200px|thumb|right|Detail: Schlitz]]
* Die Antenne einfach nach aussen biegen. Der Winkel ist egal, und kann später durch die Positionierung des HM-CFG-LAN optimal eingestellt werden. Der Draht sollte aber gerade sein, also keinen Knick oder keine Krümmung haben.
[[Datei:Antenne nach aussen.JPG|200px|thumb|right|Detail: nach aussen geführte Antenne]]
:Man kann die Antenne auch verlängern, sinnvoll ist aber nur eine Verdopplung (von L/4 auf  L/2). Geringere Verlängerungen verschlechtern die Leistung.
* Gehäuse wieder zusammenbauen und zuschrauben, fertig.
[[Datei:HMLANAntenneextern.JPG|200px|thumb|right|Detail: durchgeführte Antenne, Außenansicht]]
 
Dieser Umbau (ohne Antennenverlängerung) bringt in der Regel einen um 4-5 Zähler verbesserten RSSI und verringert die Einstrahlung der Elektronik. Dies ist nur der einfachste Schritt eines Antennenumbaus. Mit nur wenig mehr Aufwand lassen sich wesentlich bessere Ergebnisse erzielen.
 
Links zu weitergehenden Maßnahmen [[Trick_der_Woche#HM_LAN_Konfig-Adapter_Antenne_verbessern|hier]].
 
== Deregistrierung (Unpair) von Geräten ==
Manche HomeMatic Geräte lassen sich nur dann am neuen Gateway anlernen, wenn sie zuerst vom alten abgelernt wurden. Dies wird zum Beispiel beim Umzug auf ccu3 erforderlich und insbesondere durch nicht immer funktionierende Konfigurationssoftware erschwert.
 
Vorgehensweise:
* FHEM GUI in zwei Browser-Tabs öffnen - eines für das abzulernende Gerät, ein zweites für HMLAN.
* ein <code>set unpair</code> an das Gerät absetzen und warten, bis der Status von CMD_pending wechselt, dabei beginnt üblicherweise die orangefarbene LED zu blinken wie bei "Factory Reset" (das Abholen der Befehle kann durch das Drücken der Knöpfe am Gerät meistens beschleunigt werden)
* sobald das Unpair und Reset am Gerät angelaufen ist, muss der HMLAN auf <code>set close</code> auf "close" gesetzt werden; damit wird verhindert, dass das Gerät neu gepaired wird
* jetzt kann das Gerät an ein anderes Gateway neu angelernt werden.


== Wechsel von CUL zu HMLAN ==
== Wechsel von CUL zu HMLAN ==
Sollten Sie ein [[CUL]] als IO für Homematic-Geräte eingesetzt haben und jetzt einen Wechsel auf den HMLAN Konfigurator planen, hält sich der Aufwand in Grenzen:
{{Randnotiz|RNTyp=y|RNText=Der hier beschriebene Wechsel sollte mittlerweile einfacher über die [[Virtueller Controller VCCU|VCCU]] realisierbar sein, indem erst ein weiteres IO-Device hinzugefügt und anschließend das zu ersetzende entfernt wird.}}
 
Sollten ein [[CUL]] als IO für HomeMatic-Geräte dienen und ein Wechsel auf den HMLAN Konfigurator geplant sein, kann die folgende Vorgehensweise gewählt werden:
* deaktivieren Sie das CUL in der ''fhem.cfg''.
* deaktivieren des CUL in der [[Konfiguration]]
* konfigurieren Sie den HMLAN Konfigurator '''von Hand'''  
* konfigurieren des HMLAN Konfigurator '''von Hand'''  
* Ändern sie das Attribut IODev aller HM-Devices vom Namen der CUL auf den Namen des HMLAN
* Ändern des Attributs IODev aller HM-Devices vom Namen des CUL auf den Namen des HMLAN
* sollte sie das Attribut IODev nicht nutzen (nicht empfohlen) achten sie darauf, dass im fhem.cfg das IO vor allen HM-devices definiert wird. Eine automatischen Zuweisung des IO zu den Devices ist sonst nicht möglich.
* sollten das Attribut IODev nicht verwendet worden sein (nicht empfohlen), muss beachtet werden, dass in der Konfiguration das IO vor allen HM-devices definiert wird. Eine automatischen Zuweisung des IO zu den Devices ist sonst nicht möglich  
** der HMLAN '''muss''' die gleiche ''hmId'' wie das bisherige CUL erhalten. Ansonsten müssen alle Geräte neu gepairt / angelernt werden.
** der HMLAN '''muss''' die gleiche ''hmId'' wie das bisherige CUL erhalten. Ansonsten müssen alle Geräte neu gepairt / angelernt werden
** AES muss im HMLAN abgeschaltet werden.
** AES muss im HMLAN abgeschaltet werden
* verbinden Sie den HMLAN Konfigurator mit ihrem Netzwerk und ziehen das CUL aus der USB-Buchse.
* verbinden Sie den HMLAN Konfigurator mit ihrem Netzwerk und ziehen das CUL aus der USB-Buchse.
* geben Sie in der FHEM-Befehlszeile ''shutdown restart'' gefolgt von &lt;Enter&gt; (nicht "save") ein (evtl. reicht auch ein ''rereadcfg'').
* geben Sie in der FHEM-Befehlszeile ''shutdown restart'' gefolgt von {{Taste|Enter}} (nicht "save") ein (evtl. reicht auch ein [[rereadcfg]])
* kontrollieren Sie im Event-Monitor und in den HM-Device-Logs von Fhem die Kommunikation.
* kontrollieren Sie im Event-Monitor und in den HM-Device-Logs von FHEM die Kommunikation.
 
Bitte beachten: Falls dem CUL keine explizite hmId per Attribut zugewiesen wurde, wird diese ID aus "F1&lt;FHT-ID&gt;" zusammengebaut. Die hmId muss auf dem HMLAN explizit gesetzt werden.
Bitte beachten: Falls dem CUL keine explizite hmId per Attribut zugewiesen wurde, wird diese ID aus "F1&lt;FHT-ID&gt;" zusammengebaut. Die hmId muss auf dem HMLAN explizit gesetzt werden.


== Links ==
== Links ==
* [http://www.eq-3.de/software.html Software] für den Konfigurationsadapter von der eQ-3 Site
<!-- Produkt derzeit nicht im Sortiment - * [http://www.elv.de/homematic-lan-konfigurations-adapter.html Produktseite] bei ELV -->
* [http://www.eq-3.de/service/downloads.html Software] für den Konfigurationsadapter von der eQ-3 Site
* [https://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe Download] für das Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
* [[Trick_der_Woche#HM_LAN_Konfig-Adapter_Antenne_verbessern|HM LAN Konfig-Adapter Antenne verbessern]]


[[Kategorie:HomeMatic Components]]
[[Kategorie:HomeMatic Components]]
[[Kategorie:Interfaces]]
[[Kategorie:Interfaces]]
[[Kategorie:868MHz]]

Aktuelle Version vom 31. Mai 2024, 09:07 Uhr

HM-CFG-LAN LAN Konfigurations-Adapter
HM-CFG-LAN, Draufsicht und Seitenansicht
Allgemein
Protokoll HomeMatic
Typ Interface
Kategorie
Technische Details
Kommunikation 868,3 MHz
Kanäle n/a
Betriebsspannung 7,5 VDC
Leistungsaufnahme ca. 100 mA
Versorgung Steckernetzteil
Abmessungen 100x30mm (ø x H)
Sonstiges
Modulname 00_HMLAN.pm
Ersteller Martin / martinp876
Hersteller ELV / eQ-3

Der HM-CFG-LAN LAN Konfigurations-Adapter (HM-CFG-LAN), kurz HMLAN Konfigurator, ist ein Schnittstellengerät (IO) ohne wesentliche Intelligenz. Die Aufgabe ist, ein Interface von der Zentrale zu den Geräten bereitzustellen. Ein HMLAN Konfigurator selbst steuert keine Geräte, er überträgt nur Nachrichten in beide Richtungen.

Alternativen

Alternativen zu einem HMLAN Konfigurator sind HM-CFG-USB USB Konfigurations-Adapter, CUN, CUNO und CUL.

HMUSB
Ein HMUSB hat nahezu identische Eigenschaften wie ein HMLAN Konfigurator. Der wesentliche Unterschied ist die Anbindung über USB anstatt Ethernet. Es hat sich erwiesen, dass USB eine bessere Latenz hat als LAN - also eine kürzere Verzögerung. Damit hat ein HMUSB leichte Vorteile zu HMLAN Konfigurator, was aber in den bei Weitem meisten Fällen durch die interne Timing Kalkulation abgefangen wird. Zudem können über den HMUSB (ab Version 2) auch Firmware-Updates OTA (over-the-air, also per Funkverbindung) auf entsprechende HM-Geräte (z.B. den HM-CC-RT-DN) durchgeführt werden.
Dafür bietet der HMLAN Konfigurator mit seinem Netzwerkanschluss Vorteile bei der Platzierung und bei der Ansteuerung (teilweise Timing-Probleme beim Anschluss von USB-Geräten an langsamere Raspberrys und beim Durchschleifen von USB an FHEM in einer virtuellen Maschine).
CUL/CUN(O)
  • Die Devices liefern keine eigenen Zeitstempel, wodurch eine Timingkorrektur durch FHEM nicht möglich ist. Je nach Systemgeschwindigkeit kann dies zu Problemen, Nachrichtenwiederholung und ggf. auch Nachrichtenverlust führen
  • Da USB kurze Reaktionszeiten und geringe Timingschwankungen hat, ist der Einsatz von CUL und CUNO mit HM möglich.
    Die Timingschwankungen der Ethernet-Schnittstelle hingegen können in FHEM nicht ausgeglichen werden. Daher kann der Einsatz der CUNO über Ethernet nicht empfohlen werden.
  • Der Übertragungsmodus lazyConfig wird nicht unterstützt

Funktionen

AES

siehe AES Encryption.

Übertragungsmodus

Es werden alle HM-Modi unterstützt. Diese sind Always, Burst, Wakeup und Config. Weiter gibt es lazyConfig und conditionalBurst. Siehe HomeMatic für Details.

KeepAlive

Der HMLAN Konfigurator baut eine Verbindung zur Zentrale über das LAN Interface auf. Der HMLAN Konfigurator erwartet alle 30 Sekunden eine keep-alive Nachricht von der Zentrale. Sollte diese ausbleiben, baut der HMLAN Konfigurator die LAN-Verbindung ab. Das führt zu einem Disconnect, der in State gemeldet wird. Die Verbindung wird automatisch wieder aufgebaut. FHEM sendet den keep-alive alle 25 Sekunden, was einen 5 Sekunden Puffer einräumt. In Internals msgKeepAlive kann man sehen, wie hoch die maximale Verzögerung der Zentrale beim Senden war und wie viel Puffer (in Sekunden) noch verfügbar war. Die Wiederholrate von 25 Sekunden des keep-alive kann mit dem Attribut wdTimer reduziert werden, was den Puffer erhöht. Es wird jedoch dringend geraten, im Problemfall die Ursache der Verzögerung zu suchen und zu eliminieren.

Nachrichtenübertragung - Performance

  • Mit Internal msgParseDly kann man ablesen, welche Verzögerung eine Nachricht vom Empfang im HMLAN Konfigurator bis zur Verarbeitung in der Zentrale hat.
  • Der HMLAN Konfigurator hält sich an den Funkstandard, der einem Sender maximal 36 Sekunden Sendezeit je Stunde erlaubt (1%_Regel). Wird dieser Wert überschritten, stellt der HMLAN Konfigurator das Senden ein. Empfangen wird weiter. Ist eine Nutzung des Zeitslots zu 90% erreicht, wird im Reading cond Warning-HighLoad gemeldet. Bei cond ERROR-Overload wird das Senden eingestellt.

Loggen/Mitschneiden

Es stehen die üblichen Funktionen des Attribute verbose zu Verfügung. Darüber hinaus gibt es die Attribute hmProtocolEvents und logIDs. Siehe auch HomeMatic Nachrichten sniffen.

Vorbereitung

Info green.png"Usersoftware"/Firmware

Firmware Update Tool / Firmware / Datum

HomeMatic Lan-Interface Configurator
HomeMatic Konfigurator

Bevor man den HMLAN mit FHEM nutzen kann, müssen noch Einstellungen vorgenommen werden. Dazu braucht man die Konfigurationsadapter-LAN-Usersoftware, die bei HomeMatic herunter zu laden ist und nach der Installation mit der Verknüpfung "HomeMatic-Lan-Interface konfigurieren" oder "HomeMatic-Komponenten konfigurieren" gestartet wird und unter Windows läuft. Für andere Betriebssysteme (siehe Anhang im Beitrag Anleitung für OS X) braucht man eine Windows-Emulation. Dem HMLAN liegen zwei Konfigurationsprogramme bei, bitte darauf achten, das richtige zu verwenden. Wenn das Konfigurationsprogramm den HMLAN-Konfigurator nicht findet, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden, siehe Beitrag im FHEM Forum und bekannte Probleme.

Sollte das Firmwarepdate abbrechen, ist die LAN Verbindung des PC's zu prüfen: ordentliche LAN Verbindung verwenden! Wlan ausschalten!

Firmware

Die aktuelle Firmware Version des HMLAN Konfigurators ist 0.965 (Stand Februar 2016). Ein Update ist mit dem "Firmware Update Tool" möglich, die aktuelle Firmware ist Bestandteil des Tools.

Achtung: Das zum download angebotene Firmware Update Tool installiert drei Tools:

  • Home Matic Firmware Updater Tool - das ist zum Firmware Update von Komponenten mittels CFG-USB!
  • HomeMatic-Lan-Interface konfigurieren - damit kann man auch die Firmware des CFG-LAN aktualisieren (Rechts im Bild)
  • HomeMatic-CFG-USB aktualiseren -- damit kann man auch die Firmware des CFG-USB aktualisieren

Um einen mit FHEM benutzten HM-LAN zu aktualisieren, reicht es,

  1. im HMLAN-Device mit attr <myHMLAN> dummy 1 den Adapter vorübergehend zu deaktivieren,
  2. mit dem (Windows) Firmware Update Tool die Firmware auf den HM-LAN aufzuspielen
  3. nach dem Stoppen des Update Tools mit deleteattr <myHMLAN> dummy das Device in FHEM wieder zu aktivieren.

Version 1.2 des Firmware Update Tools läuft auch unter Windows 10.

Allerdings kann es unter Umständen passieren, dass sich das Programm mit folgender Fehlermeldung nicht starten lässt: "Die Anwendung konnte nicht gestartet werden, da die Side-by-Side Konfiguration ungültig ist."

Dann fehlt die Microsoft Visual C++ 2008 SP1 Redistributable Package (x86). Diese kann dann unter dieser Adresse heruntergeladen und anschließend installiert werden: https://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe

IP Adresse

Der HMLAN Konfigurator ist ähnlich wie der CUN(O) ein Netzwerkgerät. Er beherrscht DHCP und bezieht bei einem im Netzwerk erreichbaren DHCP Server von diesem eine IP-Adresse. Da FHEM zwecks Kommunikation die IP-Adresse wissen muss, ist es sinnvoll, dem HMLAN Konfigurator eine statische (feste) Adresse zuzuweisen.

  • mit der auf der CD mitgelieferten "HomeMatic Lan-Interface Configurator" Software unter "Change IP Settings" oder
  • im DHCP-Server (sofern dies vom gegebenen DHCP Server als Konfigurationsoption unterstützt wird).

AES Encrypted LAN Communication

Wichtig ist, dass vor Verwendung die "AES Encrypted LAN Communication" abgeschaltet wird, da diese von FHEM nicht unterstützt wird. Dies ist unter "Change IP Settings" der "HomeMatic Lan-Interface Configurator" Software möglich. AES auf dem LAN ist zu unterscheiden von HMLAN auf der Funkschnittstelle. siehe AES Encryption.

Einbindung in FHEM

Der HMLAN-Konfigurator muss in FHEM konfiguriert werden. Das erfolgt mit diesen Befehlen:

define HMLAN1 HMLAN <IP Adresse>:1000

Der Name (im obigen Beispiel HMLAN1) kann frei vergeben werden. Standard IP-Port des HMLAN-Konfigurators ist 1000.

HMLAN kennt mehrere Attribute (commandref/HMLAN). Äußerst wichtig (Sicherheit!!) ist es außerdem, die hmId zu vergeben, siehe HomeMatic_Devices_pairen#hmId.

Ein gleichzeitiger Zugriff von FHEM und der HomeMatic-Software auf den HMLAN-Konfigurator ist nicht möglich, da letzterer nur eine einzige Verbindung zulässt. Wollen Sie temporär z.B. mit der Windows-Software von HomeMatic zugreifen, ist FHEM zu deaktivieren. Sinnvoll ist es, die hmId mit der hmId der PC-Software gleichzusetzen. Dann kann man von beiden Zentralen alternativ zugreifen ohne pairen zu müssen.

Nutzung mehrere IOs

Empfangen

Man kann an einem FHEM mehrere IOs (HMLAN/USB, CUL/CUNO) betreiben. Generell empfangen alle IOs von allen Geräten in ihrem Empfangsbereich - unabhängig von der hmId.

Senden

An ein Gerät wird nur über das IO gesendet, das in Internals->IODev angezeigt wird. Nutzt man mehrere IOs sollte man im HM Device das Attribut IODev auf das gewünschte IO setzen. Ansonsten sucht FHEM zufällig ein IO aus.

hmId bei mehreren IOs

Man kann allen IOs die gleiche hmId setzen. Das erlaubt die wahlfreie Umschaltung des Sende-IOs für das Device. Sollte man unterschiedliche hmIds wählen, simuliert dies mehrere Zentralen. Das Device, an das man sendet, muss über ein IO angesprochen werden, mit einer hmId, auf die das Device gepairt ist.


Virtueller Controller VCCU

Speziell wenn mehrere IOs verwendet werden sollen, empfiehlt sich die Verwendung einer VCCU, da eine redundante Nutzung mehrerer Schnittstellen dann wesentlich einfacher einzurichten ist. Das Einrichten einer VCCU lohnt sich aber schon bei der Benutzung nur eines HomeMatic I/O, also wenn man z.B. nur einen HMLAN Konfigurator einsetzen will. Zum Einen ist es wesentlich einfacher ggf. später weitere Schnittstellen dazu zu konfigurieren, zum Anderen adressiert die VCCU die auch bereits bei einer Schnittstelle auftauchenden Probleme wie die "Unknown code" Meldungen im Log.

Die Einrichtung einer VCCU ist nicht sehr aufwändig und wird dringend empfohlen.

Attribute

  • hmId: Adresse, die das IO auf der Funkstrecke nutzt. Siehe HomeMatic_Devices_pairen#hmId.
  • hmKey, hmKey2..3: bis zu 3 AES keys, die auf der Funkstrecke genutzt werden. Siehe AES Encryption
  • hmLanQlen legt fest, wie viele Nachrichten parallel gesendet werden dürfen, also auf wie viele Antworten die Zentrale parallel warten darf. Ein Wert von 1 ist max defensiv, erzeugt aber eine höhere Verzögerung. Wählt man einen höheren Wert kann es zu Nachrichten-Wiederholungen kommen.
  • hmProtocolEvents: alle Nachrichten werden dekodiert ausgegeben. Diese Einstellung benötigt einige Performance insbesondere bei höherem Level. Man sollte es vorsichtig nutzen.
  • logIDs: zeichnet Rohmessages auf und bietet die genaueste Methode bei der Fehlersuche. Da Nachrichten undekodiert ausgegeben werden, ist es im Wesentlichen für Spezialisten von Bedeutung. Man gibt eine Komma-getrennte Liste von IDs an, die geloggt werden sollen. Mit all werden alle IDs aufgezeichnet. sys zeichnet zusätzlich Systemmessages auf. sys,all somit alles.
  • respTime: Antwortzeit des HMLAN auf ein keep-alive kann hier eingestellt werden. Normalerweise sollte das HMLAN innerhalb einer Sekunde der Zentrale antworten. Sollte dies nicht passieren, wird die Message wiederholt. Der Wert sollte nur in Ausnahmefällen verändert werden.

Readings

  • Xmit-Events: Anzahl der Ereignisse
  • cond: aktueller Zustand des IO.
    • ok
    • Warning-HighLoad: 90% der 1h Sendekapazität sind erreicht
    • ERROR-Overload: 100% der Sendekapazität sind erreicht, das IO sendet nicht mehr
    • timeout
    • disconnected: die Verbindung FHEM / IO ist unterbrochen
    • Overload-released: das IO ist aus ERROR-Overload zurück im Sendebetrieb
    • init: Das IO wurde neu initialisiert.
  • prot_ERROR-Overload: Anzahl des Events, Zeitstempel des letzten Auftretens
  • prot_Warning-HighLoad: Anzahl des Events, Zeitstempel des letzten Auftretens
  • prot_disconnected: Anzahl des Events, Zeitstempel des letzten Auftretens
  • prot_init: Anzahl des Events, Zeitstempel des letzten Auftretens
  • prot_ok: Anzahl des Events, Zeitstempel des letzten Auftretens
  • prot_timeout: Anzahl des Events, Zeitstempel des letzten Auftretens

Internals

  • XmitOpen: 1 = HMLAN ist sendebereit
  • assignedIDs: hmIds der HM Devices, die über dieses IO bedient werden
  • assignedIDsCnt: Anzahl der zugewiesenen hmIds von FHEM
  • assignedIDsReport: Anzahl der hmIds, die das HMLAN angibt zu bedienen. Die Zahl sollte identisch sein mit assignedIDsCnt
  • msgKeepAlive: dlyMax: maximale Verzögerung, die ein keep-alive hatte. bufferMin: der minimale Zeitpuffer, der übrig blieb, bis das keep-alive zu spät gekommen wäre. Der Puffer sollte 2 oder größer sein, sonst könnte man gelegentlich disconnects bekommen.
  • msgLoadEst: Funkbelastung des HMLAN. Der Wert wird über 1 Stunde akkumuliert. Sollten 100% erreicht sein, wird das HMLAN den Sendebetrieb einstellen. Der Wert ist eine Hochrechnung in FHEM. Es ist möglich, dass das HMLAN mehr belastet ist. Die 10 min Werte zeigen die Belastung in den letzten 10min Perioden an.
  • msgParseDly: Verzögerung der Message Verarbeitung vom Empfang im IO bis zur Verarbeitung in FHEM, gemessen in Millisekunden. Eine Verzögerung kann durch Prozesse an LAN, durch FHEM Prozesse oder sonstige Prozesse/Applikationen der CPU hervorgerufen werden.

Pairen von Geräten

Jedes HM Gerät muss vor Verwendung mit der HM-Zentrale gepairt werden. Hierfür ist die Wahl einer hmId nötig (alle Details siehe HomeMatic Devices pairen#hmId). Alle Geräte haben eine eigene Seriennummer, die nicht änderbar ist. Details zum Pairen auf der Seite HomeMatic Devices pairen.

Bekannte Probleme

Verbindung wird abgelehnt

Selten lehnt der HMLAN-Adapter ohne erkennbaren Grund nach monatelangem störungsfreiem Betrieb die Verbindung ab:

Opening HMLAN1 device 192.168.168.60:1000
192.168.168.60:1000 connection refused

Der HMLAN-Adapter kann aber über die mitgelieferte Konfigurationssoftware problemlos erreicht werden. Der Zustand lässt sich auch durch einen Reboot des HMLAN-Adapters (oder FHEM) nicht beheben, wohl aber durch eine Aktualisierung der Firmware des HMLAN-Adapters, selbst wenn die installierte Version aktuell ist.

HomeMatic-Geräte-Konfigurationsprogramm verbindet sich nicht mit LAN-Adapter

Damit das Konfigurationsprogramm auf den LAN-Adapter zugreifen kann, muss das FHEM-Modul deaktiviert werden. (Attribute dummy=1 oder FHEM herunterfahren) Hat das Konfigurationsprogramm trotzdem Probleme, den LAN-Adapter zu finden, sollten vorübergehend alle bis auf das aktuell genutze Netzwerkinterfaces deaktiviert werden. Unter Windows 7 reicht es eventuell nicht, die Netzwerkverbindungen im "Netzwerk- und Freigabecenter" zu deaktivieren, sondern die Netzwerkadapter müssen auch im Gerätemanager deaktiviert werden.

Unter Windows 10 scheint das Programm nicht mehr zu funktionieren. Der Konfigurationsadapter wird nicht gefunden. Auch nicht bei deaktivierten Netzwerkverbindungen.

Häufiger automatischer Neustart ("Reboot")

Der HMLAN Adapter startet ohne erkennbaren äußeren Anlass häufig neu. Das Problem ist auch im Forum unter der Überschrift HMLAN Adapter wechselt permanent zwischen disconnected / connected beschrieben. Im FHEM Log erscheinen in diesem Fall folgende Meldungen:

... HMLAN_Parse: myHMLAN new condition timeout (je nach Timing, manchmal)
... HMLanHostname:1000 disconnected, waiting to reappear (myHMLAN)
... HMLAN_Parse: myHMLAN new condition disconnected
... HMLanHostname:1000 reappeared (myHMLAN)
... HMLAN_Parse: myHMLAN new condition init
... HMLAN_Parse: myHMLAN new condition ok

Dieses Problem ist bei ELV bekannt und soll mit der Konfigurationsadapter LAN Usersoftware V1.520 (10.12.2015), bzw. der darin enthaltenen Firmware Version, behoben sein. Stand 05.08.2016 12:32 Auch mit der aktuellen Firmware (v0.965 - Link siehe oben) und der aktuellen Version von HMLAN (Rev 11645 vom 2016-06-11) tritt der Fehler noch auf.

Kompletter und/oder sporadischer Totalausfall

Sollten die oben genannten softwareseitigen Problemlösungen zu keinem erwünschten Ergebnis führen, kann gegebenenfalls ein Austausch der verbauten Elektrolytkondensatoren (Elkos) Abhilfe schaffen. Zumindest ist dies eine Alternative zur Verschrottung (siehe diesen Forumsbeitrag).

Hierbei werden folgende Elkos benötigt: 2x100µF/25V und 1x100µF/16V und 1x22µF/50V, alle stehend. Die 3 Elkos mit 100µF können auch alle 25V haben, da genug Platz vorhanden ist. Nur der 22µF darf nicht zu groß werden.

Pairing von Geräten in räumlich dichter Nähe zum HMLAN endet bei den neuen Geräten im "Missing Ack"

Sollten bei einem Pairing-Versuch die Geräte dies mit einer dauerhaft blinkenden LED quittieren und somit den Pairing-Prozess nicht abschließen, sollte die Distanz zum HMLAN überprüft werden. Es ist im Forum mehrfach darüber berichtet worden, dass diese Pairing-Vorhaben gescheitert sind, weil die Geräte schlichtweg zu dicht am HMLAN gelegen haben, insbesondere beim ersten Testaufbau passiert dies immer mal wieder gerne. Hierzu einfach eine räumlich größere Entfernung herstellen und erneut versuchen.

Verbesserung der Antennenleistung

Innenansicht

Die Sende- und Empfangsleistung kann man verbessern.

Eine relativ einfache Methode ist, die Antenne aus dem Gehäuse herauszuführen. Dies bringt in der Regel bereits einen spürbar verbesserten RSSI und eine verminderte Einstrahlung der Elektronik in die Antenne. Als Kosten fallen der Kaufpreis des 5er TORX an, der üblicherweise nicht vorhanden ist und ca. 6 € kostet (es ist u.U. empfehlenswert, gleich ein ganzes Kombi-Set für Handy-Reparatur etc. zu kaufen).

  • HM-CFG-LAN aufschrauben (siehe Bild)
Der schwarze Draht im oberen Bereich unter den Lichtleitern ist die Antenne.
Detail: Antenne
  • Lichtleiter entfernen (Bleibt machmal auch im Deckel hängen)
Rechts ist das Funkmodull zu erkennen, der schwarze Draht ist die Antenne. Es ist gut zu sehen, dass die Antenne sehr nahe an der Elektronik ist, die HF-Signale in die Antenne einstrahlt und die Empfangsleistung dadurch vermindert.
  • Das Gehäuse an passender Stelle mit einer kleinen Feile oder einem Drehmel oder ähnlich einkerben.
Detail: Schlitz
  • Die Antenne einfach nach aussen biegen. Der Winkel ist egal, und kann später durch die Positionierung des HM-CFG-LAN optimal eingestellt werden. Der Draht sollte aber gerade sein, also keinen Knick oder keine Krümmung haben.
Detail: nach aussen geführte Antenne
Man kann die Antenne auch verlängern, sinnvoll ist aber nur eine Verdopplung (von L/4 auf L/2). Geringere Verlängerungen verschlechtern die Leistung.
  • Gehäuse wieder zusammenbauen und zuschrauben, fertig.
Detail: durchgeführte Antenne, Außenansicht

Dieser Umbau (ohne Antennenverlängerung) bringt in der Regel einen um 4-5 Zähler verbesserten RSSI und verringert die Einstrahlung der Elektronik. Dies ist nur der einfachste Schritt eines Antennenumbaus. Mit nur wenig mehr Aufwand lassen sich wesentlich bessere Ergebnisse erzielen.

Links zu weitergehenden Maßnahmen hier.

Deregistrierung (Unpair) von Geräten

Manche HomeMatic Geräte lassen sich nur dann am neuen Gateway anlernen, wenn sie zuerst vom alten abgelernt wurden. Dies wird zum Beispiel beim Umzug auf ccu3 erforderlich und insbesondere durch nicht immer funktionierende Konfigurationssoftware erschwert.

Vorgehensweise:

  • FHEM GUI in zwei Browser-Tabs öffnen - eines für das abzulernende Gerät, ein zweites für HMLAN.
  • ein set unpair an das Gerät absetzen und warten, bis der Status von CMD_pending wechselt, dabei beginnt üblicherweise die orangefarbene LED zu blinken wie bei "Factory Reset" (das Abholen der Befehle kann durch das Drücken der Knöpfe am Gerät meistens beschleunigt werden)
  • sobald das Unpair und Reset am Gerät angelaufen ist, muss der HMLAN auf set close auf "close" gesetzt werden; damit wird verhindert, dass das Gerät neu gepaired wird
  • jetzt kann das Gerät an ein anderes Gateway neu angelernt werden.

Wechsel von CUL zu HMLAN

Emblem-question-yellow.svgDer hier beschriebene Wechsel sollte mittlerweile einfacher über die VCCU realisierbar sein, indem erst ein weiteres IO-Device hinzugefügt und anschließend das zu ersetzende entfernt wird.

Sollten ein CUL als IO für HomeMatic-Geräte dienen und ein Wechsel auf den HMLAN Konfigurator geplant sein, kann die folgende Vorgehensweise gewählt werden:

  • deaktivieren des CUL in der Konfiguration
  • konfigurieren des HMLAN Konfigurator von Hand
  • Ändern des Attributs IODev aller HM-Devices vom Namen des CUL auf den Namen des HMLAN
  • sollten das Attribut IODev nicht verwendet worden sein (nicht empfohlen), muss beachtet werden, dass in der Konfiguration das IO vor allen HM-devices definiert wird. Eine automatischen Zuweisung des IO zu den Devices ist sonst nicht möglich
    • der HMLAN muss die gleiche hmId wie das bisherige CUL erhalten. Ansonsten müssen alle Geräte neu gepairt / angelernt werden
    • AES muss im HMLAN abgeschaltet werden
  • verbinden Sie den HMLAN Konfigurator mit ihrem Netzwerk und ziehen das CUL aus der USB-Buchse.
  • geben Sie in der FHEM-Befehlszeile shutdown restart gefolgt von Enter (nicht "save") ein (evtl. reicht auch ein rereadcfg)
  • kontrollieren Sie im Event-Monitor und in den HM-Device-Logs von FHEM die Kommunikation.

Bitte beachten: Falls dem CUL keine explizite hmId per Attribut zugewiesen wurde, wird diese ID aus "F1<FHT-ID>" zusammengebaut. Die hmId muss auf dem HMLAN explizit gesetzt werden.

Links