<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mgernoth</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mgernoth"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Mgernoth"/>
	<updated>2026-04-22T01:50:42Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=17437</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=17437"/>
		<updated>2016-11-22T08:37:03Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Grundlagen=&lt;br /&gt;
Anders als der Name vermuteten lässt, handelt es sich beim HM (Homematic) AES-Encryption Modus des &amp;quot;BidCos&amp;quot;-Protokolls nicht um verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch werden keine Kommandos von nicht autorisierter Quellen ausgeführt.&lt;br /&gt;
&lt;br /&gt;
Der AES-Encryption Modus sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
==AES-Prinzip==&lt;br /&gt;
Der &#039;&#039;&#039;Advanced Encryption Standard&#039;&#039;&#039; AES ist ein im Auftrag der US-Regierung entwickeltes symmetrisches Verschlüsselungsverfahren, bei dem sowohl Sender als auch Empfänger über die Kenntnis eines &#039;&#039;geheimen&#039;&#039; Schlüssels verfügen müssen. Das AES-Verfahren ist öffentlich bekannt und erfüllt damit ein wesentliches Kriterium sicherer Verfahren, nämlich ihre Überprüfbarkeit. Bis heute ist kein Verfahren bekannt, mit dem man eine AES-Verschlüsselung ohne Kenntnis des Schüssels &amp;quot;knacken&amp;quot; kann. Es gibt auch keine Hinweise darauf, dass die NSA dazu im Stande sein könnte.&lt;br /&gt;
&lt;br /&gt;
==Signatur==&lt;br /&gt;
Bei einer digitalen Signatur werden nicht Schlüssel verglichen, sondern das Ergebnis der Verschlüsselung bestimmter kurzer Datensätze. Ist das Ergebnis der Verschüsselung bei Sender und Empfänger gleich, kennen bei den gleichen geheimen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
=Kommunikationsstrecken=&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
*Von der SmartHome-Zentrale gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
*Weiter gibt es einen Weg zum I/O-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabelstrecke herstellt. Wenn FHEM die Zentrale bildet, ist das die FHEM-I/O-Schnittstelle.&lt;br /&gt;
*Es folgt die I/O-Geräte-Schnittstelle, die Funk- oder Kabelstrecke.&lt;br /&gt;
*Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Homematic-Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
== Zentrale &amp;lt;-&amp;gt; Frontend ==&lt;br /&gt;
Diese Schnittstelle ist in der Regel eine internetbasierte Verbindung, meist in Form eines Aufrufes im Web-Browser. Hier muss durch eines der standardisierten Sicherheitsverfahren im Internet für sichere Kommunikation gesorgt werden: Virtual Private Network (VPN), verschlüsseltes WLAN und HTTPS sind gängige Methoden, die hier nicht weiter diskutiert werden sollen.&lt;br /&gt;
&lt;br /&gt;
== Zentrale &amp;lt;-&amp;gt; I/O-Device ==&lt;br /&gt;
Homematic unterstützt auf dieser Strecke prinzipiell eine AES-Verschlüsselung, dies ist in FHEM allerdings nicht implementiert. Nutzt man stattdessen eine originale Homematic CCU2-Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein I/O-Device per LAN  oder WLAN benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss dieses Netz entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
== I/O-Device &amp;lt;-&amp;gt; Gerät ==&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät oder seit dem 18.07.2016 eines der neuen eq3 Sendemodule [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi]] / [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben. Damit die AES-Kommunikation mit einem dieser Module genutzt werden kann, muss das Perl-Modul Crypt::Rijndael (Debian: libcrypt-rijndael-perl) installiert sein.&lt;br /&gt;
&lt;br /&gt;
==Gerät &amp;lt;-&amp;gt; Gerät==&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: Ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
=Ablauf=&lt;br /&gt;
Bei eingeschaltetem AES-Encryption Modus wird ein Kommando durch den Empfänger nicht sofort ausgeführt. Der Empfänger sendet vielmehr einen Binärwert mit Signaturanforderung an den Sender (Challenge), welche dieser mit seinem bekannten AES-Schlüssel kodieren und zurücksenden muss (Response). Der Empfänger vergleicht diese mit einem Wert, den er selbst aus der Verschlüsselung mit seinem Schlüssel erhält. Nur wenn beide verschlüsselten Datenwerte übereinstimmen, wird das zuerst erhaltene Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
==Overhead==&lt;br /&gt;
Es ist aus diesem Ablauf klar, dass der AES-Encryption Modus zu einer zusätzlichen Zeitverzögerung zwischen dem Absenden und dem Ausführen eines Kommandos führt. Im günstigen Fall kann diese etwa 200 ms betragen, in ungünstigen Fällen auch höher sein. Außerdem erhöht sich auf einer Funkstrecke mit AES-Encryption Modus die Funklast auf den dreifachen Wert. Wegen der 1%-Regel kann dies ein I/O-gerät durchaus in die Überladung mit Befehlen steuern.&lt;br /&gt;
&lt;br /&gt;
Es ist deshalb zu empfehlen, den AES-Encryption Modus nur für sicherheitskritische Homematic-Geräte einzuschalten, etwa für Türöffner. Auch der Hersteller eQ-3 gibt diese Empfehlung.&lt;br /&gt;
&lt;br /&gt;
==Sicherheit==&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in &amp;quot;[https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES]&amp;quot; beschrieben. Henryk Plötz hat die Sicherheit des Kommunikationsprotokolls in &amp;quot;[https://blog.ploetzli.ch/2015/on-the-security-of-aes-in-homematic/ On the Security of AES in HomeMatic]&amp;quot; näher betrachtet.&lt;br /&gt;
&lt;br /&gt;
= Aktivieren, Einrichten, Umgang in FHEM =&lt;br /&gt;
==Zentrale==&lt;br /&gt;
*Der erste Schritt ist, in der virtuellen CCU von FHEM oder nur einem I/O-Device einen Schlüssel (Key) zu vergeben In FHEM kann mehr als ein Schlüssel hinterlegt sein (Attribute hmKey, hmKey2, hmKey3), als aktiv wird aber nur der Schlüssel mit dem höchsten Index betrachtet, und nur dieser wird, wie unten beschrieben, an ein gerät übertragen. Fügt man einen neuen Schlüssel hinzu und ein Gerät ist gerade nicht aktiv, kann/muss das System den vorigen Schlüssel noch nutzen. &lt;br /&gt;
** Der Systemverwalter muss sich den Schlüssel unbedingt merken. Er kann nicht aus den Geräten gelöscht werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
** Die Schlüssel werden MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
*Der zweite Schritt besteht darin, den Schlüssel mit dem höchstenm Index mit dem gerätespezifischen FHEM-Kommando &#039;&#039;assignHmKey&#039;&#039; an alle gepairten Geräte zu übertragen, mindestens aber an diejenigen, bei denen der AES-Encryption Modus eingeschaltet werden soll. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
Der aktuelle Schlüsselindex kann aus dem Reading &#039;&#039;&#039;aesKeyNbr&#039;&#039;&#039; des Geräts berechnet werden, wobei das Reading den im Funkprotokoll angeforderten Schlüssel wiederspiegelt, welcher den &#039;&#039;&#039;doppelten&#039;&#039;&#039; Wert des eigentlichen Schlüsselindex hat. Weiterhin muss beachtet werden, dass das Reading &#039;&#039;&#039;aesKeyNbr&#039;&#039;&#039; nur angepasst wird, wenn das Gerät eine Signatur anfordert, d.h. eine Schaltaktion ausgeführt oder ein Register geändert wird. &#039;&#039;&#039;Direkt nach dem assignHmKey hat das Reading noch einen veralteten Wert!&#039;&#039;&#039;&lt;br /&gt;
==Geräte==&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, dass dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
= Nachteile, Einschränkungen=&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=17436</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=17436"/>
		<updated>2016-11-22T08:35:26Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */ aesKeyNbr hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Grundlagen=&lt;br /&gt;
Anders als der Name vermuteten lässt, handelt es sich beim HM (Homematic) AES-Encryption Modus des &amp;quot;BidCos&amp;quot;-Protokolls nicht um verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch werden keine Kommandos von nicht autorisierter Quellen ausgeführt.&lt;br /&gt;
&lt;br /&gt;
Der AES-Encryption Modus sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
==AES-Prinzip==&lt;br /&gt;
Der &#039;&#039;&#039;Advanced Encryption Standard&#039;&#039;&#039; AES ist ein im Auftrag der US-Regierung entwickeltes symmetrisches Verschlüsselungsverfahren, bei dem sowohl Sender als auch Empfänger über die Kenntnis eines &#039;&#039;geheimen&#039;&#039; Schlüssels verfügen müssen. Das AES-Verfahren ist öffentlich bekannt und erfüllt damit ein wesentliches Kriterium sicherer Verfahren, nämlich ihre Überprüfbarkeit. Bis heute ist kein Verfahren bekannt, mit dem man eine AES-Verschlüsselung ohne Kenntnis des Schüssels &amp;quot;knacken&amp;quot; kann. Es gibt auch keine Hinweise darauf, dass die NSA dazu im Stande sein könnte.&lt;br /&gt;
&lt;br /&gt;
==Signatur==&lt;br /&gt;
Bei einer digitalen Signatur werden nicht Schlüssel verglichen, sondern das Ergebnis der Verschlüsselung bestimmter kurzer Datensätze. Ist das Ergebnis der Verschüsselung bei Sender und Empfänger gleich, kennen bei den gleichen geheimen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
=Kommunikationsstrecken=&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
*Von der SmartHome-Zentrale gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
*Weiter gibt es einen Weg zum I/O-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabelstrecke herstellt. Wenn FHEM die Zentrale bildet, ist das die FHEM-I/O-Schnittstelle.&lt;br /&gt;
*Es folgt die I/O-Geräte-Schnittstelle, die Funk- oder Kabelstrecke.&lt;br /&gt;
*Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Homematic-Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
== Zentrale &amp;lt;-&amp;gt; Frontend ==&lt;br /&gt;
Diese Schnittstelle ist in der Regel eine internetbasierte Verbindung, meist in Form eines Aufrufes im Web-Browser. Hier muss durch eines der standardisierten Sicherheitsverfahren im Internet für sichere Kommunikation gesorgt werden: Virtual Private Network (VPN), verschlüsseltes WLAN und HTTPS sind gängige Methoden, die hier nicht weiter diskutiert werden sollen.&lt;br /&gt;
&lt;br /&gt;
== Zentrale &amp;lt;-&amp;gt; I/O-Device ==&lt;br /&gt;
Homematic unterstützt auf dieser Strecke prinzipiell eine AES-Verschlüsselung, dies ist in FHEM allerdings nicht implementiert. Nutzt man stattdessen eine originale Homematic CCU2-Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein I/O-Device per LAN  oder WLAN benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss dieses Netz entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
== I/O-Device &amp;lt;-&amp;gt; Gerät ==&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät oder seit dem 18.07.2016 eines der neuen eq3 Sendemodule [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi]] / [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben. Damit die AES-Kommunikation mit einem dieser Module genutzt werden kann, muss das Perl-Modul Crypt::Rijndael (Debian: libcrypt-rijndael-perl) installiert sein.&lt;br /&gt;
&lt;br /&gt;
==Gerät &amp;lt;-&amp;gt; Gerät==&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: Ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
=Ablauf=&lt;br /&gt;
Bei eingeschaltetem AES-Encryption Modus wird ein Kommando durch den Empfänger nicht sofort ausgeführt. Der Empfänger sendet vielmehr einen Binärwert mit Signaturanforderung an den Sender (Challenge), welche dieser mit seinem bekannten AES-Schlüssel kodieren und zurücksenden muss (Response). Der Empfänger vergleicht diese mit einem Wert, den er selbst aus der Verschlüsselung mit seinem Schlüssel erhält. Nur wenn beide verschlüsselten Datenwerte übereinstimmen, wird das zuerst erhaltene Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
==Overhead==&lt;br /&gt;
Es ist aus diesem Ablauf klar, dass der AES-Encryption Modus zu einer zusätzlichen Zeitverzögerung zwischen dem Absenden und dem Ausführen eines Kommandos führt. Im günstigen Fall kann diese etwa 200 ms betragen, in ungünstigen Fällen auch höher sein. Außerdem erhöht sich auf einer Funkstrecke mit AES-Encryption Modus die Funklast auf den dreifachen Wert. Wegen der 1%-Regel kann dies ein I/O-gerät durchaus in die Überladung mit Befehlen steuern.&lt;br /&gt;
&lt;br /&gt;
Es ist deshalb zu empfehlen, den AES-Encryption Modus nur für sicherheitskritische Homematic-Geräte einzuschalten, etwa für Türöffner. Auch der Hersteller eQ-3 gibt diese Empfehlung.&lt;br /&gt;
&lt;br /&gt;
==Sicherheit==&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in &amp;quot;[https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES]&amp;quot; beschrieben. Henryk Plötz hat die Sicherheit des Kommunikationsprotokolls in &amp;quot;[https://blog.ploetzli.ch/2015/on-the-security-of-aes-in-homematic/ On the Security of AES in HomeMatic]&amp;quot; näher betrachtet.&lt;br /&gt;
&lt;br /&gt;
= Aktivieren, Einrichten, Umgang in FHEM =&lt;br /&gt;
==Zentrale==&lt;br /&gt;
*Der erste Schritt ist, in der virtuellen CCU von FHEM oder nur einem I/O-Device einen Schlüssel (Key) zu vergeben In FHEM kann mehr als ein Schlüssel hinterlegt sein (Attribute hmKey, hmKey2, hmKey3), als aktiv wird aber nur der Schlüssel mit dem höchsten Index betrachtet, und nur dieser wird, wie unten beschrieben, an ein gerät übertragen. Fügt man einen neuen Schlüssel hinzu und ein Gerät ist gerade nicht aktiv, kann/muss das System den vorigen Schlüssel noch nutzen. &lt;br /&gt;
** Der Systemverwalter muss sich den Schlüssel unbedingt merken. Er kann nicht aus den Geräten gelöscht werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
** Die Schlüssel werden MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
*Der zweite Schritt besteht darin, den Schlüssel mit dem höchstenm Index mit dem gerätespezifischen FHEM-Kommando &#039;&#039;assignHmKey&#039;&#039; an alle gepairten Geräte zu übertragen, mindestens aber an diejenigen, bei denen der AES-Encryption Modus eingeschaltet werden soll. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
Der aktuelle Schlüsselindex kann aus dem Reading &#039;&#039;&#039;aesKeyNbr&#039;&#039;&#039; des Geräts berechnet werden, das Reading gibt den im Funkprotokoll angeforderten Schlüssel wieder, welcher den &#039;&#039;&#039;doppelten&#039;&#039;&#039; Wert des eigentlichen Schlüsselindex hat. Weiterhin muss beachtet werden, dass das Reading &#039;&#039;&#039;aesKeyNbr&#039;&#039;&#039; nur angepasst, wenn das Gerät eine Signatur anfordert, d.h. eine Schaltaktion ausgeführt oder ein Register geändert wird. &#039;&#039;&#039;Direkt nach dem assignHmKey hat das Reading noch einen veralteten Wert!&#039;&#039;&#039;&lt;br /&gt;
==Geräte==&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, dass dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
= Nachteile, Einschränkungen=&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16366</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16366"/>
		<updated>2016-09-08T19:22:18Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: Bild hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-LGW-O-TW-W-EU-2.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway|HM-LGW-O-TW-W-EU(-2) Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]]. Die folgende Beschreibung bezieht sich sowohl auf HM-LGW-O-TW-W-EU als auch auf HM-LGW-O-TW-W-EU-2 (wenn nicht anders angegeben).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. &lt;br /&gt;
&lt;br /&gt;
Die Applikationsfirmware kann direkt aus Fhem aktualisiert werden, für die Aktualisierung der LAN-Firmware wird entweder der [http://www.eq-3.de/service/downloads.html?id=53 HomeMatic Netfinder] (Java, läuft unter Linux/OSX/Windows, [https://github.com/eq-3/occu/raw/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/hm-lgw-o-tw-w-eu_update.eq3 passendes Firmware-Image v. 1.1.5]) oder die eQ-3 Tools unter Linux benötigt. Die eQ-3 Tools liegen nur in 32bit vor, weshalb auf einem x86_64 System (amd64) noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden müssen.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des LAN-Firmwareupdates mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware mit Fhem ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/coprocessor_update_hm_only.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set meinLGW updateCoPro /path/to/coprocessor_update_hm_only.eq3&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:HM-LGW-O-TW-W-EU-2.jpg&amp;diff=16365</id>
		<title>Datei:HM-LGW-O-TW-W-EU-2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:HM-LGW-O-TW-W-EU-2.jpg&amp;diff=16365"/>
		<updated>2016-09-08T19:21:22Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: HM-LGW-O-TW-W-EU-2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HM-LGW-O-TW-W-EU-2&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16364</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16364"/>
		<updated>2016-09-08T19:13:22Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway|HM-LGW-O-TW-W-EU(-2) Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]]. Die folgende Beschreibung bezieht sich sowohl auf HM-LGW-O-TW-W-EU als auch auf HM-LGW-O-TW-W-EU-2 (wenn nicht anders angegeben).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. &lt;br /&gt;
&lt;br /&gt;
Die Applikationsfirmware kann direkt aus Fhem aktualisiert werden, für die Aktualisierung der LAN-Firmware wird entweder der [http://www.eq-3.de/service/downloads.html?id=53 HomeMatic Netfinder] (Java, läuft unter Linux/OSX/Windows, [https://github.com/eq-3/occu/raw/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/hm-lgw-o-tw-w-eu_update.eq3 passendes Firmware-Image v. 1.1.5]) oder die eQ-3 Tools unter Linux benötigt. Die eQ-3 Tools liegen nur in 32bit vor, weshalb auf einem x86_64 System (amd64) noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden müssen.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des LAN-Firmwareupdates mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware mit Fhem ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/coprocessor_update_hm_only.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set meinLGW updateCoPro /path/to/coprocessor_update_hm_only.eq3&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16363</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16363"/>
		<updated>2016-09-08T19:10:17Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: HM-LGW-O-TW-W-EU-2 erwähnt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU(-2) Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]]. Die folgende Beschreibung bezieht sich sowohl auf HM-LGW-O-TW-W-EU als auch auf HM-LGW-O-TW-W-EU-2 (wenn nicht anders angegeben).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. &lt;br /&gt;
&lt;br /&gt;
Die Applikationsfirmware kann direkt aus Fhem aktualisiert werden, für die Aktualisierung der LAN-Firmware wird entweder der [http://www.eq-3.de/service/downloads.html?id=53 HomeMatic Netfinder] (Java, läuft unter Linux/OSX/Windows, [https://github.com/eq-3/occu/raw/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/hm-lgw-o-tw-w-eu_update.eq3 passendes Firmware-Image v. 1.1.5]) oder die eQ-3 Tools unter Linux benötigt. Die eQ-3 Tools liegen nur in 32bit vor, weshalb auf einem x86_64 System (amd64) noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden müssen.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des LAN-Firmwareupdates mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware mit Fhem ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/coprocessor_update_hm_only.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set meinLGW updateCoPro /path/to/coprocessor_update_hm_only.eq3&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=16322</id>
		<title>HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi&amp;diff=16322"/>
		<updated>2016-09-03T17:56:01Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Firmware Update HM-MOD-RPI-PCB */ Applikationsfirmwareupdate jetzt über Fhem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funkmodul für Raspberry Pi &lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=1,8–3,6 V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=50 mA max.&lt;br /&gt;
|HWPoweredBy=RasPi&lt;br /&gt;
|HWSize=19x41x14mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi]] ist eine Zusatzplatine, die auf die GPIO-Schnittstelle des [[Raspberry Pi]] aufgesteckt werden und damit als [[Interface]] zu [[HomeMatic]] Geräten dienen kann.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das &amp;quot;neue&amp;quot; [[HM-LGW-O-TW-W-EU Funk-LAN Gateway|Funk-LAN Gateway HM-LGW-O-TW-W-EU]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Jessie===&lt;br /&gt;
Diese Beschreibung gilt für Jessie Version 27.05.2016.&lt;br /&gt;
Die Grundlagen findet man hier: [[Raspberry Pi 3: GPIO-Port Module und Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim PI 3 zusätzlich diese Zeilen ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dtoverlay=pi3-miniuart-bt&lt;br /&gt;
core_freq=250&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&amp;lt;pre&amp;gt;console=serial0,115200 &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl disable serial-getty@ttyAMA0.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei PI 3 den hciuart Service modifizieren: In der Datei /lib/systemd/system/hciuart.service zweimal ttyAMA0 gegen ttyS0 austauschen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sed -i s/ttyAMA0/ttyS0/ /lib/systemd/system/hciuart.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein!&lt;br /&gt;
Beim PI 3 kann man wegen Timingproblemen den Start von FHEM etwas verzögern. Dazu die /etc/init.d/fhem um sleep 10 am Anfang ergänzen.&lt;br /&gt;
&lt;br /&gt;
Das System unbedingt neu starten!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung serielle Schnittstelle unter Wheezy===&lt;br /&gt;
Diese Beschreibung gilt für Wheezy Version Stand 26.07.2016.&lt;br /&gt;
&lt;br /&gt;
Die Datei /boot/config.txt um diese Zeile ergänzen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;enable_uart=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Datei /boot/cmdline.txt diesen Eintrag löschen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;console=ttyAMA0,115200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte dann den folgenden Inhalt aufweisen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Dienst serial-getty deaktivieren&lt;br /&gt;
&lt;br /&gt;
in der Datei /etc/inittab wie folgt die Zeile (ziemlich am Ende) mit einer # auskommentieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mit folgendem Befehlen überprüfen, dass kein getty auf der Schnittstelle läuft&lt;br /&gt;
&amp;lt;pre&amp;gt;ps -A |grep getty&lt;br /&gt;
cat /etc/inittab&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Randnotiz|RNText=Tipp: Sollte der HM-MOD-RPI-PCB nach der Einrichtung immer wieder den Status zwischen init und disconnect wechseln, alle aufgeführten Punkte erneut kontrollieren! reboot nicht vergessen!}}&lt;br /&gt;
&lt;br /&gt;
Der Benutzer fhem muss Mitglied in der Gruppe dialout sein! Bitte prüfen:&lt;br /&gt;
&amp;lt;pre&amp;gt;groups fhem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das System unbedingt neu starten!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Kontrolle ===&lt;br /&gt;
Berechtigungen der Schnittstelle kontrollieren&lt;br /&gt;
&amp;lt;pre&amp;gt;ls -l /dev/ttyAMA0&amp;lt;/pre&amp;gt; liefert die Ausgabe unter Jessie&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---- 1 root dialout 204, 64 Jul 27 23:39 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
bzw. unter wheezy&lt;br /&gt;
&amp;lt;pre&amp;gt;crw-rw---T 1 root dialout 204, 64 Aug  9 18:07 /dev/ttyAMA0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition in FHEM===&lt;br /&gt;
&amp;lt;pre&amp;gt;define myHmUART HMUARTLGW /dev/ttyAMA0&lt;br /&gt;
attr myHmUART hmId xxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update HM-MOD-RPI-PCB ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/HM-MOD-UART/coprocessor_update.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set myHmUART updateCoPro /path/to/coprocessor_update.eq3&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Ein {{Link2Forum|Topic=41203|Message=340320|LinkText=Beitrag}} aus dem genannten Forenthread: &#039;&#039;Das Ding ist anscheinend wirklich einfach das Funkmodul aus der CCU2 (wird zumindest in der eQ-3 SW als CCU2 angesprochen) und spricht ein für Fhem vollkommen neues Protokoll.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16321</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16321"/>
		<updated>2016-09-03T17:53:01Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Update der Applikationsfirmware aus Fhem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]].&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. &lt;br /&gt;
&lt;br /&gt;
Die Applikationsfirmware kann direkt aus Fhem aktualisiert werden, für die Aktualisierung der LAN-Firmware wird entweder der [http://www.eq-3.de/service/downloads.html?id=53 HomeMatic Netfinder] (Java, läuft unter Linux/OSX/Windows, [https://github.com/eq-3/occu/raw/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/hm-lgw-o-tw-w-eu_update.eq3 passendes Firmware-Image v. 1.1.5]) oder die eQ-3 Tools unter Linux benötigt. Die eQ-3 Tools liegen nur in 32bit vor, weshalb auf einem x86_64 System (amd64) noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden müssen.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des LAN-Firmwareupdates mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware mit Fhem ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/coprocessor_update_hm_only.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set meinLGW updateCoPro /path/to/coprocessor_update_hm_only.eq3&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16320</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16320"/>
		<updated>2016-09-03T17:51:35Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweise zum Betrieb mit FHEM */ Applikationsfirmwareupdate jetzt über Fhem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]].&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. &lt;br /&gt;
&lt;br /&gt;
Die Applikationsfirmware kann direkt aus Fhem aktualisiert werden, für die Aktualisierung der LAN-Firmware wird entweder der [http://www.eq-3.de/service/downloads.html?id=53 HomeMatic Netfinder] (Java, läuft unter Linux/OSX/Windows, [https://github.com/eq-3/occu/raw/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/hm-lgw-o-tw-w-eu_update.eq3 passendes Firmware-Image v. 1.1.5]) oder die eQ-3 Tools unter Linux benötigt. Die eQ-3 Tools liegen nur in 32bit vor, weshalb auf einem x86_64 System (amd64) noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden müssen.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des LAN-Firmwareupdates mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware mit den eQ-3 Tools ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware aus Fhem ===&lt;br /&gt;
&lt;br /&gt;
1. Firmware herunterladen&lt;br /&gt;
 wget https://raw.githubusercontent.com/eq-3/occu/28045df83480122f90ab92f7c6e625f9bf3b61aa/firmware/coprocessor_update_hm_only.eq3&lt;br /&gt;
2. Flashen der neuen Firmware aus Fhem&lt;br /&gt;
 fhem&amp;gt; set meinLGW updateCoPro /path/to/coprocessor_update_hm_only.eq3&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16297</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16297"/>
		<updated>2016-08-30T16:10:40Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Vorbereitung des Firmwareupdates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]].&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. Beide Firmware-Versionen können mit den eQ-3-Tools unter Linux aktualisiert werden. Sollte das Update auf einem x86_64 System (amd64) erfolgen, müssen noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des Firmwareupdates ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ sudo apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-coprocessor -u -f -c -l 0 -d ../../../../firmware -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:33:03.791 &amp;lt;Debug&amp;gt; firmware filename is: coprocessor_update_hm_only.eq3&lt;br /&gt;
 &lt;br /&gt;
 cryptEnabled true2016/07/28 09:33:05.801  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:05.802  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:05.805 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:06.007  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:06.008  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:06.010 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.535 &amp;lt;Debug&amp;gt;  deliver firmware...&lt;br /&gt;
 2016/07/28 09:33:11.036 &amp;lt;Info&amp;gt; CCU2CommControllerMod::sendSystemCommand(): failed&lt;br /&gt;
 2016/07/28 09:33:11.037  CoprocessorUpdate::startBootloader()&lt;br /&gt;
 2016/07/28 09:33:11.039 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::startCoprocessorBootloader(): Trying to start coprocessor bootloader&lt;br /&gt;
 2016/07/28 09:33:11.040 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::sendSystemCommand(): Start Application / Bootloader&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in bootloader.&lt;br /&gt;
 2016/07/28 09:33:13.540 &amp;lt;Debug&amp;gt; CoprocessorUpdate::startBootloader():Coprocessor entered bootloader.&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 ...&lt;br /&gt;
 2016/07/28 09:33:21.138 &amp;lt;Info&amp;gt; Firmwareupdate successfull&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:21.139  LanConnection::disconnect&lt;br /&gt;
 2016/07/28 09:33:21.141  Closing socket 3&lt;br /&gt;
 2016/07/28 09:33:32.144 &amp;lt;Debug&amp;gt; Wait for disconnect timed out&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
Das &amp;quot;Wait for disconnect&amp;quot; kann man mit CTRL-C abbrechen.&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16296</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16296"/>
		<updated>2016-08-30T16:09:27Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweise zum Betrieb mit FHEM */ Definition hinzugefügt, Firmwareupdate erweitert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]].&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
 define meinLGW HMUARTLGW 192.168.42.23&lt;br /&gt;
 attr meinLGW lgwPw LGWPasswort&lt;br /&gt;
 attr meinLGW hmId xxxxxx&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. Beide Firmware-Versionen können mit den eQ-3-Tools unter Linux aktualisiert werden. Sollte das Update auf einem x86_64 System (amd64) erfolgen, müssen noch die 32bit Kompatibilitätsbibliotheken &#039;&#039;libc6-i386&#039;&#039; und &#039;&#039;lib32stdc++6&#039;&#039; installiert werden.&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des Firmwareupdates ===&lt;br /&gt;
&lt;br /&gt;
Installation der Kompatibilitätsbibliotheken (nur auf x86_64/amd64 ohne konfiguriertes Multiarch):&lt;br /&gt;
 $ apt-get install libc6-i386 lib32stdc++6&lt;br /&gt;
&lt;br /&gt;
Auschecken und Vorbereitung der eQ-3-Tools:&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 &lt;br /&gt;
 Auf arm:&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&lt;br /&gt;
 &lt;br /&gt;
 Auf x86 bzw. x86_64:&lt;br /&gt;
 $ cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 &lt;br /&gt;
 Wieder gemeinsam auf allen Plattformen:&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware ===&lt;br /&gt;
&lt;br /&gt;
Um das Update durchzuführen, muss man sich im Verzeichnis &#039;&#039;occu/arm-gnueabihf/packages-eQ-3/LinuxBasis/bin&#039;&#039; bzw. &#039;&#039;occu/X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin&#039;&#039; befinden.&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-coprocessor -u -f -c -l 0 -d ../../../../firmware -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:33:03.791 &amp;lt;Debug&amp;gt; firmware filename is: coprocessor_update_hm_only.eq3&lt;br /&gt;
 &lt;br /&gt;
 cryptEnabled true2016/07/28 09:33:05.801  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:05.802  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:05.805 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:06.007  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:06.008  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:06.010 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.535 &amp;lt;Debug&amp;gt;  deliver firmware...&lt;br /&gt;
 2016/07/28 09:33:11.036 &amp;lt;Info&amp;gt; CCU2CommControllerMod::sendSystemCommand(): failed&lt;br /&gt;
 2016/07/28 09:33:11.037  CoprocessorUpdate::startBootloader()&lt;br /&gt;
 2016/07/28 09:33:11.039 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::startCoprocessorBootloader(): Trying to start coprocessor bootloader&lt;br /&gt;
 2016/07/28 09:33:11.040 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::sendSystemCommand(): Start Application / Bootloader&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in bootloader.&lt;br /&gt;
 2016/07/28 09:33:13.540 &amp;lt;Debug&amp;gt; CoprocessorUpdate::startBootloader():Coprocessor entered bootloader.&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 ...&lt;br /&gt;
 2016/07/28 09:33:21.138 &amp;lt;Info&amp;gt; Firmwareupdate successfull&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:21.139  LanConnection::disconnect&lt;br /&gt;
 2016/07/28 09:33:21.141  Closing socket 3&lt;br /&gt;
 2016/07/28 09:33:32.144 &amp;lt;Debug&amp;gt; Wait for disconnect timed out&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
Das &amp;quot;Wait for disconnect&amp;quot; kann man mit CTRL-C abbrechen.&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16270</id>
		<title>HM-LGW-O-TW-W-EU Funk-LAN Gateway</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LGW-O-TW-W-EU_Funk-LAN_Gateway&amp;diff=16270"/>
		<updated>2016-08-25T20:35:34Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweise zum Betrieb mit FHEM */ Informationen zum Firmwareupdate hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=HomeMatic Funk-LAN Gateway&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3/869,525 MHz&lt;br /&gt;
|HWChannels=n/a&lt;br /&gt;
|HWVoltage=5V&amp;amp;nbsp;DC&lt;br /&gt;
|HWPowerConsumption=0,8W&lt;br /&gt;
|HWPoweredBy=DC-Buchse&lt;br /&gt;
|HWSize=116x150x34mm&lt;br /&gt;
|HWDeviceFHEM=[[HMUARTLGW]]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[HM-LGW-O-TW-W-EU Funk-LAN Gateway]] ist ein [[Interface]] zu [[HomeMatic]] Geräten, ähnlich dem [[HM-CFG-LAN LAN Konfigurations-Adapter|LAN Konfigurations-Adapter]].&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
(Noch zu ergänzen)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Juni 2016: Beginn der Entwicklung eines FHEM-Moduls (HMUARTLGW) für dieses Interface, beschrieben im Forum unter dem Titel {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}. Dieses Modul unterstützt gleichzeitig auch das [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|Funkmodul für Raspberry Pi]].&lt;br /&gt;
&lt;br /&gt;
Juli 2016: [[HMUARTLGW]] wird über FHEM [[update]] verteilt, damit ist dieses Funkmodul offiziell unterstützt.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Es sollte darauf geachtet werden, dass die beiden Firmware-Versionen des Funk-LAN Gateway aktuell sind (aktuell: Applikation: 1.4.1, LAN: 1.1.5). LAN-Firmwareversionen &amp;lt; 1.1.5 haben Stabilitätsprobleme. Beide Firmware-Versionen können mit den eQ3-Tools unter Linux aktualisiert werden:&lt;br /&gt;
&lt;br /&gt;
(Im folgenden &amp;quot;NEQ0218723&amp;quot; durch die eigene Seriennummer des Funk-LAN Gateway ersetzen und &amp;quot;geheimesLGWPasswort&amp;quot; durch das LGW-Passwort. Falls die Verschlüsselung deaktiviert wurde, dann das -k komplett weglassen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung des Firmwareupdates ===&lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/eq-3/occu&lt;br /&gt;
 ...&lt;br /&gt;
 $ cd occu&lt;br /&gt;
 $ sudo ln -s $(pwd)/firmware /firmware&lt;br /&gt;
 $ cd arm-gnueabihf/packages-eQ-3/LinuxBasis/bin (auf ARM) bzw. cd X86_32_Debian_Wheezy/packages-eQ-3/LinuxBasis/bin (auf X86/X86_64)&lt;br /&gt;
 $ chmod 755 eq3configcmd&lt;br /&gt;
&lt;br /&gt;
=== Update der LAN-Firmware ===&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-lgw-firmware -u ../../../../firmware/hm-lgw-o-tw-w-eu_update.eq3  -console -l 1 -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:25:24.264 &amp;lt;Info&amp;gt; LAN Gateway Firmware Update...&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:24.265 &amp;lt;Info&amp;gt; Gateway NEQ0218723&lt;br /&gt;
 2016/07/28 09:25:26.273 &amp;lt;Info&amp;gt; Gateway type is eQ3-HM-LGW-App&lt;br /&gt;
 cryptEnabled true2016/07/28 09:25:33.313 &amp;lt;Info&amp;gt; Updating firmware....&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:25:38.467 &amp;lt;Info&amp;gt; Update performed. Waiting for gateway to get ready.&lt;br /&gt;
&lt;br /&gt;
=== Update der Applikationsfirmware ===&lt;br /&gt;
&lt;br /&gt;
 $ LD_LIBRARY_PATH=../lib:../../RFD/lib ./eq3configcmd update-coprocessor -u -f -c -l 0 -d ../../../../firmware -s NEQ0218723 -k &#039;geheimesLGWPasswort&#039;&lt;br /&gt;
 2016/07/28 09:33:03.791 &amp;lt;Debug&amp;gt; firmware filename is: coprocessor_update_hm_only.eq3&lt;br /&gt;
 &lt;br /&gt;
 cryptEnabled true2016/07/28 09:33:05.801  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:05.802  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:05.805 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:06.007  LanConnection::connect&lt;br /&gt;
 2016/07/28 09:33:06.008  LanConnection::connect done&lt;br /&gt;
 2016/07/28 09:33:06.010 &amp;lt;Info&amp;gt; Lan Device Information:&lt;br /&gt;
 Protocol-Version: 1&lt;br /&gt;
 Product-ID: eQ3-HM-LGW&lt;br /&gt;
 Firmware-Version: 1.1.5&lt;br /&gt;
 Serial Number: NEQ0218723&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.516 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:07.517 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in application.&lt;br /&gt;
 2016/07/28 09:33:07.535 &amp;lt;Debug&amp;gt;  deliver firmware...&lt;br /&gt;
 2016/07/28 09:33:11.036 &amp;lt;Info&amp;gt; CCU2CommControllerMod::sendSystemCommand(): failed&lt;br /&gt;
 2016/07/28 09:33:11.037  CoprocessorUpdate::startBootloader()&lt;br /&gt;
 2016/07/28 09:33:11.039 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::startCoprocessorBootloader(): Trying to start coprocessor bootloader&lt;br /&gt;
 2016/07/28 09:33:11.040 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::sendSystemCommand(): Start Application / Bootloader&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:11.044 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:13.149 &amp;lt;Debug&amp;gt; (NEQ0218723) CCU2CommControllerMod::handleIdentifyEvent(): Coprocessor is in bootloader.&lt;br /&gt;
 2016/07/28 09:33:13.540 &amp;lt;Debug&amp;gt; CoprocessorUpdate::startBootloader():Coprocessor entered bootloader.&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::CCU2CoprocessorCommandMod(): System frame&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CoprocessorCommandMod::isResponseStatusOk(): System status OK&lt;br /&gt;
 2016/07/28 09:33:14.090 &amp;lt;Debug&amp;gt; CCU2CommControllerMod::handleIncomingResponse() System response OK&lt;br /&gt;
 ...&lt;br /&gt;
 2016/07/28 09:33:21.138 &amp;lt;Info&amp;gt; Firmwareupdate successfull&lt;br /&gt;
 &lt;br /&gt;
 2016/07/28 09:33:21.139  LanConnection::disconnect&lt;br /&gt;
 2016/07/28 09:33:21.141  Closing socket 3&lt;br /&gt;
 2016/07/28 09:33:32.144 &amp;lt;Debug&amp;gt; Wait for disconnect timed out&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
Das &amp;quot;Wait for disconnect&amp;quot; kann man mit CTRL-C abbrechen.&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Das LGW hat (anders als das UART-Modul) keine eigene &#039;&#039;hmId&#039;&#039; (das Reading &#039;&#039;D-HMIdOriginal&#039;&#039; ist auf FFFFFF gesetzt). Es muss also mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr meinLGW hmId xxxxxx&amp;lt;/code&amp;gt;&lt;br /&gt;
eine nach den in der [http://fhem.de/commandref.html#hmId commandref] definierten Regeln gewählte Id gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=41203|LinkText=Forenthread}} mit Nachfrage zur Unterstützung dieses Geräts in FHEM&lt;br /&gt;
* {{Link2Forum|Topic=54511|LinkText=Modul für HomeMatic UART-Modul (RPi) und HomeMatic LAN Gateway}}&lt;br /&gt;
* [http://www.elv.de/homematic-funk-lan-gateway.html Produktseite] bei ELV&lt;br /&gt;
* {{DocLink|elv|/Assets/Produkte/10/1040/104029/Downloads/104029_lan_gateway_um.pdf Bedienungsanleitung}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12242</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12242"/>
		<updated>2015-09-23T13:56:13Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* IO  Gerät */ Benötigtes Perl-Modul hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben. Damit die AES-Kommunikation mit einem CUL genutzt werden kann, muss das Perl-Modul Crypt::Rijndael (Debian: libcrypt-rijndael-perl) installiert sein.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in &amp;quot;[https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES]&amp;quot; beschrieben. Henryk Plötz hat die Sicherheit des Kommunikationsprotokolls in &amp;quot;[https://blog.ploetzli.ch/2015/on-the-security-of-aes-in-homematic/ On the Security of AES in HomeMatic]&amp;quot; näher betrachtet.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resettet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
* Der Key muss entweder der VCCU (CUL/HMLAN/HMUSB) oder den IO Geräten (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12241</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12241"/>
		<updated>2015-09-23T13:53:17Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Ablauf */ Link zu henryks Sicherheitsanalyse hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in &amp;quot;[https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES]&amp;quot; beschrieben. Henryk Plötz hat die Sicherheit des Kommunikationsprotokolls in &amp;quot;[https://blog.ploetzli.ch/2015/on-the-security-of-aes-in-homematic/ On the Security of AES in HomeMatic]&amp;quot; näher betrachtet.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resettet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
* Der Key muss entweder der VCCU (CUL/HMLAN/HMUSB) oder den IO Geräten (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=12208</id>
		<title>HM-CFG-USB USB Konfigurations-Adapter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=12208"/>
		<updated>2015-09-22T07:58:29Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Einrichtung unter Linux */ Falschen Hinweis zu Debian entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=platzHalter.png&lt;br /&gt;
|Bildbeschreibung=todo&lt;br /&gt;
|HWProtocol=HomeMatic &lt;br /&gt;
|HWType=Interface/Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3MHz&lt;br /&gt;
|HWChannels=&lt;br /&gt;
|HWVoltage=&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB-Bus&lt;br /&gt;
|HWSize=&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
&amp;lt;!-- |ModOwner=  --&amp;gt;&lt;br /&gt;
|HWManufacturer=HomeMatic &lt;br /&gt;
}}&lt;br /&gt;
Der [[HomeMatic]] &#039;&#039;&#039;USB Konfigurations-Adapter&#039;&#039;&#039; ist ein USB-Stick, der außer zur Konfiguration von HomeMatic Komponenten auch als [[Interface]] zwischen Fhem und HomeMatic Geräten benutzt werden kann. Er existiert in zwei Versionen: der älteren HM-CFG-USB und der neueren HM-CFG-USB2. Die folgenden Beschreibungen gelten für beide Versionen, es sei denn, es ist ausdrücklich eine spezifische Version genannt.&lt;br /&gt;
&lt;br /&gt;
== Einbindung in Fhem ==&lt;br /&gt;
Im Fhem-Forum wird die Einbindung als Interface in diesem {{Link2Forum|Topic=13071}} beschrieben und diskutiert. Im {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} wird eine gut funktionierende HMLAN-Emulationssoftware [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland] von ihrem Entwickler vorgestellt, um den HM-CFG-USB in Fhem zu integrieren. Die HMLAN-Emulationssoftware muss zunächst kompiliert und installiert werden. Anschließend wird der HM-CFG-USB (üblicherweise auf localhost) genau wie [[HM-CFG-LAN LAN Konfigurations-Adapter|HMLAN]] in Fhem eingebunden. &lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Linux ===&lt;br /&gt;
Die Schritte zur Kompilierung und Installation hat der hmland-Entwickler sowohl auf der [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland-Internetseite] in Englisch (kurz) als auch im oben genannten {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} in Deutsch (ausführlich) dargestellt. Die dort gemachten Angaben werden auch bei Bedarf aktualisiert und sind deshalb der beste Anlaufpunkt für Kompilierung und Installation. &lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Angaben in diesem Abschnitt sind rein zu Informationszwecken (noch) enthalten: &lt;br /&gt;
&lt;br /&gt;
Zunächst muss die HMLAN-Emulationssoftware kompiliert werden. Analog zu [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb dieser Beschreibung] ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):&lt;br /&gt;
 cd /opt/&lt;br /&gt;
 apt-get install build-essential libusb-1.0-0-dev make gcc git-core&lt;br /&gt;
 git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
 cd hmcfgusb&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Danach kann der Dienst zu Testzwecken gestartet werden (in /opt/hmcfgusb):&lt;br /&gt;
:&amp;lt;code&amp;gt;./hmland -p 1234 -D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start als Daemon ====&lt;br /&gt;
Um den hmland als Daemon mit dem Betriebsystem automatisiert zu starten, kann ein init-script genutzt werden. In diesem {{Link2Forum|Topic=13071|Message=190887}} ist ein Skript zur automatischen Einrichtung von hmland als Daemon über init mit Installationsanweisung enthalten. Dieses Skript enthält zudem auch die Befehle zum Download, Kompilierung und Installation von hmland, so dass fast keine manuellen Eingriffe notwendig sind.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist auch der (umständlichere) manuelle Weg möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: hmland&lt;br /&gt;
# Required-Start: $localfs $syslog $remote_fs&lt;br /&gt;
# Required-Stop:&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: hmland daemon&lt;br /&gt;
# Description: hmland daemon, Homematic USB Adapter on port 1234&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
 # simple init for hmland&lt;br /&gt;
 &lt;br /&gt;
 pidfile=/var/run/hmland.pid&lt;br /&gt;
 port=1234&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start|&amp;quot;&amp;quot;)&lt;br /&gt;
 	chrt 50 /opt/hmcfgusb/hmland -d -P -l 127.0.0.1 -p $port 2&amp;gt;&amp;amp;1 | perl -ne &#039;$|=1; print localtime . &amp;quot;: [hmland] $_&amp;quot;&#039; &amp;gt;&amp;gt; /var/log/hmland.log &amp;amp;&lt;br /&gt;
 	;;&lt;br /&gt;
  restart|reload|force-reload)&lt;br /&gt;
 	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
 	exit 3&lt;br /&gt;
 	;;&lt;br /&gt;
  stop)&lt;br /&gt;
 	killall hmland&lt;br /&gt;
 	;;&lt;br /&gt;
  status)&lt;br /&gt;
 	if [ ! -e $pidfile ]; then&lt;br /&gt;
 		echo &amp;quot;No pid&amp;quot;&lt;br /&gt;
 		exit 1&lt;br /&gt;
 	fi&lt;br /&gt;
 	pid=`cat $pidfile`&lt;br /&gt;
 	if kill -0 $pid &amp;amp;&amp;gt;1 &amp;gt; /dev/null; then&lt;br /&gt;
 		echo &amp;quot;Running&amp;quot;&lt;br /&gt;
 		exit 0&lt;br /&gt;
 	else&lt;br /&gt;
 		rm $pidfile&lt;br /&gt;
 		echo &amp;quot;Not running&amp;quot;&lt;br /&gt;
 		exit 1&lt;br /&gt;
 	fi&lt;br /&gt;
 &lt;br /&gt;
 	;;&lt;br /&gt;
  *)&lt;br /&gt;
 	echo &amp;quot;Usage: hmland [start|stop|status]&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
 	exit 3&lt;br /&gt;
 	;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Distributionen, die Upstart einsetzen (z.B. xbian) kann folgendes Konfigurationsfile verwendet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# HMLAND&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;hmland&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on starting fhem&lt;br /&gt;
stop on stopped fhem&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
expect fork&lt;br /&gt;
&lt;br /&gt;
chdir /opt/hmcfgusb&lt;br /&gt;
exec /opt/hmcfgusb/hmland -d -l 127.0.0.1 -p 1234&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte als &amp;quot;/etc/init/hmland.conf&amp;quot; angelegt werden. Mit dem Befehl &lt;br /&gt;
 initctl reload-configuration&lt;br /&gt;
wird Upstart angewiesen, seine Konfiguration erneut einzulesen. Danach kann der neue Dienst &lt;br /&gt;
mit &lt;br /&gt;
 service hmland start&lt;br /&gt;
gestartet werden. &amp;lt;code&amp;gt;hmland&amp;lt;/code&amp;gt; wird jetzt immer vor Fhem gestartet und nach Fhem beendet.&lt;br /&gt;
&lt;br /&gt;
==== Start über Fhem Startskript ====&lt;br /&gt;
&lt;br /&gt;
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen:&lt;br /&gt;
&lt;br /&gt;
Zunächst hmland kompilieren wie oben beschrieben, bis zum make. Das muss erfolgreich durchgelaufen sein.&lt;br /&gt;
&lt;br /&gt;
Dann geht es weiter:&lt;br /&gt;
&lt;br /&gt;
 sudo cp hmcfgusb.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
Jetzt das Fhem Startskript anpassen (in den Blöcken &#039;start&#039; und &#039;stop&#039; muss quasi nur jeweils 1 Zeile eingefügt werden:&lt;br /&gt;
&lt;br /&gt;
Damit editiert man das Fhem Startskript:&lt;br /&gt;
 sudo nano /etc/init.d/fhem&lt;br /&gt;
&lt;br /&gt;
Und so sollten die Blöcke anschließend aussehen (bitte nur jeweils die Zeile mit hmland einfügen)&lt;br /&gt;
&lt;br /&gt;
 &#039;start&#039;)&lt;br /&gt;
        echo &amp;quot;Starting fhem...&amp;quot;&lt;br /&gt;
        /opt/hmcfgusb/hmland -d -p 1234&lt;br /&gt;
        perl fhem.pl fhem.cfg&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
 &#039;stop&#039;)&lt;br /&gt;
        echo &amp;quot;Stopping fhem...&amp;quot;&lt;br /&gt;
        perl fhem.pl $port &amp;quot;shutdown&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        pkill hmland&lt;br /&gt;
&lt;br /&gt;
So wird hmland vor Fhem gestartet und nach Fhem beendet. Letztlich erspart es Probleme mit den diversen Startskripten und ihren Rechten.&lt;br /&gt;
&lt;br /&gt;
Es dauert nach dem Start von Fhem noch einige Sekunden, bis hmland fertig geladen ist. In dieser Zeit kann es zu fehlerhaften Einträgen im Logfile kommen.&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Mac OS X ===&lt;br /&gt;
Wie unter Linux braucht man die HMLAN-Emulationssoftware hmland, die man aus Quelltexten erstellen muss. Dazu muss man die Bibliothek libusb installieren, entweder mit einem der Paketmanager wie Fink, MacPorts oder Homebrew oder direkt aus den Quellentexten (Beispiel: &amp;quot;fink install libusb1-shlibs libusb1&amp;quot;). Hat man wie bei Linux das Quelltextarchiv für hmland heruntergeladen und ausgepackt, müssen die Dateien Makefile und hmcfgusb.c angepasst werden. &lt;br /&gt;
&lt;br /&gt;
Im Makefile muss man den Pfad zur libusb anpassen. Hat man libusb mit fink installiert, muss man, &amp;quot;/opt/local/&amp;quot; durch &amp;quot;/sw/&amp;quot; bei den CFLAGS und den LDFLAGS ersetzen und&lt;br /&gt;
das &amp;quot;-lrt&amp;quot; aus den LDLIBS entfernen. Die Library librt gibt es bei Mac OS X nicht und wird anscheinend auch nicht gebraucht. (Stimmt das eigentlich?)&lt;br /&gt;
&lt;br /&gt;
In der Datei hmcfgusb.c muss man die Zeilen 130-134 mit dem Aufruf libusb_detach_kernel_driver auskommentieren oder löschen. Der geht nicht auf Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Nach den Änderungen in den zwei Dateien, kann man wie bei Linux den Dämon hmland mit dem Kommando &amp;quot;make&amp;quot; erzeugen und mit &amp;quot;./hmland&amp;quot; ausführen. Automatisches Starten beim Booten mit launchd ist noch nicht probiert.&lt;br /&gt;
&lt;br /&gt;
Beim Start von hmland sollte man folgende Fehlermeldung in einer Endlos-Schleife erhalten:&lt;br /&gt;
&lt;br /&gt;
Datum Zeit: Client 127.0.0.1 connected! &amp;lt;br /&amp;gt;&lt;br /&gt;
Can&#039;t claim interface: Access denied (insufficient permissions) &amp;lt;br /&amp;gt;&lt;br /&gt;
Can&#039;t find/open hmcfgusb! &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum Zeit: Connection to 127.0.0.1 closed! &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch ein Start von hmland mit Superuser-Rechten ändert daran nichts. Damit das claim interface klappt, muss man eine codeless kext in den Ordner /Library/Extensions legen. Ich habe dieses (http://mspdebug.sourceforge.net/misc/ex430rf2500-kext.zip) herunter geladen. Damit es funktioniert, muss man aber in der Datei Info.plist des Bundle die Properties idProduct und idVendor ändern, entweder mit dem Property List Editor oder einem anderen Texteditor. Die beiden Properties sind etwas versteckt bei Information Property List → IOKitPersonalities → ComIntf. Bei DebugIntf und DeviceDriver scheint man es nicht ändern zu müssen, aber schaden kann es nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
idProduct: 49167&amp;lt;br /&amp;gt;&lt;br /&gt;
idVendor: 6943&lt;br /&gt;
&lt;br /&gt;
Die Rechte des kext-Bundles müssen auch noch gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
  chmod -R 755 ex430rf2500.kext&lt;br /&gt;
  chown -R root:wheel ex430rf2500.kext&lt;br /&gt;
&lt;br /&gt;
Danach die Datei ex430rf2500.kext in den Ordner /Library/Extensions legen und hmland sollte dann funktionieren.&lt;br /&gt;
&lt;br /&gt;
Es kann sein, dass ab Mac OS X 10.9 der Trick mit dem codeless kext nicht mehr funktioniert, aber noch ist das nicht getestet oder bestätigt. Langfristig kann man vielleicht auch eine kext mit einem Treiber für den HM-CFG-USB USB erstellen&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Windows ===&lt;br /&gt;
Bei der Einrichtung und vermutlich auch dem Betrieb unter Windows 8.1 sind wegen der erweiterten Energieverwaltungsfunktionen die von eQ-3 [http://www.eq-3.de/Downloads/eq3/pdf_FAQ/Funk-Konfigurationsdapter-USB_Windos_8.1.pdf zusammengestellten Tipps] zu befolgen.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
=== Verbindung zu neueren hmland-Versionen nicht stabil ===&lt;br /&gt;
Seit Version 0.100 meldet sich die HMLAN-Emulationssoftware als USB-Interface bei Fhem. Ältere Fhem-Versionen (vor dem 19.6.2015) brechen deshalb die Verbindung ab, da sie nur ein LAN-Interface erwarten.&lt;br /&gt;
&lt;br /&gt;
Lösung: Kommandozeilenparameter &amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; dem hmland-Aufruf hinzufügen, dann meldet sich dieser wieder als LAN-Interface.&lt;br /&gt;
&lt;br /&gt;
=== Stick nicht (mehr) ansprechbar ===&lt;br /&gt;
Zitat aus dem {{Link2Forum|Topic=32502|Message=249122|LinkText=Fhem-Forum}}: &lt;br /&gt;
:&#039;&#039;... befürchte ich, dass dein Stick das Zeitliche gesegnet hat. Machen die Dinger leider sehr gerne... Ganz besonders beim Modus-Wechsel vom 10k- in den 100k-Modus, wenn man bei irgendeinem Device ein Firmwareupdate durchführt. &amp;lt;br /&amp;gt;Die gute Nachricht ist, dass der Fehler bei sämtlichen Händlern bekannt ist und anstandslos getauscht wird.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
Der USB-Stack am Raspberry Pi ist für viele Probleme verantwortlich. Daher sieht man öfter Fehlermeldungen:&lt;br /&gt;
:&amp;lt;code&amp;gt;usb-transfer took more than 100ms (1039ms), this may lead to timing problems!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da das Timing bei Homematic wichtig ist führt das zu vielen Retransmits und zu unzuverlässigen Aktoren. Als Workaround kann man den USB-Stack auf die deutlich langsamere Version 1.1 stellen. Dazu fügt man folgenden Text am Anfang der Datei /boot/cmdline.txt ein:&lt;br /&gt;
:&amp;lt;code&amp;gt;dwc_otg.speed=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
Die erweiterte Energieverwaltung unter Windows 8.1 kann dazu führen, dass der Adapter unerwünschterweise in den Stand-by Modus versetzt wird (siehe [[HM-CFG-USB USB Konfigurations-Adapter#Einrichtung unter Windows|Einrichtung unter Windows]]).&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Informationen ==&lt;br /&gt;
Es sind zwei Versionen des HM-CFG-USB im Umlauf:&lt;br /&gt;
* HM-CFG-USB-2: die aktuelle Version; Dokumentation derzeit (12/2013) nicht über die ELV-Artikelseite verfügbar, alternativ jedoch bei [http://files.voelkner.de/625000-649999/640558-an-01-ml-USB_FUNK_KONFIGURATIONSADAPTER_de_en.pdf Völkner]; Kennzeichen dieser Version: &lt;br /&gt;
** Größe: 28 x 84 x 11,5&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 18&amp;amp;nbsp;g&lt;br /&gt;
** Antenne innenliegend&lt;br /&gt;
* HM-CFG-USB: Vorgängerversion; Stand 12/2013 noch Restbestände im Handel verfügbar. Dokumentation ([http://files.voelkner.de/625000-649999/646462-an-01-ml-HM_Konfigurationsadapter_CFG_USB_de_en.pdf Völkner]); Kennzeichen:&lt;br /&gt;
** Anschluss per separatem USB-Kabel&lt;br /&gt;
** abstehende Stabantenne&lt;br /&gt;
** Größe: 40 x 90 x 25&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 45&amp;amp;nbsp;g&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Fhem-Forums {{Link2Forum|Topic=13071}}: HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem nutzen&lt;br /&gt;
* [http://www.elv.de/homematic-usb-konfigurations-adapter-1.html ELV Shopseite] zum HM-CFG-USB&lt;br /&gt;
* [http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/homematic-funk-konfigurationsadapter-usb.html eQ-3 Produktseite] zum &amp;quot;HomeMatic Funk-Konfigurationsadapter USB&amp;quot;; Downloads, technische Daten, etc.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:OSX]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12132</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12132"/>
		<updated>2015-09-14T08:08:45Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resettet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
* Der Key muss entweder der VCCU (CUL/HMLAN/HMUSB) oder den IO Geräten (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12125</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12125"/>
		<updated>2015-09-12T11:50:00Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resettet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ-3 zurückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES-Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12124</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12124"/>
		<updated>2015-09-12T11:47:26Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resettet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES-Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12123</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12123"/>
		<updated>2015-09-12T11:43:27Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Kommunikationsstrecken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO-Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12122</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12122"/>
		<updated>2015-09-12T11:42:26Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern der eigene Schlüssel unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne die Komponenten vorher auf Werkseinstellung zurückzusetzen, sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und zurückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue CCU angelernt werden soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen (hauptsächlich Dimmer mit älteren Firmware-Versionen) in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12121</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12121"/>
		<updated>2015-09-12T11:39:11Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Ablauf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signaturanforderung an den Sender zurück, welche dieser mit einem beiden Seiten bekannten AES-Schlüssel kodieren und zurücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der System-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/ Dissecting HomeMatic AES] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12120</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12120"/>
		<updated>2015-09-12T11:35:23Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Kommunikationsstrecken */ Überarbeitet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der sichere Betrieb von Hausautomatisierungssystemen betrifft unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (Web-Interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO-Gerät ([[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUL]], [[CUN]], [[CUNO]]) welches die Brücke zur Funk- oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Dieser Schnittstelle folgt die IO-Geräte-Schnittstelle, die Funkstrecke.&lt;br /&gt;
Letztlich gibt es noch die Geräte-Geräte Schnittstelle für die direkte Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nur als Teil einer anderen Sicherheitslösung genutzt. Diese Schnittstelle muss der User durch andere Verfahren, wie VPN-Tunnel, HTTPS, Challenge-Response Logins und ähnliches sichern. AES wird in diesem Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic unterstützt AES auf dieser Strecke, dies ist in FHEM allerdings nicht implementiert. Nutzt man eine CCU(2)  anstelle von FHEM als Zentrale, kann hier AES aktiviert werden. Wenn FHEM die Zentrale ist, muss im [[HMLAN Konfigurator]] die Netzwerkseitige AES-Verschlüsselung über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem [[HMLAN Konfigurator]] kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. kein Sicherheitsproblem. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
Sollte man ein IO-Device per LAN (Ethernet) benutzen ([[HMLAN Konfigurator]], [[CUN]], [[CUNO]]) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein [[HMLAN Konfigurator]], [[HM-CFG-USB USB Konfigurations-Adapter]] oder seit dem 28.6.2015 ein [[CUL]]-kompatibles Gerät genutzt werden. Die Kommunikation auf Signaturbasis ist im Abschnitt [[#Ablauf|Ablauf]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann auch für die Kommunikation zwischen den Geräten aktiviert werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) durch den Empfänger durch Anforderung einer AES-Signatur überprüft. Dies kann je Kanal aktiviert bzw. deaktiviert werden: ein 2-Kanal Schalter kann also auf einem Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12119</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12119"/>
		<updated>2015-09-12T11:18:30Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Nachteile, Einschränkungen */ Alle IOs können AES&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12118</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12118"/>
		<updated>2015-09-12T11:16:26Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */ Beispiele hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
 attr VCCU hmKey geheimerSchluessel&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
 set Geraet assignHmKey&lt;br /&gt;
 set Schalter assignHmKey&lt;br /&gt;
* Eine AES Signatur muss vom Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort aktiviert. Dies wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf &#039;&#039;&#039;on&#039;&#039;&#039; erreicht, wobei es für jeden Kanal des Geräts separat gesteuert wird. &lt;br /&gt;
 set Geraet sign on&lt;br /&gt;
 set Schalter_Btn_01 sign on&lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen. Hiermit kann der Sender überprüfen, ob tatsächlich eine AES-Transaktion stattgefunden hat und diese vom Gerät korrekt bestätigt wurde. Falls dies nicht der Fall ist, wird die Anfrage wiederholt bzw. dem Benutzer ein Fehler signalisiert.&lt;br /&gt;
 set Schalter_Btn_01 regSet expectAES on Geraet&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so sie einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen. Damit die Signatur angefordert wird, muss das Attribut auf jeden Fall auch im Gerät gesetzt werden, auch wenn nur ein einzelner Kanal betroffen ist. Hiermit kann die Überprüfung für ein Gerät sehr schnell deaktiviert werden, indem nur das Geräteattribut wieder entfernt wird (z.B. nach Factory-Reset nötig, wenn das Gerät den eigenen Schlüssel noch nicht kennt). Sollte die Signaturüberprüfung fehlschlagen, verarbeitet Fhem den Befehl nicht.&lt;br /&gt;
 attr Geraet aesCommReq 1&lt;br /&gt;
 attr Schalter aesCommReq 1&lt;br /&gt;
 attr Schalter_Btn_01 aesCommReq 1&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12058</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12058"/>
		<updated>2015-08-25T08:03:14Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: Einleitung überarbeitet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich verschlüsselten Funkverkehr, sondern um das Einschalten eines Signatur-Modus (AES-Challenge-Response (CR)). Hierbei muss sich der Sender durch das Signieren seiner Nachrichten mit einem allen Kommunikationspartnern bekannten AES-Schlüssel authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Die eigentliche Datenübertragung findet im Klartext statt und kann immer mitgelesen bzw. abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12057</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12057"/>
		<updated>2015-08-25T07:56:54Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Ablauf */ Link zu AES-Signaturverfahren hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
Der genaue Ablauf des AES-Signaturverfahrens ist in [https://git.zerfleddert.de/hmcfgusb/AES/] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12053</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=12053"/>
		<updated>2015-08-24T18:17:20Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */ Einrichtung klarer beschrieben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
&lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der Key muss der VCCU (CUL/HMLAN/HMUSB) bzw. dem IO Gerät (nur HMLAN/HMUSB) bekannt gemacht werden. Er wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn im Klartext oder bereits kodiert eingeben. FHEM kodiert ihn, wenn er im Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Nun kann der Schlüssel auf die einzelnen Geräte übertragen werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-SEC-KEY_KeyMatic&amp;diff=12052</id>
		<title>HM-SEC-KEY KeyMatic</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-SEC-KEY_KeyMatic&amp;diff=12052"/>
		<updated>2015-08-24T18:09:28Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweise zum Betrieb mit FHEM */ AES Informationen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Features ==&lt;br /&gt;
Das Gerät dient zum motorgesteuerten Betätigen von Zylinderschlössern in Türen.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Der HM-SEC-KEY Keymatic  verwendet ausschließlich die AES authentifizierte Kommunikation und kann mit dem [[HMLAN Konfigurator]] bzw. [[CUL]] gesteuert werden.&lt;br /&gt;
&lt;br /&gt;
Das Pairing sollte wie in [[HomeMatic Devices pairen]] beschrieben durchgeführt werden. An der KeyMatic muss dafür die Anlerntaste (Taste Schloss öffnen) betätigt werden.&lt;br /&gt;
&lt;br /&gt;
Die KeyMatic-Unterstützung existiert derzeit in der aktuellen Entwicklerversion von FHEM&lt;br /&gt;
&lt;br /&gt;
=== Sicherheitshinweis ===&lt;br /&gt;
Wenn die KeyMatic an einem aktiven HMLAN Konfigurator angelernt wurde, kann die entsprechende Tür per FHEM ver- / entriegelt bzw. geöffnet werden. Somit sollte das Netzwerk in dem FHEM läuft entsprechend gesichert sein. (Nicht nach Außen geöffnet, kein unsicheres WLAN usw.)&lt;br /&gt;
&lt;br /&gt;
Die Verwendung eines eigenen [[AES Encryption#Aktivieren.2C_Einrichten.2C_Umgang_in_FHEM|AES Sicherheitsschlüssels]] ist dringend anzuraten, da ansonsten eine KeyMatic relativ einfach ferngesteuert werden kann.&lt;br /&gt;
&lt;br /&gt;
=== FHEM Config-Auszug ===&lt;br /&gt;
Beispiel für die Konfiguration:&lt;br /&gt;
&lt;br /&gt;
ssssss -&amp;amp;gt; 6-Stellige hexadezimale Seriennummer. (Siehe Logfile: CUL_HM Unknown device CUL_HM_keyMatic_ssssss, please define it)&lt;br /&gt;
xxxxxxx -&amp;amp;gt; Seriennummer (vom Aufkleber auf dem Gerät)&lt;br /&gt;
&lt;br /&gt;
 define keymatic CUL_HM ssssss&lt;br /&gt;
 attr keymatic devInfo 010100&lt;br /&gt;
 attr keymatic firmware 2.4&lt;br /&gt;
 attr keymatic hmClass receiver&lt;br /&gt;
 attr keymatic model HM-SEC-KEY-S&lt;br /&gt;
 attr keymatic room Flur&lt;br /&gt;
 attr keymatic serialNr JEQxxxxxxx&lt;br /&gt;
 attr keymatic subType keyMatic&lt;br /&gt;
 attr keymatic webCmd lock:unlock:open&lt;br /&gt;
&lt;br /&gt;
== Mögliche Zustände ==&lt;br /&gt;
KeyMatic hat folgende Schaltzustände:&lt;br /&gt;
&lt;br /&gt;
  locked -&amp;amp;gt; Der Riegel des Türschlosses ist an die vorher festgelegte Verschlussstellung gefahren (Tür verschlossen)&lt;br /&gt;
  unlocked -&amp;amp;gt; Der Riegel des Türschlosses ist &amp;quot;eingefahren&amp;quot; (Tür nicht verschlossen)&lt;br /&gt;
  uncertain (locked / unlocked) -&amp;amp;gt; Das Schloss wurde am Handrad gedreht. Die Schlossposition ist somit nicht mehr als &amp;quot;zuverlässig erkannt&amp;quot; gemeldet.&lt;br /&gt;
== Links ==&lt;br /&gt;
Anleitung [http://www.eq-3.de/Downloads/eq3/pdf_produkte/HM-Sec-Key_UM_GE_eQ-3_081218.pdf] PDF&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Türschlosssteuerung]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=11686</id>
		<title>HM-Sec-SCo Tür-Fensterkontakt, optisch</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=11686"/>
		<updated>2015-07-17T08:16:27Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Hinweis */ kompatible Gateways erweitert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-SEC-SCo.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Tür-Fensterkontakt, optisch&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Sensor&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWVoltage=1,5 V DC&lt;br /&gt;
|HWPowerConsumption=max. 100 mA&lt;br /&gt;
|HWPoweredBy=Batterie (1x 1,5V LR03/Micro/AAA)&lt;br /&gt;
|HWSize=15x100x18mm&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[HomeMatic]] Funk-Tür-/Fensterkontakt zur optischen Erkennung von Tür- bzw. Fensteröffnungen oder -schließungen, z.B. zur Sicherheit oder um automatisch, bei vorhandenem [[HM-CC-RT-DN]], die Heizung herunter zu regeln, sobald ein Fenster oder eine Tür geöffnet wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweis ==&lt;br /&gt;
Das meiste zum [[HM-SEC-SC Tür-Fensterkontakt|HM-SEC-SC]] Beschriebene zur Nutzung gilt auch für den HM-SEC-SCo.&lt;br /&gt;
&lt;br /&gt;
Wird mit aktiviertem [[AES Encryption|AES]] ausgeliefert und kann nur mit Gateways, die AES unterstützen, gepaired werden ([[HM-CFG-USB USB Konfigurations-Adapter|HM-LAN-CFG]], [[HM-CFG-LAN LAN Konfigurations-Adapter|HM-USB-CFG]] und [[CUL]] (seit Juli 2015)).&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit FHEM ==&lt;br /&gt;
&lt;br /&gt;
=== Event-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Wird z. B. das Fenster geöffnet, wird Folgendes vom Gerät übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 11&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG battery: ok&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG open&lt;br /&gt;
2015-02-08 20:04:24 CUL_HM HM_Fensterstatus_BadEG contact: open (to MyHMLAN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Schließen wird Folgendes übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigger_cnt: 12&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG trigDst_2573FB: noConfig&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG battery: ok&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG closed&lt;br /&gt;
2015-02-08 20:04:31 CUL_HM HM_Fensterstatus_BadEG contact: closed (to MyHMLAN)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fhem.cfg ===&lt;br /&gt;
&lt;br /&gt;
Bei eingeschaltetem Autocreate werden die erforderlichen Definitionen beim Pairen selbstständig erstellt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HM_Fensterstatus_BadEG CUL_HM 35E390&lt;br /&gt;
attr HM_Fensterstatus_BadEG IODev MyHMLAN&lt;br /&gt;
attr HM_Fensterstatus_BadEG actCycle 000:50&lt;br /&gt;
attr HM_Fensterstatus_BadEG actStatus dead&lt;br /&gt;
attr HM_Fensterstatus_BadEG autoReadReg 4_reqStatus&lt;br /&gt;
attr HM_Fensterstatus_BadEG expert 2_full&lt;br /&gt;
attr HM_Fensterstatus_BadEG firmware 1.0&lt;br /&gt;
attr HM_Fensterstatus_BadEG model HM-SEC-SCo&lt;br /&gt;
attr HM_Fensterstatus_BadEG peerIDs 00000000,&lt;br /&gt;
attr HM_Fensterstatus_BadEG room CUL_HM&lt;br /&gt;
attr HM_Fensterstatus_BadEG serialNr LEQxxxxxxx&lt;br /&gt;
attr HM_Fensterstatus_BadEG subType threeStateSensor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aktionen durchführen, wenn Fenster zu lange geöffnet ist ===&lt;br /&gt;
&lt;br /&gt;
Mit der nachfolgenden DOIF-Definition wird ein Log-Eintrag erzeugt, eine Meldung auf der [[Enigma2 Receiver (Dreambox, VUplus etc.) steuern|Dreambox]] angezeigt, falls diese angeschaltet ist, und eine Nachricht per Prowl (funktioniert vermutlich nur unter Linux) verschickt.&lt;br /&gt;
&lt;br /&gt;
Der Code ist hier so angegeben, wie er in der Weboberfläche nach einem Klick auf das [[Konfiguration|DEF-Feld]] übernommen werden kann. Das DOIF ist vorab zu definieren, zum Beispiel mit:&lt;br /&gt;
:&amp;lt;code&amp;gt;def DOIF_FensterOffenMsg DOIF ([HM_Fensterstatus_BadEG])&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
([HM_Fensterstatus_BadEG] eq &amp;quot;open&amp;quot;) ({&lt;br /&gt;
       Log 1, &amp;quot;Fenster seit mehr als 2 Stunden (7200 Sekunden) offen&amp;quot;;;&lt;br /&gt;
       system( &amp;quot;/path/to/prowl.pl -apikeyfile=/path/to/prowl-apikey -event=Info -notification=&#039;Fenster ist noch offen&#039; &amp;amp;&amp;quot; );;&lt;br /&gt;
       fhem( &amp;quot;set E2_Dreambox showText Fenster ist noch offen&amp;quot; ) if ReadingsVal(&amp;quot;E2_Dreambox&amp;quot;,&amp;quot;state&amp;quot;,&amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;;;&lt;br /&gt;
       })&lt;br /&gt;
DOELSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit der Code-Block erst nach 7200 Sekunden getriggert wird, ist noch Folgendes auszuführen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr DOIF_FensterOffenMsg wait 7200:0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Teilweise (siehe Diskussion im {{Link2Forum|Topic=33264|LinkText=Forum}}) werden die Fensterkontakte regelmäßig wiederkehrend als &amp;quot;dead&amp;quot; angezeigt. Grund ist, dass beim Anlernen ein actCycle von 50 Minuten eingetragen wird, während die Kontakte auch gerne mal länger brauchen, um sich bei der Zentrale zu melden.&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:500px;&amp;quot;&amp;gt;&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse alive: yes&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse battery: ok&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse sabotageError: off&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse closed&lt;br /&gt;
2015-01-31_17:57:39 Fstr_AusgTerrasse contact: closed (to HMLAN1)&lt;br /&gt;
2015-01-31_18:54:09 Fstr_AusgTerrasse Activity: dead&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse alive: yes&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse battery: ok&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse sabotageError: off&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse closed&lt;br /&gt;
2015-01-31_18:58:03 Fstr_AusgTerrasse contact: closed (to HMUSB)&lt;br /&gt;
2015-01-31_19:04:09 Fstr_AusgTerrasse Activity: alive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um Abhilfe zu schaffen, den actCycle auf 01:05 setzen:&lt;br /&gt;
:&amp;lt;code&amp;gt;attr &amp;lt;HM-SEC-SCo&amp;gt; actCycle 001:05&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save config nicht vergessen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Anleitung [http://www.eq-3.de/Downloads/eq3/pdf_produkte/130873_HM-Sec-SCo_UM_GE_eQ-3_20141013_web.pdf PDF]&lt;br /&gt;
* Datenblatt [http://www.eq-3.de/Downloads/eq3/pdf_produkte/Funk-Tuer-Fensterkontakt-optisch_130297_Produktdatenblatt_V1.1.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Kontaktsensor (optisch)]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11642</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11642"/>
		<updated>2015-07-12T12:14:48Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Aktivieren, Einrichten, Umgang in FHEM */ aesCommReq auch in einem Kanal gueltig&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
*Zuerst muss ein Schlüssel vergeben werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der key muss dem IO Gerät bekannt gemacht werden. Es wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn in Klartext oder bereits kodiert eingeben. FHEM kodiert in, wenn er in Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device (und evtl. entsprechendem Kanal) eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-CFG-LAN_LAN_Konfigurations-Adapter&amp;diff=11577</id>
		<title>HM-CFG-LAN LAN Konfigurations-Adapter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-CFG-LAN_LAN_Konfigurations-Adapter&amp;diff=11577"/>
		<updated>2015-07-01T16:13:13Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* CUL/CUN(O) */ AES&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:HM-CFG-LAN.jpg|thumb|right|HomeMatic LAN Konfigurations-Adapter]]&lt;br /&gt;
== Vorbemerkungen ==&lt;br /&gt;
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 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, es überträgt nur Nachrichten in beide Richtungen.&lt;br /&gt;
&lt;br /&gt;
=== Alternativen ===&lt;br /&gt;
Alternativen zu einem HMLAN Konfigurator sind [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUN]], [[CUNO]] und [[CUL]].&lt;br /&gt;
&lt;br /&gt;
==== HMUSB ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 Raspberries und beim Durchschleifen von USB an fhem in einer virtuellen Maschine).&lt;br /&gt;
&lt;br /&gt;
==== CUL/CUN(O) ====&lt;br /&gt;
* 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&lt;br /&gt;
* Da USB kurze Reaktionszeiten und geringe Timingschwankungen hat ist der Einsatz von [[CUL]] und [[CUNO]] mit HM möglich. &amp;lt;br&amp;gt;Die Timingschwankungen der Ethernet-schnittstelle hingegen können in FHEM nicht ausgeglichen werden. Daher kann der Einsatz der [[CUNO]] über Ethernet &#039;&#039;&#039;nicht empfohlen&#039;&#039;&#039; werden.&lt;br /&gt;
* lazyConfig (ein Übertragungsmode) wird nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
=== Funktionen ===&lt;br /&gt;
==== AES ====&lt;br /&gt;
siehe [[AES Encryption]].&lt;br /&gt;
&lt;br /&gt;
==== Übertragungsmodus ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== KeepAlive ====&lt;br /&gt;
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. &lt;br /&gt;
FHEM sendet den keep-alive alle 25 Sekunden, was einen 5 Sekunden Puffer einräumt. In Internals &#039;&#039;&#039;msgKeepAlive&#039;&#039;&#039; kann man sehen, wie hoch die maximale Verzögerung der Zentrale beim Senden war und wie viel Puffer (in Sekunden) noch verfügbar war. &lt;br /&gt;
Die Wiederholrate von 25 Sekunden des keep-alive kann mit dem Attribut &#039;&#039;&#039;wdTimer&#039;&#039;&#039; reduziert werden, was den Puffer erhöhen. Es wird jedoch dringend geraten, im Problemfall die Ursache der Verzögerung zu suchen und zu eliminieren.&lt;br /&gt;
&lt;br /&gt;
==== Nachrichtenübertragung - Performance ====&lt;br /&gt;
* Mit Internal &#039;&#039;&#039;msgParseDly&#039;&#039;&#039; kann man ablesen, welche Verzögerung eine Nachricht vom Empfang im HMLAN Konfigurator bis zur Verarbeitung in der Zentrale hat.&lt;br /&gt;
* Der HMLAN Konfigurator hält sich an den Funkstandard, der einem Sender eine maximale Sendezeit je Stunde erlaubt. Wird dieser Wert überschritten, stellt der HMLAN Konfigurator das Senden ein. Empfangen wird weiter. Ist eine Kapazität von 90% erreicht, wird im Reading &#039;&#039;&#039;cond&#039;&#039;&#039; &#039;&#039;&#039;Warning-HighLoad&#039;&#039;&#039; gemeldet. Bei cond &#039;&#039;&#039;ERROR-Overload&#039;&#039;&#039; wird das Senden eingestellt ist.&lt;br /&gt;
&lt;br /&gt;
==== Loggen/Mitschneiden ====&lt;br /&gt;
Es stehen die üblichen Funktionen des Attribute &#039;&#039;&#039;verbose&#039;&#039;&#039; zu Verfügung. Darüber hinaus gibt es die Attribute hmProtocolEvents und logIDs. Siehe auch [[Homematic Nachrichten sniffen|Homematic Nachrichten sniffen]].&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung ==&lt;br /&gt;
[[Datei:HMLAN_CONFIG_IP_AES.png|300px|thumb|right|HomeMatic Lan-Interface Configurator]][[Datei:HMLAN_CONFIG_AES.png|300px|thumb|right|HomeMatic Konfigurator]]&lt;br /&gt;
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 &amp;quot;HomeMatic-Lan-Interface konfigurieren&amp;quot; oder &amp;quot;HomeMatic-Komponenten konfigurieren&amp;quot; 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]].&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
Die aktuelle Firmware Version des HMLAN Konfigurators ist 0.964 (Stand November 2014). Ein Update ist unter &#039;&#039;&amp;quot;Update Firmware&amp;quot;&#039;&#039; mit der &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software möglich.&lt;br /&gt;
&lt;br /&gt;
=== IP Adresse ===&lt;br /&gt;
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 Konfigurator eine statische Adresse zuzuweisen. &lt;br /&gt;
* mit der auf der CD mitgelieferten &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software unter &#039;&#039;&amp;quot;Change IP Settings&amp;quot;&#039;&#039; oder&lt;br /&gt;
* im DHCP-Server eine feste IP-Adresse zuzuweisen (sofern dies vom gegeben DHCP Server als Konfigurationsoption unterstützt wird).&lt;br /&gt;
&lt;br /&gt;
=== AES Encryptet LAN Communication ===&lt;br /&gt;
Wichtig ist, dass vor Verwendung die &amp;quot;AES Encryptet LAN Communication&amp;quot; abgeschaltet wird, da diese FHEM nicht unterstützt. Dies ist unter &#039;&#039;&amp;quot;Change IP Settings&amp;quot;&#039;&#039; der &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software möglich. AES auf dem LAN ist zu unterscheiden von HMLAN auf der Funktschnittstelle. siehe [[AES Encryption]].&lt;br /&gt;
&lt;br /&gt;
== Einbindung in FHEM ==&lt;br /&gt;
Der HMLAN-Konfigurator muss in FHEM [[Konfiguration|konfiguriert]] werden. Das erfolgt mit diesen Befehlen:&lt;br /&gt;
:&amp;lt;code&amp;gt;define HMLAN1 HMLAN &amp;lt;IP Adresse&amp;gt;:1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr HMLAN1 hmId 123ABC&amp;lt;/code&amp;gt;&lt;br /&gt;
Der Name (im obigen Beispiel &#039;&#039;HMLAN1&#039;&#039;) kann frei vergeben werden. Standard IP-Port des HMLAN-Konfigurators ist 1000.&lt;br /&gt;
&lt;br /&gt;
HMLAN kennt mehrere Attribute ([http://fhem.de/commandref.html#HMLAN commandref]). &lt;br /&gt;
Wichtig ist es, die &#039;&#039;&#039;hmId&#039;&#039;&#039; zu vergeben. Diese ist ein 3-Byte hexadezimal-Wert, somit eine 6-stellige Zeichenfolge in &#039;&#039;&#039;Großbuchstaben&#039;&#039;&#039;. 000000 und FFFFFF sind ungültig. &lt;br /&gt;
Wenn HM-Geräte mit der Zentrale gepairt werden, wird ihnen diese hmId eingetragen. Wechselt man die hmId müssen &#039;&#039;&#039;alle&#039;&#039;&#039; damit gepairten Geräte neu gepairt werden. &lt;br /&gt;
&lt;br /&gt;
Die Adresse wird in Grossbuchstaben eingegeben, siehe [[HMLAN_Konfigurator#Bekannte_Probleme|&amp;quot;Bekannte Probleme&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;gleichzeitiger&#039;&#039;&#039; 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.&lt;br /&gt;
Sinnvoll ist es, die hmId mit der der PC-Software gleichzusetzen. Dann kann man von beiden Zentralen alternativ zugreifen ohne pairen zu müssen.&lt;br /&gt;
&lt;br /&gt;
=== Nutzung mehrere IOs ===&lt;br /&gt;
==== Empfangen ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==== Senden ====&lt;br /&gt;
An ein Gerät wird nur über das IO gesendet, das in Internals-&amp;gt;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.&lt;br /&gt;
&lt;br /&gt;
==== hmId bei mehreren IOs ====&lt;br /&gt;
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. Wenn mehrere IOs verwendet werden sollen, empfiehlt sich die Verwendung einer [[Virtueller Controller VCCU|VCCU]], ansonsten kann es zu Problemen (&amp;quot;&amp;lt;code&amp;gt;Unknown code&amp;lt;/code&amp;gt;&amp;quot;, Angriffsmeldungen, Probleme beim Pairen, ...) kommen.&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
* &#039;&#039;&#039;hmId&#039;&#039;&#039;: Adresse, die das IO auf der Funkstrecke nutzt. Es ist ein 3-byte hexwert (6 Zeichen) in Großbuchstaben. &lt;br /&gt;
* &#039;&#039;&#039;hmkey, hmkey2..5&#039;&#039;&#039;: bis zu 5 AES keys, die auf der Funkstrecke genutzt werden. Siehe [[AES Encryption]]&lt;br /&gt;
* &#039;&#039;&#039;hmLanQlen&#039;&#039;&#039; 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. &lt;br /&gt;
* &#039;&#039;&#039;hmProtocolEvents&#039;&#039;&#039;: alle Nachrichten werden dekodiert ausgegeben. Diese Einstellung benötigt einige Performance insbesondere bei höheren Level. Man sollte es vorsichtig nutzen. &lt;br /&gt;
* &#039;&#039;&#039;logIDs&#039;&#039;&#039;: 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 &#039;&#039;&#039;all&#039;&#039;&#039; werden alle IDs aufgezeichnet. &#039;&#039;&#039;sys&#039;&#039;&#039; zeichnet zusätzlich Systemmessages auf. &#039;&#039;&#039;sys,all&#039;&#039;&#039; somit alles.&lt;br /&gt;
* &#039;&#039;&#039;respTime&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
=== Readings ===&lt;br /&gt;
* &#039;&#039;&#039;Xmit-Events&#039;&#039;&#039;: Anzahl der Ereignisse &lt;br /&gt;
* &#039;&#039;&#039;cond&#039;&#039;&#039;: aktueller Zustand des IO. &lt;br /&gt;
** ok&lt;br /&gt;
** Warning-HighLoad: 90% der 1h sendekapazität sind erreicht&lt;br /&gt;
** ERROR-Overload: 100% der sendekapazität sind erreicht, &#039;&#039;&#039;das IO sendet nicht mehr&#039;&#039;&#039;&lt;br /&gt;
** timeout&lt;br /&gt;
** disconnected: die Verbindung FHEM /IO ist unterbrochen&lt;br /&gt;
** Overload-released: das IO ist aus ERROR-Overload zurück im Sendebetrieb&lt;br /&gt;
** init: Das IO wurde neu initialisiert. &lt;br /&gt;
* &#039;&#039;&#039;prot_ERROR-Overload&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_Warning-HighLoad&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_disconnected&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_init&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_ok&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_timeout&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
&lt;br /&gt;
=== Internals ===&lt;br /&gt;
* &#039;&#039;&#039;XmitOpen&#039;&#039;&#039;: 1 = HMLAN ist sende bereit&lt;br /&gt;
* &#039;&#039;&#039;assignedIDs&#039;&#039;&#039;: HMIDs der HM Devices, die über dieses IO bedient werden&lt;br /&gt;
* &#039;&#039;&#039;assignedIDsCnt&#039;&#039;&#039;: Anzahl der zugewiesenen HMIds von FHEM&lt;br /&gt;
* &#039;&#039;&#039;assignedIDsReport&#039;&#039;&#039;: Anzahl der HMIds, die das HMLAN angibt zu bedienen. Die Zahl sollte identisch sein mit assignedIDsCnt&lt;br /&gt;
* &#039;&#039;&#039;msgKeepAlive&#039;&#039;&#039;: 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. &lt;br /&gt;
* &#039;&#039;&#039;msgLoadEst&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;msgParseDly&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Pairen von Geräten ==&lt;br /&gt;
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. &lt;br /&gt;
Alle Geräte haben eine eigene Seriennummer, die nicht änderbar ist. Details zum Pairen auf der Seite [[HomeMatic Devices pairen]].&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Selten lehnt der HMLAN-Konfigurator ohne erkennbaren Grund nach monatelangem störungsfreiem Betrieb die Verbindung ab:&lt;br /&gt;
&lt;br /&gt;
 Opening HMLAN1 device 192.168.168.60:1000&lt;br /&gt;
 192.168.168.60:1000 connection refused&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Netzwerk- und Freigabecenter&amp;quot; zu deaktivieren, sondern ein Deaktivierung der Netzwerkadapter im Gerätemanager erforderlich ist.&lt;br /&gt;
&lt;br /&gt;
== Verbesserung der Antennenleistung ==&lt;br /&gt;
&lt;br /&gt;
Die Sende- und Empfangsleistung kann man verbessern. Details [[Trick_der_Woche#HM_LAN_Konfig-Adapter_Antenne_verbessern|hier]].&lt;br /&gt;
&lt;br /&gt;
== Wechsel von CUL zu HMLAN ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* deaktivieren Sie das CUL in der &#039;&#039;fhem.cfg&#039;&#039;.&lt;br /&gt;
* konfigurieren Sie den HMLAN Konfigurator &#039;&#039;&#039;von Hand&#039;&#039;&#039; &lt;br /&gt;
* Ändern sie das Attribut IODev aller HM-Devices vom Namen der CUL auf den Namen des HMLAN&lt;br /&gt;
* 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. &lt;br /&gt;
** der HMLAN &#039;&#039;&#039;muss&#039;&#039;&#039; die gleiche &#039;&#039;hmId&#039;&#039; wie das bisherige CUL erhalten. Ansonsten müssen alle Geräte neu gepairt / angelernt werden.&lt;br /&gt;
** AES muss im HMLAN abgeschaltet werden.&lt;br /&gt;
* verbinden Sie den HMLAN Konfigurator mit ihrem Netzwerk und ziehen das CUL aus der USB-Buchse.&lt;br /&gt;
* geben Sie in der FHEM-Befehlszeile &#039;&#039;shutdown restart&#039;&#039; gefolgt von &amp;amp;lt;Enter&amp;amp;gt; (nicht &amp;quot;save&amp;quot;) ein (evtl. reicht auch ein &#039;&#039;rereadcfg&#039;&#039;).&lt;br /&gt;
* kontrollieren Sie im Event-Monitor und in den HM-Device-Logs von Fhem die Kommunikation.&lt;br /&gt;
&lt;br /&gt;
Bitte beachten: Falls dem CUL keine explizite hmId per Attribut zugewiesen wurde, wird diese ID aus &amp;quot;F1&amp;amp;lt;FHT-ID&amp;amp;gt;&amp;quot; zusammengebaut. Die hmId muss auf dem HMLAN explizit gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.eq-3.de/software.html Software] für den Konfigurationsadapter von der eQ-3 Site&lt;br /&gt;
* [[Trick_der_Woche#HM_LAN_Konfig-Adapter_Antenne_verbessern|HM LAN Konfig-Adapter Antenne verbessern]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=11563</id>
		<title>HM-CFG-USB USB Konfigurations-Adapter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=11563"/>
		<updated>2015-06-30T12:35:59Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: /* Bekannte Probleme */ Kompatibilitaetsprobleme neuer hmland, altes Fhem mit Loesung beschrieben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=platzHalter.png&lt;br /&gt;
|Bildbeschreibung=todo&lt;br /&gt;
|HWProtocol=HomeMatic &lt;br /&gt;
|HWType=Interface/Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3MHz&lt;br /&gt;
|HWChannels=&lt;br /&gt;
|HWVoltage=&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB-Bus&lt;br /&gt;
|HWSize=&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
&amp;lt;!-- |ModOwner=  --&amp;gt;&lt;br /&gt;
|HWManufacturer=HomeMatic &lt;br /&gt;
}}&lt;br /&gt;
Der [[HomeMatic]] &#039;&#039;&#039;USB Konfigurations-Adapter&#039;&#039;&#039; ist ein USB-Stick, der außer zur Konfiguration von HomeMatic Komponenten auch als [[Interface]] zwischen Fhem und HomeMatic Geräten benutzt werden kann. Er existiert in zwei Versionen: der älteren HM-CFG-USB und der neueren HM-CFG-USB2. Die folgenden Beschreibungen gelten für beide Versionen, es sei denn, es ist ausdrücklich eine spezifische Version genannt.&lt;br /&gt;
&lt;br /&gt;
== Einbindung in Fhem ==&lt;br /&gt;
Im Fhem-Forum wird die Einbindung als Interface in diesem {{Link2Forum|Topic=13071}} beschrieben und diskutiert. Im {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} wird eine gut funktionierende HMLAN-Emulationssoftware [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland] von ihrem Entwickler vorgestellt, um den HM-CFG-USB in Fhem zu integrieren. Die HMLAN-Emulationssoftware muss zunächst kompiliert und installiert werden. Anschließend wird der HM-CFG-USB (üblicherweise auf localhost) genau wie [[HM-CFG-LAN LAN Konfigurations-Adapter|HMLAN]] in Fhem eingebunden. &lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Linux ===&lt;br /&gt;
Die Schritte zur Kompilierung und Installation hat der hmland-Entwickler sowohl auf der [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland-Internetseite] in Englisch (kurz) als auch im oben genannten {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} in Deutsch (ausführlich) dargestellt. Die dort gemachten Angaben werden auch bei Bedarf aktualisiert und sind deshalb der beste Anlaufpunkt für Kompilierung und Installation. &lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Angaben in diesem Abschnitt sind rein zu Informationszwecken (noch) enthalten: &lt;br /&gt;
&lt;br /&gt;
Zunächst muss die HMLAN-Emulationssoftware kompiliert werden. Analog zu [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb dieser Beschreibung] ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):&lt;br /&gt;
 cd /opt/&lt;br /&gt;
 apt-get install build-essential libusb-1.0-0-dev make gcc git-core&lt;br /&gt;
 git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
 cd hmcfgusb&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
(Unter Debian ist &amp;quot;build-essentials&amp;quot; nicht als Paket vorhanden, dieser Schritt kann entfallen.)&lt;br /&gt;
&lt;br /&gt;
Danach kann der Dienst zu Testzwecken gestartet werden (in /opt/hmcfgusb):&lt;br /&gt;
:&amp;lt;code&amp;gt;./hmland -p 1234 -D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start als Daemon ====&lt;br /&gt;
Um den hmland als Daemon mit dem Betriebsystem automatisiert zu starten, kann ein init-script genutzt werden. In diesem {{Link2Forum|Topic=13071|Message=190887}} ist ein Skript zur automatischen Einrichtung von hmland als Daemon über init mit Installationsanweisung enthalten. Dieses Skript enthält zudem auch die Befehle zum Download, Kompilierung und Installation von hmland, so dass fast keine manuellen Eingriffe notwendig sind.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist auch der (umständlichere) manuelle Weg möglich:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: hmland&lt;br /&gt;
# Required-Start: $localfs $syslog $remote_fs&lt;br /&gt;
# Required-Stop:&lt;br /&gt;
# Default-Start: 2 3 4 5&lt;br /&gt;
# Default-Stop: 0 1 6&lt;br /&gt;
# Short-Description: hmland daemon&lt;br /&gt;
# Description: hmland daemon, Homematic USB Adapter on port 1234&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
 # simple init for hmland&lt;br /&gt;
 &lt;br /&gt;
 pidfile=/var/run/hmland.pid&lt;br /&gt;
 port=1234&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start|&amp;quot;&amp;quot;)&lt;br /&gt;
 	chrt 50 /opt/hmcfgusb/hmland -d -P -l 127.0.0.1 -p $port 2&amp;gt;&amp;amp;1 | perl -ne &#039;$|=1; print localtime . &amp;quot;: [hmland] $_&amp;quot;&#039; &amp;gt;&amp;gt; /var/log/hmland.log &amp;amp;&lt;br /&gt;
 	;;&lt;br /&gt;
  restart|reload|force-reload)&lt;br /&gt;
 	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
 	exit 3&lt;br /&gt;
 	;;&lt;br /&gt;
  stop)&lt;br /&gt;
 	killall hmland&lt;br /&gt;
 	;;&lt;br /&gt;
  status)&lt;br /&gt;
 	if [ ! -e $pidfile ]; then&lt;br /&gt;
 		echo &amp;quot;No pid&amp;quot;&lt;br /&gt;
 		exit 1&lt;br /&gt;
 	fi&lt;br /&gt;
 	pid=`cat $pidfile`&lt;br /&gt;
 	if kill -0 $pid &amp;amp;&amp;gt;1 &amp;gt; /dev/null; then&lt;br /&gt;
 		echo &amp;quot;Running&amp;quot;&lt;br /&gt;
 		exit 0&lt;br /&gt;
 	else&lt;br /&gt;
 		rm $pidfile&lt;br /&gt;
 		echo &amp;quot;Not running&amp;quot;&lt;br /&gt;
 		exit 1&lt;br /&gt;
 	fi&lt;br /&gt;
 &lt;br /&gt;
 	;;&lt;br /&gt;
  *)&lt;br /&gt;
 	echo &amp;quot;Usage: hmland [start|stop|status]&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
 	exit 3&lt;br /&gt;
 	;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Distributionen, die Upstart einsetzen (z.B. xbian) kann folgendes Konfigurationsfile verwendet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# HMLAND&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;hmland&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on starting fhem&lt;br /&gt;
stop on stopped fhem&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
expect fork&lt;br /&gt;
&lt;br /&gt;
chdir /opt/hmcfgusb&lt;br /&gt;
exec /opt/hmcfgusb/hmland -d -l 127.0.0.1 -p 1234&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte als &amp;quot;/etc/init/hmland.conf&amp;quot; angelegt werden. Mit dem Befehl &lt;br /&gt;
 initctl reload-configuration&lt;br /&gt;
wird Upstart angewiesen, seine Konfiguration erneut einzulesen. Danach kann der neue Dienst &lt;br /&gt;
mit &lt;br /&gt;
 service hmland start&lt;br /&gt;
gestartet werden. &amp;lt;code&amp;gt;hmland&amp;lt;/code&amp;gt; wird jetzt immer vor Fhem gestartet und nach Fhem beendet.&lt;br /&gt;
&lt;br /&gt;
==== Start über Fhem Startskript ====&lt;br /&gt;
&lt;br /&gt;
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen:&lt;br /&gt;
&lt;br /&gt;
Zunächst hmland kompilieren wie oben beschrieben, bis zum make. Das muss erfolgreich durchgelaufen sein.&lt;br /&gt;
&lt;br /&gt;
Dann geht es weiter:&lt;br /&gt;
&lt;br /&gt;
 sudo cp hmcfgusb.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
Jetzt das Fhem Startskript anpassen (in den Blöcken &#039;start&#039; und &#039;stop&#039; muss quasi nur jeweils 1 Zeile eingefügt werden:&lt;br /&gt;
&lt;br /&gt;
Damit editiert man das Fhem Startskript:&lt;br /&gt;
 sudo nano /etc/init.d/fhem&lt;br /&gt;
&lt;br /&gt;
Und so sollten die Blöcke anschließend aussehen (bitte nur jeweils die Zeile mit hmland einfügen)&lt;br /&gt;
&lt;br /&gt;
 &#039;start&#039;)&lt;br /&gt;
        echo &amp;quot;Starting fhem...&amp;quot;&lt;br /&gt;
        /opt/hmcfgusb/hmland -d -p 1234&lt;br /&gt;
        perl fhem.pl fhem.cfg&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
 &#039;stop&#039;)&lt;br /&gt;
        echo &amp;quot;Stopping fhem...&amp;quot;&lt;br /&gt;
        perl fhem.pl $port &amp;quot;shutdown&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        pkill hmland&lt;br /&gt;
&lt;br /&gt;
So wird hmland vor Fhem gestartet und nach Fhem beendet. Letztlich erspart es Probleme mit den diversen Startskripten und ihren Rechten.&lt;br /&gt;
&lt;br /&gt;
Es dauert nach dem Start von Fhem noch einige Sekunden, bis hmland fertig geladen ist. In dieser Zeit kann es zu fehlerhaften Einträgen im Logfile kommen.&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Mac OS X ===&lt;br /&gt;
Wie unter Linux braucht man die HMLAN-Emulationssoftware hmland, die man aus Quelltexten erstellen muss. Dazu muss man die Bibliothek libusb installieren, entweder mit einem der Paketmanager wie Fink, MacPorts oder Homebrew oder direkt aus den Quellentexten (Beispiel: &amp;quot;fink install libusb1-shlibs libusb1&amp;quot;). Hat man wie bei Linux das Quelltextarchiv für hmland heruntergeladen und ausgepackt, müssen die Dateien Makefile und hmcfgusb.c angepasst werden. &lt;br /&gt;
&lt;br /&gt;
Im Makefile muss man den Pfad zur libusb anpassen. Hat man libusb mit fink installiert, muss man, &amp;quot;/opt/local/&amp;quot; durch &amp;quot;/sw/&amp;quot; bei den CFLAGS und den LDFLAGS ersetzen und&lt;br /&gt;
das &amp;quot;-lrt&amp;quot; aus den LDLIBS entfernen. Die Library librt gibt es bei Mac OS X nicht und wird anscheinend auch nicht gebraucht. (Stimmt das eigentlich?)&lt;br /&gt;
&lt;br /&gt;
In der Datei hmcfgusb.c muss man die Zeilen 130-134 mit dem Aufruf libusb_detach_kernel_driver auskommentieren oder löschen. Der geht nicht auf Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Nach den Änderungen in den zwei Dateien, kann man wie bei Linux den Dämon hmland mit dem Kommando &amp;quot;make&amp;quot; erzeugen und mit &amp;quot;./hmland&amp;quot; ausführen. Automatisches Starten beim Booten mit launchd ist noch nicht probiert.&lt;br /&gt;
&lt;br /&gt;
Beim Start von hmland sollte man folgende Fehlermeldung in einer Endlos-Schleife erhalten:&lt;br /&gt;
&lt;br /&gt;
Datum Zeit: Client 127.0.0.1 connected! &amp;lt;br /&amp;gt;&lt;br /&gt;
Can&#039;t claim interface: Access denied (insufficient permissions) &amp;lt;br /&amp;gt;&lt;br /&gt;
Can&#039;t find/open hmcfgusb! &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum Zeit: Connection to 127.0.0.1 closed! &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch ein Start von hmland mit Superuser-Rechten ändert daran nichts. Damit das claim interface klappt, muss man eine codeless kext in den Ordner /Library/Extensions legen. Ich habe dieses (http://mspdebug.sourceforge.net/misc/ex430rf2500-kext.zip) herunter geladen. Damit es funktioniert, muss man aber in der Datei Info.plist des Bundle die Properties idProduct und idVendor ändern, entweder mit dem Property List Editor oder einem anderen Texteditor. Die beiden Properties sind etwas versteckt bei Information Property List → IOKitPersonalities → ComIntf. Bei DebugIntf und DeviceDriver scheint man es nicht ändern zu müssen, aber schaden kann es nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
idProduct: 49167&amp;lt;br /&amp;gt;&lt;br /&gt;
idVendor: 6943&lt;br /&gt;
&lt;br /&gt;
Die Rechte des kext-Bundles müssen auch noch gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
  chmod -R 755 ex430rf2500.kext&lt;br /&gt;
  chown -R root:wheel ex430rf2500.kext&lt;br /&gt;
&lt;br /&gt;
Danach die Datei ex430rf2500.kext in den Ordner /Library/Extensions legen und hmland sollte dann funktionieren.&lt;br /&gt;
&lt;br /&gt;
Es kann sein, dass ab Mac OS X 10.9 der Trick mit dem codeless kext nicht mehr funktioniert, aber noch ist das nicht getestet oder bestätigt. Langfristig kann man vielleicht auch eine kext mit einem Treiber für den HM-CFG-USB USB erstellen&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Windows ===&lt;br /&gt;
Bei der Einrichtung und vermutlich auch dem Betrieb unter Windows 8.1 sind wegen der erweiterten Energieverwaltungsfunktionen die von eQ-3 [http://www.eq-3.de/Downloads/eq3/pdf_FAQ/Funk-Konfigurationsdapter-USB_Windos_8.1.pdf zusammengestellten Tipps] zu befolgen.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
=== Verbindung zu neueren hmland-Versionen nicht stabil ===&lt;br /&gt;
Seit Version 0.100 meldet sich die HMLAN-Emulationssoftware als USB-Interface bei Fhem. Ältere Fhem-Versionen (vor dem 19.6.2015) brechen deshalb die Verbindung ab, da sie nur ein LAN-Interface erwarten.&lt;br /&gt;
&lt;br /&gt;
Lösung: Kommandozeilenparameter &amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; dem hmland-Aufruf hinzufügen, dann meldet sich dieser wieder als LAN-Interface.&lt;br /&gt;
&lt;br /&gt;
=== Stick nicht (mehr) ansprechbar ===&lt;br /&gt;
Zitat aus dem {{Link2Forum|Topic=32502|Message=249122|LinkText=Fhem-Forum}}: &lt;br /&gt;
:&#039;&#039;... befürchte ich, dass dein Stick das Zeitliche gesegnet hat. Machen die Dinger leider sehr gerne... Ganz besonders beim Modus-Wechsel vom 10k- in den 100k-Modus, wenn man bei irgendeinem Device ein Firmwareupdate durchführt. &amp;lt;br /&amp;gt;Die gute Nachricht ist, dass der Fehler bei sämtlichen Händlern bekannt ist und anstandslos getauscht wird.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
Der USB-Stack am Raspberry Pi ist für viele Probleme verantwortlich. Daher sieht man öfter Fehlermeldungen:&lt;br /&gt;
:&amp;lt;code&amp;gt;usb-transfer took more than 100ms (1039ms), this may lead to timing problems!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da das Timing bei Homematic wichtig ist führt das zu vielen Retransmits und zu unzuverlässigen Aktoren. Als Workaround kann man den USB-Stack auf die deutlich langsamere Version 1.1 stellen. Dazu fügt man folgenden Text am Anfang der Datei /boot/cmdline.txt ein:&lt;br /&gt;
:&amp;lt;code&amp;gt;dwc_otg.speed=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
Die erweiterte Energieverwaltung unter Windows 8.1 kann dazu führen, dass der Adapter unerwünschterweise in den Stand-by Modus versetzt wird (siehe [[HM-CFG-USB USB Konfigurations-Adapter#Einrichtung unter Windows|Einrichtung unter Windows]]).&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Informationen ==&lt;br /&gt;
Es sind zwei Versionen des HM-CFG-USB im Umlauf:&lt;br /&gt;
* HM-CFG-USB-2: die aktuelle Version; Dokumentation derzeit (12/2013) nicht über die ELV-Artikelseite verfügbar, alternativ jedoch bei [http://files.voelkner.de/625000-649999/640558-an-01-ml-USB_FUNK_KONFIGURATIONSADAPTER_de_en.pdf Völkner]; Kennzeichen dieser Version: &lt;br /&gt;
** Größe: 28 x 84 x 11,5&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 18&amp;amp;nbsp;g&lt;br /&gt;
** Antenne innenliegend&lt;br /&gt;
* HM-CFG-USB: Vorgängerversion; Stand 12/2013 noch Restbestände im Handel verfügbar. Dokumentation ([http://files.voelkner.de/625000-649999/646462-an-01-ml-HM_Konfigurationsadapter_CFG_USB_de_en.pdf Völkner]); Kennzeichen:&lt;br /&gt;
** Anschluss per separatem USB-Kabel&lt;br /&gt;
** abstehende Stabantenne&lt;br /&gt;
** Größe: 40 x 90 x 25&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 45&amp;amp;nbsp;g&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Fhem-Forums {{Link2Forum|Topic=13071}}: HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem nutzen&lt;br /&gt;
* [http://www.elv.de/homematic-usb-konfigurations-adapter-1.html ELV Shopseite] zum HM-CFG-USB&lt;br /&gt;
* [http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/homematic-funk-konfigurationsadapter-usb.html eQ-3 Produktseite] zum &amp;quot;HomeMatic Funk-Konfigurationsadapter USB&amp;quot;; Downloads, technische Daten, etc.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:OSX]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11556</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11556"/>
		<updated>2015-06-28T10:25:38Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: CUL/CUNO unterstützen jetzt AES&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es kann ein HMUSB, HMLAN oder eine CUL/CUNO (seit dem 28.6.2015) genutzt werden. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
*Zuerst muss ein Schlüssel vergeben werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der key muss dem IO Gerät bekannt gemacht werden. Es wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn in Klartext oder bereits kodiert eingeben. FHEM kodiert in, wenn er in Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator, HMUSB, CUL und CUN(O) unterstützt. &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11539</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11539"/>
		<updated>2015-06-24T08:49:41Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: Aktoren werden auch gesichert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es muss ein HMUSB oder HMLAN genutzt werden. Eine CUL/CUNO unterstützt kein AES. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
* das Schalten von Aktoren&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
*Zuerst muss ein Schlüssel vergeben werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der key muss dem IO Gerät bekannt gemacht werden. Es wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn in Klartext oder bereits kodiert eingeben. FHEM kodiert in, wenn er in Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator und HMUSB unterstützt, nicht aber von CUL und CUN(O). &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11533</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11533"/>
		<updated>2015-06-23T16:05:53Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: Keys koennen auch von Fhem gesetzt werden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es muss ein HMUSB oder HMLAN genutzt werden. Eine CUL/CUNO unterstützt kein AES. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
*Zuerst muss ein Schlüssel vergeben werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der key muss dem IO Gerät bekannt gemacht werden. Es wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn in Klartext oder bereits kodiert eingeben. FHEM kodiert in, wenn er in Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator und HMUSB unterstützt, nicht aber von CUL und CUN(O). &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11532</id>
		<title>AES Encryption</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AES_Encryption&amp;diff=11532"/>
		<updated>2015-06-23T16:05:10Z</updated>

		<summary type="html">&lt;p&gt;Mgernoth: assignHmKey beschrieben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anders als der Name vermuteten lässt, handelt es sich beim HM-AES-Encryption Modus (&amp;quot;BidCos&amp;quot;) nicht um tatsächlich encrypteten Funkverkehr, sondern um das Einschalten eines Signingrequest-Modus (AES-Challenge-Response (CR)). Hierbei muss ich der Sender durch einen AES kodierten Key authentifizieren. Der Empfänger wird das Kommando nur ausführen, wenn die Authentifizierung korrekt ist.&lt;br /&gt;
Der eigentliche Datenverkehr ist in Klartext und kann immer gemonitort / abgehört werden, jedoch wird das Ausführen von Kommandos nicht autorisierter Quellen unterbunden. &lt;br /&gt;
&lt;br /&gt;
== Kommunikationsstrecken ==&lt;br /&gt;
Der Betrieb von Home Automation bedarf unterschiedliche Kommunikationspfade. &lt;br /&gt;
Von der eigentliche Zentrale aus gibt es einen Weg zum Eingabeterminal (web-interface auf PC, Smartphone o.ä.), die Zentrale-Frontend-Schnittstelle. &lt;br /&gt;
Weiter gibt es einen Weg zum IO Gerät (HMLAN,HMusb, CUL, CUN(O)) welches die Brücke zur Funk-strecke oder Kabel-strecke herstellt. Das ist die FHEM-IO Schnittstelle.&lt;br /&gt;
Nun kommt die IO-Geräte Strecke, die Funkstrecke.&lt;br /&gt;
Letztlich ist da noch die Geräte-Geräte Schnittstelle für die Direkt-Kommunikation der Geräte untereinander. &lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; Frontend ===&lt;br /&gt;
AES wird hier nicht genutzt. Diese Schnittstelle muss der User durch andere Verfahren sichern, wie Tunnel, secure login und Ähnliches. Es wird im AES Kontext nicht weiter betrachtet.&lt;br /&gt;
&lt;br /&gt;
=== Zentrale &amp;lt;-&amp;gt; IO-Device ===&lt;br /&gt;
Homematic könnte AES auf dieser Strecke unterstützen, FHEM kann dies allerdings nicht. Nutzt man eine CCU2  anstelle von FHEM als Zentrale kann hier AES eingeschaltet werden. Wenn FHEM die Zentrale ist, muss im HMLAN Konfigurator  als IO-Device AES über die HM-PC-Software abgeschaltet werden, sonst kann FHEM nicht mit dem HMLAN Konfigurator kommunizieren. &lt;br /&gt;
&lt;br /&gt;
Es sind 2 Schnittstellen zu betrachten: &lt;br /&gt;
Nutzt man ein USB Interface besteht i.a. keine Sicherheitslücke. Man muss sicherstellen, dass niemand in die Zentrale eindringen kann.&lt;br /&gt;
So man ein IO-Device am LAN (Etherrtnet) nutzt (HMLAN Konfigurator) muss das LAN entsprechend gesichert sein. Entsprechende Verfahren (z.B. VLAN, Firewalls,...) werden hier nicht weiter besprochen.&lt;br /&gt;
&lt;br /&gt;
=== IO &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
Dieses Teilstück kann mit AES gesichert werden. Es muss ein HMUSB oder HMLAN genutzt werden. Eine CUL/CUNO unterstützt kein AES. Die Kommunikation ist wie weiter unten beschrieben auf Signaturbasis.&lt;br /&gt;
Die AES-Keys müssen von der HM-PC-Software in den Geräten gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== Gerät &amp;lt;-&amp;gt; Gerät ===&lt;br /&gt;
AES kann für die Kommunikation zwischen den Geräten eingeschaltet werden. Hierbei werden Trigger von Sensoren (z.B. Tasten) vom Empfänger durch AES-signatur überprüft. Dies kann je Kanal an/abgeschaltet werden: ein 2-Kanal Schalter kann also auf einen Kanal AES nutzen und auf dem anderen nicht.&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
Bei eingeschalteter AES-Signatur wird das Kommando nicht sofort ausgeführt. Der Empfänger sendet eine Signatur-request an den Sender zurück, welchen dieser mit seinem AES-Key kodieren und rücksenden muss. Nur wenn die Antwort korrekt ist wird das Kommando ausgeführt und der Empfänger quittiert mit einem ACK an den Sender.&lt;br /&gt;
Die AES Challenge-Response Antwort wird mit dem System-Schlüssel erzeugt. Der Systems-Schlüssel wird von der Zentrale bzw. dem [[HMLAN Konfigurator]] auf alle gepairten HomeMatic Geräte verteilt. Ab Werk ist ein einheitlicher Standard-Schlüssel hinterlegt. Dieser ist in &#039;&#039;&#039;allen&#039;&#039;&#039; HM-Geräten gleich und &#039;&#039;&#039;muss&#039;&#039;&#039; somit vom User geändert werden um einen sinnvollen Schutz zu erreichen.&lt;br /&gt;
&lt;br /&gt;
AES sichert, wenn eingeschaltet&lt;br /&gt;
* das Ändern der Gerätekonfiguration&lt;br /&gt;
* das Auslösen von Triggern (Tasten, Sensoren,...)&lt;br /&gt;
&lt;br /&gt;
== Aktivieren, Einrichten, Umgang in FHEM ==&lt;br /&gt;
*Zuerst muss ein Schlüssel vergeben werden. FHEM unterstützt mit dem Kommando &#039;&#039;&#039;assignHmKey&#039;&#039;&#039; das Verteilen des Schlüssels auf die HM Komponenten. Es ist aber auch möglich, diese Aktion mit der HM Konfigurationssoftware (HM-PC-Software) oder einer CCU durchzuführen.&lt;br /&gt;
Der erste Schritt ist, einen Schlüssel (key) zu vergeben und ihn in alle gepairten Geräte zu übertragen. Im System kann mehr als ein Key aktiv sein, was schon wegen der Änderungsprozedur notwendig ist. Ändert man den key und ein Gerät ist gerade nicht aktiv kann/muss das System den vorigen key noch nutzen. &lt;br /&gt;
* Der User muss sich den Schlüssel zwingend merken. Er kann nicht resetet werden! Im Zweifelsfall muss das Gerät kostenpflichtig von eQ3 rückgesetzt werden. &lt;br /&gt;
* Der key muss dem IO Gerät bekannt gemacht werden. Es wird als Attribut gesetzt, wobei 3 Schlüssel eingetragen werden können (hmKey hmKey2 hmKey3). Der Key wird MD5 kodiert - man kann ihn in Klartext oder bereits kodiert eingeben. FHEM kodiert in, wenn er in Klartext eingegeben werden sollte. FHEM speichert das Attribut ausschließlich kodiert.&lt;br /&gt;
* Eine AES Signatur muss von Empfänger angefordert werden. Dementsprechend wird die Nutzung auch dort eingeschaltet. Eingeschaltet wird durch das Setzen des Registers &#039;&#039;&#039;sign&#039;&#039;&#039; auf on. Es wird für jeden Kanal des Geräts separat gesteuert. &lt;br /&gt;
* Ein Sender, der mit einem Empfänger gepeert ist sollte wissen, ob dieser AES nutzen wird. Das Register &#039;&#039;&#039;expectAES&#039;&#039;&#039; ist hierbei auf on zu setzen.&lt;br /&gt;
* Die Zentrale kann ebenfalls eine AES Signatur von einem Gerät anfordern, so es einen Trigger empfängt. Hierzu ist im Device eines Geräts das Attribut &#039;&#039;&#039;aesCommReq&#039;&#039;&#039; auf 1 zu setzen.&lt;br /&gt;
&lt;br /&gt;
== Nachteile, Einschränkungen==&lt;br /&gt;
* AES-Signatur wird von HMLAN Konfigurator und HMUSB unterstützt, nicht aber von CUL und CUN(O). &lt;br /&gt;
* Die zusätzliche Kommunikation führt zu einer Verzögerung von etwa 200ms je Vorgang.&lt;br /&gt;
* Die erhöhte Nachrichtenlast schlägt sich in der Auslastung der IO-Devices nieder. Wenn zwischen Zentrale und dem Gerät AES-Signatur genutzt wird reduziert sich das stündliche Sendekontingent des  IO-Devices, siehe [[1% Regel]]&lt;br /&gt;
* Jedes Kommando und seine Bestätigung wird unverschlüsselt übertragen, so dass Beobachter von außen den Zustand jedes Aktors durch mitlesen des Funkverkehrs ermitteln können. Dies trifft auch bei selbst gesetztem Schlüssel zu.&lt;br /&gt;
* Ein Sicherheitsgewinn ist nur gegeben, wenn ein eigener System-Sicherheitsschlüssel genutzt wird.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Eine Steigerung der Sicherheit ergibt sich nur, wenn man den werksseitig vorgegeben Schlüssel ändert. Solange Angreifern dieser unbekannt bleibt, ist ein Fremdschalten oder die Änderung der Konfiguration nicht mehr möglich, wohl aber ein Ermitteln des aktuellen Schaltzustandes.&lt;br /&gt;
&lt;br /&gt;
Wurde ein eigener Schlüssel vergeben der nicht mehr bekannt ist und wird dann die Zentrale zurückgesetzt oder ausgetauscht ohne dass die Komponenten vorher auf Werkseinstellung zurückgesetzt wurden sind die entsprechenden Komponenten &#039;&#039;&#039;nicht mehr verwendbar&#039;&#039;&#039;. Die Geräte müssen kostenpflichtig eingeschickt und rückgesetzt werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: den eigenen Sicherheitsschlüssel gut und sicher aufbewahren.&lt;br /&gt;
&lt;br /&gt;
Wenn ein Gerät mit gesetztem eigenem Sicherheitsschlüssel an eine andere/neue Zentrale anlernen soll, wird während des Anlernvorgangs nach dem eigenen Sicherheitsschlüssel gefragt. Dieser muss also bereits in der neuen Zentrale vorliegen.&lt;br /&gt;
&lt;br /&gt;
Die AES-Signierung kann mit einigen Ausnahmen in jedem HM-Gerät separat je Kanal aktiviert/deaktiviert werden.&lt;br /&gt;
In einigen Geräte wie z.B. KeyMatic kann die AES-Signierung nicht abgeschaltet werden. Diese Geräte kommunizieren &#039;&#039;&#039;immer&#039;&#039;&#039; AES-Signiert.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
* Durch Fehler in der Firmware einiger Aktoren/FW Versionen (HM-LC-Sw1-Pl und HM-LC-SW2-PB-FM) werden Toggle-Kommandos &#039;&#039;&#039;vor&#039;&#039;&#039; Eintreffen des Signingpaketes geschaltet. Beim HM-LC-SW1-PL mit Firmware Version 1.9 konnte dieses Verhalten nicht mehr reproduziert werden.&lt;br /&gt;
*Die Schlüsselimplementation der CCU in älteren Firmwareversionen (vor 1.504) ist mit Bugs behaftet. Es ergeben sich Risiken selbst dann, wenn der Schlüssel bekannt ist. So darf der Schlüssel z.b. keinesfalls ein &amp;quot;&amp;amp;amp;&amp;quot; enthalten. Gelegentlich wird auch berichtet, dass garantiert richtig eingegebene Schlüssel bei Systemwechseln nicht akzeptiert wurden. &#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Keine Sonderzeichen im eigenen Sicherheitsschlüssel verwenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;/div&gt;</summary>
		<author><name>Mgernoth</name></author>
	</entry>
</feed>