<?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=FunkOdyssey</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=FunkOdyssey"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/FunkOdyssey"/>
	<updated>2026-04-12T18:18:44Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=22560</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=22560"/>
		<updated>2017-09-15T09:12:53Z</updated>

		<summary type="html">&lt;p&gt;FunkOdyssey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;{{Infobox Modul&lt;br /&gt;
|Name=ZWDongle&lt;br /&gt;
|ModPurpose=Einbindung Z-Wave-Gateways&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=ZWDongle&lt;br /&gt;
|ModForumArea=ZWave&lt;br /&gt;
|ModTechName=00_ZWDongle.pm &lt;br /&gt;
|ModOwner=Rudolf König ([http://forum.fhem.de/index.php?action=profile;u=8 Forum])&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=ZWave&lt;br /&gt;
|ModPurpose=Ansteuerung Z-Wave-Geräte über ZWDongle&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=ZWave&lt;br /&gt;
|ModForumArea=ZWave&lt;br /&gt;
|ModTechName=10_ZWave.pm &lt;br /&gt;
|ModOwner=Rudolf König ([http://forum.fhem.de/index.php?action=profile;u=8 Forum])&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Z-Wave]] ist ein drahtloser Kommunikations-Standard im 868 Mhz-Band (Europa), der von der Firma Sigma Designs und der Z-Wave Alliance, einen Zusammenschluss von mehreren Hundert Herstellern, für die Heimautomatisierung entwickelt wurde. Es existieren mehr als [http://products.z-wavealliance.org 1000 zertifizierte Produkte] verschiedenster Hersteller, die innerhalb eines gemeinsamen Z-Wave-Netzes einsetzbar sind. (Quelle: [http://de.wikipedia.org/wiki/Z-Wave Wikipedia])&lt;br /&gt;
&lt;br /&gt;
Auf dieser Seite werden Grundlagen eines &#039;&#039;&#039;Z-Wave&#039;&#039;&#039; Systems und dessen Einrichtung in FHEM beschrieben.&lt;br /&gt;
== Z-Wave ==&lt;br /&gt;
=== Nodes - Controller und Slaves ===&lt;br /&gt;
Ein Z-Wave-Netz besteht aus mindestens 2 Geräten, den sogenannten &#039;&#039;&#039;Nodes&#039;&#039;&#039; (Knoten). Es setzt sich zusammen aus dem steuernden &#039;&#039;&#039;Controller&#039;&#039;&#039; (Zentrale) und min. 1 bis max. 231 gesteuerten &#039;&#039;&#039;Slaves&#039;&#039;&#039; (Geräten). &lt;br /&gt;
&lt;br /&gt;
=== Home-Id und Node-ID ===&lt;br /&gt;
Innerhalb eines Z-Wave-Netzes gibt es zu 2 Identifikationsnummern zur Kennzeichnung der Netzstruktur:&lt;br /&gt;
# &#039;&#039;&#039;Home-ID:&#039;&#039;&#039; Gemeinsame Identifikationsnummer aller Nodes in einem Netz zur Abgrenzung gegenüber anderen Netzen. Nur Nodes mit der gleichen Home-ID können miteinander kommunizieren.&lt;br /&gt;
# &#039;&#039;&#039;Node-ID:&#039;&#039;&#039; Identifikationsnummer zur eindeutigen Kennzeichnung von jedem Node im Netz. &lt;br /&gt;
&lt;br /&gt;
Die Home-ID ist im Controller (fest) hinterlegt und seine Node-ID ist typischerweise 1. Die Slaves haben zunächst keine Home-ID und Node-ID. Bei der &#039;&#039;&#039;Inklusion&#039;&#039;&#039; (Aufnahme) der Slaves in das Z-Wave-Netz überträgt der Controller seine Home-ID auf die Slaves und weist den Slaves eine eindeutige Node-ID im Netz zu, mit der Sie direkt angesprochen werden. &lt;br /&gt;
&lt;br /&gt;
Besondere Node-ID ist die 255. Eine Nachricht an die Node-ID 255 kann von allen Z-Wave-Nodes ausgewertet werden (Broadcast).&lt;br /&gt;
&lt;br /&gt;
=== Primär- und Sekundärcontroller ===&lt;br /&gt;
Der Controller, der durch Zuteilung seiner Home-ID auf die Slaves, das Netz aufbaut, ist der &#039;&#039;&#039;Primärcontroller&#039;&#039;&#039;. Grundsätzlich können in einem Netz mehrere Controller existieren, aber immer nur ein Primärcontroller. Weitere in das Netz eingebundene Controller werden zum &#039;&#039;&#039;Sekundärcontroller&#039;&#039;&#039;. Ohne besondere Maßnahmen kann nur der Primärcontroller die Inklusion (Einbindung) der Nodes in das Netz durchführen. Hingegen können sowohl Primär- als auch Sekundärcontroller die &#039;&#039;&#039;Exklusion&#039;&#039;&#039; (Ausschluss) eines Nodes aus dem Netz vornehmen.&lt;br /&gt;
&lt;br /&gt;
Der Controller speichert intern diverse Informationen (Home-ID, Node-IDs,..) über das ZWave-Netz. Hierdurch kann unter anderem die Haussteuerungssoftware bei einem PC-Controller relativ unkompliziert gewechselt werden, da die wesentlichen ZWave-Netzinformationen vom Controller selbst verwaltet und gespeichert werden. Andererseits muß bei einem Controllerdefekt das gesamte Netz grundsätzlich neu aufgebaut werden, wenn kein Backup der internen Controllerdaten vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
=== Acknowledge ===&lt;br /&gt;
Im Z-Wave-Netz werden Nachrichten vom Empänger-Node an den Sender-Node rückbestätigt (Acknowledge). Bei ausbleibendem Acknowledge wiederholt der Sender-Node die Nachricht automatisch auf Protokollebene bis zu 2 mal. Hierdurch wird eine höhere Betriebssicherheit des Z-Wave-Netzes erreicht. Bei Broadcast-Nachrichten an die Node-ID 255 findet keine Rückbestätigung statt.&lt;br /&gt;
&lt;br /&gt;
=== Vermaschtes Netzwerk mit Routing ===&lt;br /&gt;
Z-Wave nutzt als Netzwerktopologie ein &#039;&#039;&#039;mesh network&#039;&#039;&#039; (vermaschtes Netzwerk), d. h. jeder Node ist mit einem oder mehreren anderen Nodes verbunden. Das hat den Vorteil, dass eine Nachricht zwischen zwei Nodes übermittelt werden kann, selbst wenn diese nicht direkt miteinander kommunizieren können, z. B. weil sie zu weit voneinander entfernt sind. In diesem Fall wird die Funk-Nachricht über einen oder mehrere „Zwischen-Nodes“ übertragen; dieser Vorgang wird &#039;&#039;&#039;Routing&#039;&#039;&#039; genannt. Nur netzgespeiste Z-Wave-Geräte sind Router. Batteriebetriebe Z-Wave-Geräte sind grundsätzlich keine Router und dienen somit auch nicht zur Reichweitenerhöhung. (Quelle: [http://de.wikipedia.org/wiki/Z-Wave Wikipedia]) Einzelne Geräte, die alternativ per Batterie oder USB-Anschluss betrieben werden können, werden bei USB-Anschluss automatisch ({{Link2Forum|Topic=40393|Message=328080}}) oder durch Konfigurationsänderungen ({{Link2Forum|Topic=40393|Message=327331}}) zu Routern.&lt;br /&gt;
&lt;br /&gt;
Informationen über das optimale Routing werden bei der Inklusion der Nodes in einer Routing-Tabelle des Primärcontrollers gespeichert. Dies geschieht durch Abfrage des Nodes, welche weiteren Nodes er erreichen kann. Durch örtliche Änderung oder Defekte von Nodes können die in der Routing-Tabelle gespeicherten Informationen fehlerhaft bzw. suboptimal werden. Dies kann sich in Funkkommunikationsproblemen im Netzwerk äußern. Hier kann ein per Software manuell angeforderter Neuaufbau der Routing-Tabelle gegebenenfalls Abhilfe schaffen. Bei Geräten und Controllern mit aktuellen Firmware-Versionen (SDK 4.5x und SDK 6.xx oder größer, aber &#039;&#039;nicht&#039;&#039; SDK 5.x) und Unterstützung von Explorer Frames kann sich die Routing-Tabelle unter bestimmten Bedingungen auch automatisch aktualisieren (&amp;quot;Selbstheilung&amp;quot;)[http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames].&lt;br /&gt;
&lt;br /&gt;
=== Command Classes ===&lt;br /&gt;
Die Steuerung und Kommunikation der Nodes erfolgt über Befehle die funktionsbezogen in verschiedene &#039;&#039;&#039;Command Classes&#039;&#039;&#039; (Kommandoklassen) zusammengefasst sind.&lt;br /&gt;
&lt;br /&gt;
Alle Z-Wave-Geräte haben als gemeinsame kleinste Übereinstimmung die &#039;&#039;&#039;Class Basic&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Z-Wave-Geräte haben im Originalzustand eine bestimmte arbeitsfähige Grund-Konfiguration. Anpassbar an individuelle Bedürfnisse ist die Konfiguration über die &#039;&#039;&#039;Class Configuration&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Durch eine Assoziation wird definiert, welche Geräte miteinander direkt -ohne Umweg über den Controller- kommunizieren können. Auch bei Ausfall des Controllers können diese Geräte ihre gemeinsame Funkton ausüben. Zudem dienen Assoziationen der Geschwindigkeitssteigerung und Funklastreduzierung innerhalb des Netzes. Angelegt werden Assoziationen über die &#039;&#039;&#039;Class Association&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dies sind nur die allerwichtigsten Command Classes. Weitere Command Classes sind den Handbüchern zu entnehmen. Zudem enthält die Wiki-Seite [[Z-Wave Command Classes]] weitergehende Informationen.&lt;br /&gt;
&lt;br /&gt;
=== Hinweise zur Z-Wave-Geräteauswahl ===&lt;br /&gt;
Aufgrund der vielen Z-Wave-Gerätehersteller mit jeweils eigenem Z-Wave-Gerätesortiment existiert eine große Produktauswahl. Jedoch gibt es auch große Unterschiede hinsichtlich Produkteigenschaften, Pflege der Produkte, Häufigkeit der Aktualisierung der Produktpalette und so weiter. Schwierigkeiten bereitet insbesondere, dass neben den aktuellesten Chipsätzen und SDKs auch die älteren Chipsätze und SDKs weiterhin in Produkten im Handel verfügbar sind. Neuere Chipsätze und aktuelle SDKs bieten gerade bei der Netzwerkstabilität (Explorer Frames, Reichweite usw.) Vorteile zu älteren Chipsätzen und SDKs. Beispielsweise beherrschen nur Geräte mit SDK 4.5x und 6.x oder neuer die für automatische Routenkorrekturen wichtigen Explorer Frames. Das ältere SDK 5.0, das verwirrenderweise auch noch eine höhere Versionsnummer als das neuere SDK 4.5 besitzt, beherrscht unter anderem keine Explorer Frames. Details hierzu enthält das [http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 06/2016 das SDK 6.5x, das in ZWave Plus - zertifizierten Produkten zum Einsatz kommt.&lt;br /&gt;
&lt;br /&gt;
Gerade Einsteiger beachten die Unterschiede bei den Chipsätze/SDKs aus Unkenntnis manchmal nicht und ärgern sich im Nachhinein über Probleme bei der Netzwerkstabilität und Reichweite. Darum nachfolgend allgemeine, aber sehr einfache Empfehlungen zur Geräteauswahl. Selbstverständlich wird hier nicht von anderen Produkten abgeraten, wenn man die Unterschiede kennt und Vorteile bei deren Produkteigenschaften sieht. Zudem kann man (leider) schlechtere Produkteigenschaften bei Geräten mit aktuelleren Chipsätzen/SDKs nie ausschließen.&lt;br /&gt;
&lt;br /&gt;
Gateway&lt;br /&gt;
# [http://z-wavealliance.org/z-wave_plus_certification Z-Wave Plus-Zertifizierung]. Diese ist mittlerweile bei nahezu allen erhältlichen Gateways gegebenen.&lt;br /&gt;
&lt;br /&gt;
Endgeräte&lt;br /&gt;
# Z-Wave Plus-Zertifizierung (aktuellste Technik, höhere theoretische Reichweite, SDK 6.5x) oder&lt;br /&gt;
# zumindest Explorer Frames-Unterstützung (SDK 4.5x und 6.0x) oder&lt;br /&gt;
# zuletzt -bei Kenntnis der Besonderheiten und Auswirkungen- Produkte ohne Explorer Frames (SDK 5.0x)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurz&#039;&#039;&#039;: Produkte mit Z-Wave Plus-Zertifizierung einsetzen.&lt;br /&gt;
&lt;br /&gt;
Bitte unbedingt beachten, dass Z-Wave Plus-Vorteile bei einem Mischbetrieb mit älteren (ohne Plus) Geräten teilweise verloren gehen. Zum negativen Effekt des Einsatzes eines älteren, aber weiterhin erhältlichen Z-Wave-Repeaters mit aktuellen Z-Wave Plus-Geräten siehe beispielsweise den Hinweis in diesem {{Link2Forum|Topic=42591|Message=350066}}.&lt;br /&gt;
&lt;br /&gt;
Bei Fragen zu bestimmten Geräten bitte -nach Durchsicht der Hinweise hier im Wiki- im Forum suchen oder anschließend nachfragen.&lt;br /&gt;
&lt;br /&gt;
== Z-Wave in FHEM ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
FHEM wird fortwährend weiterentwickelt und verbessert. Daher ist es zwingend notwendig, dass FHEM auf dem aktuellsten Stand ist. Dazu nach der FHEM-Installation den Befehl &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; ausführen und anschließend &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; durchführen. Genauso auch vor [[#Welche_Infos_sollten_Anfragen_im_ZWave-Forum_enthalten.3F|Anfragen im Forum]] die Aktualität von FHEM überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die Einbindung von Z-Wave in FHEM ist (nicht nur für den Anfänger) ausschließlich mit der standardmäßig eingeschalteten [[autocreate|autocreate-Funktion]] einfach möglich. Die Kenntnis der FHEM-Grundlagen und Durcharbeitung der Anfänger-Lektüren wird im Folgenden vorausgesetzt. Insbesondere sind [[Erste_Schritte_in_FHEM|Erste Schritte in FHEM]] und [http://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM] Pflicht, auch wenn sie nicht speziell Z-Wave behandeln, so werden doch wesentliche Punkte für ein Verständnis von FHEM vermittelt.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend und auf den [[:Kategorie:Z-Wave Components|Wiki-Seiten der Einzelgeräte]] werden immer wieder Auszüge aus der [[Konfiguration]] dargestellt. Diese dienen zur Erläuterung und Veranschaulichung. Die Bearbeitung der Konfiguration sollte -zur Verhinderung von Fehlern- nach Möglichkeit immer über das &amp;quot;[[Konfiguration#Befehl-Eingabefeld|Befehl-Eingabefeld]]&amp;quot; und die &amp;quot;[[Konfiguration#Objektdetails|Objektdetails]]&amp;quot; erfolgen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Die Bedienungsanleitungen (Handbücher) sind zwingende Voraussetzung zur korrekten Einbindung und Konfiguration von Z-Wave-Geräten in FHEM. Sie müssen daher vorliegen. &lt;br /&gt;
Den ZWave-Geräten liegen teilweise nur gekürzte, gedruckte Fassungen der Handbücher bei (beispielsweise Devolo, AEOTEC). Man sollte bei allen Produkten auf folgenden Seiten nach eventuellen ausführlicheren Handbüchern suchen:&lt;br /&gt;
* Herstellerseite des ZWave-Gerätes&lt;br /&gt;
* http://www.zwave.de/handbuecher/ (deutsch)&lt;br /&gt;
* http://products.z-wavealliance.org (englisch)&lt;br /&gt;
Insbesondere auf http://products.z-wavealliance.org, der Datenbank der ZWave-zertifizierten Produkte, sind regelmäßig ausführliche Informationen zu den Geräten zu finden.&lt;br /&gt;
&lt;br /&gt;
== Definition des Gateways / Controllers ==&lt;br /&gt;
{{Randnotiz|RNText=&#039;&#039;&#039;Tester für ZWave@culfw gesucht!&#039;&#039;&#039;&lt;br /&gt;
ZWave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Detailinformationen zur Entwicklung finden sich im {{Link2Forum|Topic=44905}}. Eine kurze Zusammenfassung zum Stand 04/2016: {{Link2Forum|Topic=52364|Message=441957}} }}&lt;br /&gt;
=== Autocreate des Gateways ===&lt;br /&gt;
FHEM kann mit einem Funkgateway Z-Wave-Funk empfangen und senden. Z-Wave-Gateways (Controller) existieren von verschiedenen Herstellern. &lt;br /&gt;
&lt;br /&gt;
Folgende Gateways wurden unter anderem bereits erfolgreich mit FHEM eingesetzt:&lt;br /&gt;
* AEON Labs Z-Stick S2 (SDK 5.x; [https://aeotec.freshdesk.com/support/solutions/articles/6000091809-z-stick-s2-v3-08-firmware-update Firmwareupdate auf 3.08 aus 2016])&lt;br /&gt;
* Aeotec Z-Stick Gen5 (Z-Wave Plus; SDK 6.5; [https://aeotec.freshdesk.com/support/solutions/articles/6000108806-z-stick-gen5-backup-software Backup-Software)] ({{Link2Forum|Topic=47000}})&lt;br /&gt;
* Goodway WD6001 (SDK 5.03 {{Link2Forum|Topic=40594|Message=332235}})&lt;br /&gt;
* Vision Z-Wave USB Stick ZU 1401 EU (SDK 6.0x)&lt;br /&gt;
* Vision Z-Wave USB Stick ZU 1401-5 EU (Z-Wave Plus; SDK 6.5x)&lt;br /&gt;
* Z-Wave.Me Z-StickC ({{Link2Forum|Topic=29930|Message=226530}})&lt;br /&gt;
* Z-Wave.Me USB Stick ZME_UZB1 (SDK 6.5x;  Z-Wave Plus; [http://razberry.z-wave.me/z-way-server/ Firmwareupdate und Backup über z-way])&lt;br /&gt;
* Z-Wave.Me Razberry in Verbindung mit Raspberry Pi (1. Generation: Z-Wave, 2. Generation: Gen5-Razberry mit Z-Wave Plus[http://forum.z-wave.me/viewtopic.php?f=3419&amp;amp;t=21327#p55404]) &lt;br /&gt;
** Die seriellen Schnittstelle /dev/ttyAMA0 muss am Raspberry Pi freigeschaltet werden, damit das Razberry-Modul funktionsfähig ist: {{Link2Forum|Topic=11716|Message=190402}})&lt;br /&gt;
** Beim Raspberry Pi 3 muss der GPIO-Port auf den Hardware-UART0 umgestellt werden: [[Raspberry Pi 3: GPIO-Port Module und Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
Folgende Gateways sind &#039;&#039;&#039;nicht&#039;&#039;&#039; mit FHEM einsetzbar:&lt;br /&gt;
* Merten Funk-USB-Datenschnittstelle CONNECT&lt;br /&gt;
&lt;br /&gt;
Sollte das eigene Gateway hier nicht aufgeführt sein, ist aufgrund der Standardisierung dennoch die Chance für eine erfolgreiche Einbindung des Gateways in FHEM vorhanden. Bitte dies hier oder im Forum entsprechend vermerken.&lt;br /&gt;
&lt;br /&gt;
Das Z-Wave-Gateway wird unter Linux nach Anschluss an den FHEM-Rechner beim nächsten FHEM-Start oder ohne FHEM-Neustart durch Aufruf des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; zumeist automatisch erkannt und grundlegend durch entsprechende Einträge in der Konfiguration definiert. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. Unter Windows ist ein manuelles Anlegen der Definition des ZWave-Gateways wegen fehlender Unterstützung des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; erforderlich (Beispiel für Z-Wave.Me USB Stick ZME_UZB1 unter Windows: &amp;lt;code&amp;gt;define ZWDongle_1 ZWDongle COM1@115200&amp;lt;/code&amp;gt;). Das FHEM-Gateway-Device ist nach der Definition in FHEM im Raum &amp;quot;Everything&amp;quot; zu finden.&lt;br /&gt;
&lt;br /&gt;
Beispiele der automatisch erzeugten define-Zeile in der Konfiguration:&lt;br /&gt;
&lt;br /&gt;
Aeon Labs Z-Stick an der Fritzbox: &lt;br /&gt;
 define ZWDongle_1 ZWDongle /dev/ttyUSB0@115200&lt;br /&gt;
&lt;br /&gt;
Vision Z-Wave USB Stick ZU 1401 EU am Raspberry Pi (Raspbian):&lt;br /&gt;
 define ZWDongle_1 ZWDongle /dev/ttyACM0@115200&lt;br /&gt;
&lt;br /&gt;
Insbesondere wenn am FHEM-Server unter Linux mehrere USB-Gateways eingesetzt werden, empfiehlt es sich zur Erhöhung der Betriebsstabilität das Z-Wave-Gateway über [[Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden|Serial-by-Id]] oder [[LinuxDeviceNaming|uDev-Regeln]] anzusprechen.&lt;br /&gt;
&lt;br /&gt;
=== homeId und nodeList des Gateways ===&lt;br /&gt;
Zur manuellen Definition von Z-Wave Aktoren und Sensoren ist die &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; notwendig. Bei der hier bevorzugten Definition der Geräte durch autocreate ist die Kenntnis der &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; nicht zwingend. Jedoch sollte durch Abfrage der &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; direkt nach Einbindung des Zwave-Gateways dessen Funktionsfähigkeit getestet werden.&lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;CtrlNodeId&amp;lt;/code&amp;gt; des Gateways wird mit folgendem Befehl ausgelesen (ZWDongle_1 ist im folgenden durch den eigenen Gatewaynamen zu ersetzen):&lt;br /&gt;
 get ZWDongle_1 homeId&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
&lt;br /&gt;
Die aktuelle Liste der Z-Wave Nodes, die bereits am Gateway registriert/inkludiert sind, wird mit dem folgendem Befehl ausgelesen:&lt;br /&gt;
 get ZWDongle_1 nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&lt;br /&gt;
== Definition von Geräten / Slaves ==&lt;br /&gt;
=== Hinzufügen eines neuen Z-Wave Geräts / Inklusion ===&lt;br /&gt;
Zur Verfolgung von Inklusionsablauf und Meldungen des Controllers während der Inklusion sollte der [[Event monitor]] in einem 2. Browserfenster vor Aktivierung des Inklusionsmodus geöffnet werden.&lt;br /&gt;
&lt;br /&gt;
Das Z-Wave Gateway wird in den Standard-Modus zur Inklusion (zum Aufnehmen) neuer Geräte gesetzt:&lt;br /&gt;
 set ZWDongle_1 addNode on&lt;br /&gt;
Bei der Standard-Inklusion muss direkter Funkkontakt zwischen Gateway und zu inkludierendem Z-Wave Gerät bestehen.&lt;br /&gt;
&lt;br /&gt;
Sofern Z-Wave Gateway und Z-Wave Geräte Explorer Frames unterstützen, sollte statt des obigen Befehls besser der Network-Wide-Modus für die Inklusion genutzt werden:&lt;br /&gt;
 set ZWDongle_1 addNode onNw&lt;br /&gt;
Bei der Network-Wide-Inklusion muss kein direkter Funkkontakt zwischen Gateway und zu inkludierendem Z-Wave Gerät bestehen. Es reicht, wenn das zu inkludierende Gerät über andere bereits inkludierte, netzgespeiste Geräte mit Explorer Frames-Unterstützung erreicht werden kann. Die Network-Wide-Inklusion ist zu bevorzugen, da die Z-Wave-Geräte regelmäßig an Ihren örtlichen Endpositionen inkludiert werden können. Dadurch werden bei der Inklusion direkt die korrekten Routen gespeichert. &lt;br /&gt;
&lt;br /&gt;
Nachdem das Gateway in den Inklusionmodus geschaltet wurde, muss das Gerät in den Inklusionsmodus (Aufnahmemodus) versetzt werden. Wie dies zu erfolgen hat, ist im Handbuch des Geräte nachzulesen. Typisch sind ein- oder dreimaliges Drücken einer Taste am Gerät oder beim Anlegen der Versorgungsspannung. Durch die Inklusion werden Home-ID und Node-ID im Gerät gespeichert. Zudem teilt das Gerät über ein spezielle Funknachricht (NIF=Node Information Frame) dem Controller seinen Gerätetyp und seine Geräteeigenschaften mit. Hierbei werden dem Controller auch die vom Gerät unterstützten Command Classes mitgeteilt. Aus diesen Informationen erzeugt FHEM automatisch durch autocreate das FHEM-Geräte-Device nach dem Namensschema &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (an eigene Wünsche anpassbar mit [http://fhem.de/commandref.html#rename rename]). Die vom Geräte unterstützen Command Classes, die die in FHEM verfügbaren Befehle bestimmen, werden automatisch im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; des FHEM-Geräte-Device gespeichert. Das Gerät ist damit grundlegend in FHEM definiert und im Raum &amp;quot;ZWave&amp;quot; zu finden. &lt;br /&gt;
&lt;br /&gt;
Nach der Inklusion schaltet FHEM den Inklusionsmodus des Z-Wave Gateway automatisch durch Absetzen des Befehls &amp;lt;code&amp;gt;set ZWDongle_1 addNode off&amp;lt;/code&amp;gt; aus und zeigt eine Dialogbox mit dem Ergebnis der Inklusion:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;created ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = Inklusion war erfolgreich und es wurde das bezeichnete FHEM-Device durch autocreate angelegt.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;addNode failed&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = Inklusion ist fehlgeschlagen&lt;br /&gt;
 &lt;br /&gt;
Eine erfolgreiche Inklusion ist zudem am Event &amp;quot;ZW_ADD_NODE_TO_NETWORK protocolDone&amp;quot; im Event monitor und natürlich der Anlage des entsprechenden FHEM-Devices durch autocreate zu erkennen.  Das Scheitern einer Inklusion führt typischerweise zur Ausgabe des Events &amp;quot;ZW_ADD_NODE_TO_NETWORK failed&amp;quot;. Häufigste Ursache sind Controllerprobleme, die sich oftmals durch kurzes Ein- und Ausstecken des Controllers, Neustart des Systems oder Ein- und Ausschalten des FHEM-Server-Computers beheben lassen.&lt;br /&gt;
&lt;br /&gt;
HINWEISE:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Die Network-Wide-Inklusion kann nach derzeitiger Kenntnis auch bei Gateways und Geräten ohne Explorer Frames Unterstützung genutzt werden, da bei diesen Geräten grundsätzlich automatisch auf die Standard-Inklusion umgestellt wird.&lt;br /&gt;
* Bei der Standard-Inklusion ist unter Umständen nur ein geringer Abstand zwischen Gateway und Gerät möglich. Sollte die Inklusion daher nicht durchführbar sein, wenn Gateway und Gerät an ihren örtlichen Endpositionen sind (bevorzugte Variante), dann ist der Abstand zwischen diesen versuchsweise zu verringern. Anschließend bei örtlicher Veränderung die Routen mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; neigborUpdate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set TYPE=ZWave:FILTER=ZWaveSubDevice=no neighborUpdate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; neu ermitteln lassen. Unter Umständen kann der Abstand nur schrittweise erhöht werden. Dann ist bei jeder Abstandsänderung eine Neuermittlung der Routen notwendig.&lt;br /&gt;
* Der NIF enthält bei manchen Geräten fälschlicherweise nicht alle unterstützten Command Classes. FHEM identifiziert während der Inklusion das Gerät und ergänzt die fehlenden Command Classes aufgrund manuell gepflegter, gerätespezifischer [[#Welche_Funktion_haben_die_XML-Config-Dateien_in_FHEM.3F|XML-Config-Dateien]]. Weiterhin fehlende Command Classes können im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; manuell am Anfang der Liste entsprechend ergänzt werden. Informationen liefern die unter [[#Links|Links]] aufgeführten Datenbanken. Häufig fehlt die Pflicht-Class BASIC.&lt;br /&gt;
* Bei der hier beschriebenen Inklusion findet die Kommunikation zwischen Controller und Gerät anschließend dauerhaft unverschlüsselt statt. Manche Geräte bieten mit der Command Class SECURITY eine AES-verschlüsselte Kommunikation an. Da die Verschlüsselung zu einer höheren Funklast und Latenzen führt, sollte eine verschlüsselte Kommunikation nur mit Bedacht eingesetzt werden (bspw. bei Schlössern). Als Sonderfall ist das Vorgehen zur secure-Inklusion in der [[#Wie_kann_eine_verschl.C3.BCsselte_Kommunikation_unter_Nutzung_der_Command_Class_SECURITY_eingerichtet_werden.3F|FAQ]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
Nächster Schritt ist die [[#Assoziation|Assoziation]] des Gerätes mit dem Gateway.&lt;br /&gt;
&lt;br /&gt;
=== Assoziation ===&lt;br /&gt;
{{Randnotiz|RNText=Bitte unbedingt die Besonderheiten bei [[#batteriebetriebene_Ger.C3.A4te|batteriebetriebenen Geräten]] beachten!}}&lt;br /&gt;
Z-Wave-Geräte können über Assoziationen direkt mit anderen Z-Wave-Geräten kommunizieren. Dies können zum einen Meldungen über den Status und Zustand der Geräte, als auch direkte Befehle sein. Zum Beispiel kann damit ein Bewegungsmelder eine entdeckte Bewegung an den Controller senden und/oder bei entdeckter Bewegung direkt eine Lampe ein- oder ausschalten.&lt;br /&gt;
&lt;br /&gt;
Die Assoziation zwischen zwei Geräten wird durch Aufnahme des zu steuernden Gerätes in eine oder mehrere Assoziationsgruppe(n) des steuernden Gerätes angelegt. Durch die Wahl der Assoziationsgruppe wird festgelegt, bei welchen Ereignissen welche Nachricht an das assoziierte Gerät verschickt wird. Angaben zu den Ereignissen und versandten Nachrichten an die Geräte in einer bestimmten Assoziationsgruppe stehen in der Bedienungsanleitung des jeweiligen Gerätes.&lt;br /&gt;
&lt;br /&gt;
Damit FHEM Statusmeldungen von Sensoren/Aktoren anzeigen und auch darauf reagieren kann, &#039;&#039;&#039;muss&#039;&#039;&#039; der Controller (ZWDongle_1, &amp;lt;code&amp;gt;CtrlNodeId&amp;lt;/code&amp;gt; = typischerweise 1) immer in der/den passenden Assoziationsgruppe(n) des jeweiligen Gerätes &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; aufgenommen werden:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;name&amp;gt; associationAdd &amp;lt;associationGroup&amp;gt; &amp;lt;CtrlNodeId&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typischerweise ist die Assoziationsgruppe 1 der Geräte für die Statusmeldungen an den Controller vorgesehen (Ausnahme: [[#Fibaro|Fibaro-Geräte ohne ZWave Plus - Zertifizierung]]). Daher nimmt FHEM die Assoziation von Controller mit der Assoziationsgruppe 1 des Gerätes bei der Inklusion immer automatisch vor. Zudem identifiziert FHEM während der Inklusion das Gerät und setzt weitere Assoziationen mit dem Controller für von 1 abweichende Assoziationsgruppen aufgrund manuell gepflegter, gerätespezifischer [[#Welche_Funktion_haben_die_XML-Config-Dateien_in_FHEM.3F|XML-Config-Dateien]]. Ist keine XML-Config-Datei für das Gerät vorhanden, sind Assoziationen des Controllers mit von 1 abweichenden Assoziationsgruppen oder weiteren Assoziationsgruppen mit dem zuvor genannten Befehl grundsätzlich manuell anzulegen. &lt;br /&gt;
&lt;br /&gt;
Die richtige Anlage der Assoziation(en) des Controllers mit dem Gerät immer prüfen, da dies eine Hauptfehlerquelle bei Funktionsproblemen mit FHEM ist.&lt;br /&gt;
&lt;br /&gt;
Abruf der assoziierten Geräte in einer bestimmten Assoziationsgruppe &amp;lt;associationGroup&amp;gt;:&lt;br /&gt;
 get &amp;lt;name&amp;gt; association &amp;lt;associationGroup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abruf der assozierten Geräte für alle Assoziationsgruppen eines Gerätes:&lt;br /&gt;
 get &amp;lt;name&amp;gt; associationAll&lt;br /&gt;
&lt;br /&gt;
Nahezu alle in Europa erhältlichen aktuellen Geräte unterstützen die Rückmeldung des Status via Association. Ausnahmen gibt es in Nordamerika, wo aufgrund von Patentansprüchen einige Hersteller auf die Statusrückmeldungen verzichten. Diese Geräte unterstützen in der Regel die Command Class ASSOCIATION nicht.&lt;br /&gt;
&lt;br /&gt;
Nächster Schritt ist die [[#Konfiguration|Konfiguration]] des Gerätes.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
{{Randnotiz|RNText=Bitte unbedingt die Besonderheiten bei [[#batteriebetriebene_Ger.C3.A4te|batteriebetriebenen Geräten]] beachten!}}&lt;br /&gt;
Die Standard-Konfiguration eines Gerätes entspricht oftmals nicht den eigenen Wünschen und Anforderungen (Einheiten usw.). Mit den Befehlen der Class CONFIGURATION lässt sich die Konfiguration anpassen. Die zur Konfiguration eines Gerätes notwendigen Angaben zu den Parameternummern, -größen und -werten sind im jeweiligen Geräte-Handbuch bzw. entsprechenden Datenbanken (bspw. [http://www.pepper1.net/zwavedb/ pepper1-ZWave-Datenbank] oder [http://products.zwavealliance.com/ products.zwavealliance.com]) enthalten. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration beispielsweise bei Parametergröße 1 lässt sich mit diesem Befehl anpassen:&lt;br /&gt;
 set &amp;lt;name&amp;gt; configByte &amp;lt;Parameternummer&amp;gt; &amp;lt;Parameterwert&amp;gt;&lt;br /&gt;
Für weitere Parametergrößen gibt es die Befehle &amp;lt;code&amp;gt;configWord&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;configLong&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die im Gerät hinterlegten Konfiguration kann pro Parameternummer mit folgendem Befehl abgerufen werden:&lt;br /&gt;
 get &amp;lt;name&amp;gt; config &amp;lt;Parameternummer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zudem bietet FHEM basierend auf den manuell gepflegten XML-Config-Dateien die Möglichkeit, die speziellen Parameternummern des Gerätes mit ihren Parametergrößen und -werte als eigenständige config-Befehle mit Hilfsinformationen einzubinden. Ein manuelles Suchen im Geräte-Handbuch und Nutzung der configByte-, configWord- und configLong-Befehle ist dadurch in vielen Fällen unnötig. Für diese Funktion muss das Gerät von FHEM einmalig durch folgenden Befehl, der bei der Inklusion automatisch ausgeführt wird, identifiziert werden:   &lt;br /&gt;
 get &amp;lt;name&amp;gt; model&lt;br /&gt;
Die Readings &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;modelID&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; werden dadurch erzeugt. In &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; sollte der Klartextname des Gerätes stehen. Zudem sind dann -soweit eine XML-Config Datei für das Gerät existiert- die speziellen set/get-Kommandos configXYZ für das Geräte im Auswahldialog der Detailansicht mit Hilfsinformationen verfügbar:&lt;br /&gt;
[[Datei:Z-Wave_confighelp.PNG|900px|thumb|center|config-Befehl mit Hilfstext]]&lt;br /&gt;
&lt;br /&gt;
Bei vorhandener XML-Config-Datei kann die komplette Konfiguration eines Gerätes abgerufen werden:&lt;br /&gt;
 get &amp;lt;name&amp;gt; configAll&lt;br /&gt;
&lt;br /&gt;
Außerdem wird durch den &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; -Befehl geprüft, ob das Gerät in der [http://www.pepper1.net/zwavedb/ pepper1-ZWave-Datenbank] und/oder [http://products.zwavealliance.com/ products.zwavealliance.com] enthalten ist. Im Erfolgsfall wird ein Link &amp;quot;Details in pepper DB&amp;quot; und/oder &amp;quot;Details in alliance DB&amp;quot; zum entsprechenden Geräteeintrag in der jeweiligen Datenbank unten in der Detailansicht des FHEM-Geräte-Devices angelegt und ein Bild des Gerätes in die Detailansicht eingebunden.&lt;br /&gt;
&lt;br /&gt;
Der Aufruf von &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; ist auch für die Nutzung der Class MANUFACTURER_PROPRIETARY zwingende Einsatzvoraussetzung.&lt;br /&gt;
&lt;br /&gt;
=== Entfernen eines Z-Wave-Geräts / Exklusion ===&lt;br /&gt;
Durch die Exklusion wird die Home-ID und Node-ID aus dem Gerät und das Gerät selbst aus der Node-List des Controllers gelöscht. Erst nach einer Exklusion kann das Gerät in ein anderes Z-Wave-Netz aufgenommen werden.&lt;br /&gt;
&lt;br /&gt;
Zuerst wird der Z-Wave Gateway in den Standard-Modus zur Exklusion (Ausschluss) von Geräten gesetzt:&lt;br /&gt;
 set ZWDongle_1 removeNode on&lt;br /&gt;
&lt;br /&gt;
Sofern Z-Wave Gateway und Z-Wave Geräte Explorer Frames unterstützen, sollte statt dem obigen Befehl besser der Network-Wide-Modus für die Exklusion genutzt werden (siehe auch Erläuterungen zu Standard- versus Network-Wide-Inklusion unter [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]]):&lt;br /&gt;
 set ZWDongle_1 removeNode onNw&lt;br /&gt;
&lt;br /&gt;
Danach muss das Gerät in den Exklusionsmodus (Ausschlussmodus) versetzt werden. Wie dies zu erfolgen hat, ist im Handbuch des Geräte nachzulesen. &lt;br /&gt;
&lt;br /&gt;
Abschließend wird der Exklusionsmodus am Z-Wave Gateway wieder ausgeschaltet:&lt;br /&gt;
 set ZWDongle_1 removeNode off&lt;br /&gt;
&lt;br /&gt;
Das FHEM-Device muss nach der Exklusion manuell durch &amp;lt;code&amp;gt;delete &amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
Die durch die Exklusion frei gewordene NodeID wird nicht bei der nächsten Inklusion wiederverwendet, sondern es wird die höchste noch nicht verwendete NodeID genutzt.&lt;br /&gt;
&lt;br /&gt;
=== Erneutes Hinzufügen eines bereits registrierten Z-Wave Geräts ===&lt;br /&gt;
Die an einem Z-Wave-Gateway bereits registrierten/inkludierten Geräte sind im Gateway selbst abgespeichert und können durch FHEM jederzeit wieder abgerufen werden. Dies kann man in folgenden Fällen sinnvoll nutzen:&lt;br /&gt;
* Inklusion mit einem batteriegespeisten ZWave-Gateway (bspw. Aeon Labs Z-Stick) ohne FHEM-Server-Anschluss während der Inklusion&lt;br /&gt;
* Umstieg eines ZWave-Netzwerkes von Fremdsoftware auf FHEM  &lt;br /&gt;
* Vollständiger oder teilweiser Verlust der FHEM-Konfiguration&lt;br /&gt;
&lt;br /&gt;
Eine Node-Liste aller inkludierten Geräte des Gateways wird abgerufen durch:&lt;br /&gt;
 get ZWDongle_1 nodeList&lt;br /&gt;
Es wird eine Liste aller im Gateway inkludierten Gerät inklusive Gateway selbst zurückgeliefert. Sofern ein Gerät bereits als FHEM-Device angelegt wurde, wird der FHEM-Device-Name in der nodeList angezeigt. Dies ist für das Gateway selbst immer der Fall. Im obigen Beispiel ist der Eintrag &amp;quot;ZWDongle_1&amp;quot;. Alle noch nicht in FHEM angelegten Geräte, werden als &amp;quot;UNKNOWN_x&amp;quot; ausgegeben, wobei x die ID des betreffenden Gerätes ist.&lt;br /&gt;
&lt;br /&gt;
Mit dem folgenden Befehl wird beispielsweise das bereits im Gateway inkludierte Gerät mit der ID 2 (in der nodeList angezeigt als &amp;quot;UNKNOWN_2&amp;quot;) in FHEM durch autocreate definiert:&lt;br /&gt;
 set ZWDongle_1 createNode 2&lt;br /&gt;
&lt;br /&gt;
Batteriebetriebene Geräte müssen bei Absetzen des &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt;-Befehls wach sein, damit der Befehl verarbeitet werden kann. Dies erreicht man, indem man das Gerät auf &amp;quot;permanent wach&amp;quot; stellt. Falls das Gerät diese Funktion nicht anbietet, muss man es manuell aufwecken und max. 2 Sekunden später den &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt;-Befehl absetzen. Alternativ kann das batteriebetriebene Gerät durch Versand des NIF vom Gerät aus automatisch in FHEM erzeugt werden: Hierzu am Gerät die Taste zum Versand des NIF drücken und &amp;lt;code&amp;gt;autocreate&amp;lt;/code&amp;gt; legt das FHEM-Device an; der Aufruf von &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt; entfällt dann.&lt;br /&gt;
&lt;br /&gt;
== Geräte-Besonderheiten ==&lt;br /&gt;
=== batteriebetriebene Geräte ===&lt;br /&gt;
Batteriebetriebenen Geräten können hinsichtlich ihrer Empfangsbereitschaft unterschieden werden in&lt;br /&gt;
&lt;br /&gt;
* Wakeup-Geräte&lt;br /&gt;
* FLIRS-Geräte&lt;br /&gt;
&lt;br /&gt;
==== Wakeup-Geräte ====&lt;br /&gt;
Wakeup-Geräte sind momentan die häufigste Art von batteriebetriebenen Z-Wave Geräten. Sie sind erkennbar an der Unterstützung der Command Class WAKE_UP.&lt;br /&gt;
Zur Verlängerung der Batterielaufzeit legen sich batteriebetriebene Wakeup-Geräte „schlafen“ und wachen (Wakeup) nur in konfigurierbaren Intervallen auf, um Befehle zu verarbeiten. Das Aufwachen signalisieren die Geräte durch den Versand einer Nachricht &amp;quot;wakeup notification&amp;quot;. Daraufhin senden FHEM und andere Geräte ihre bis dahin gesammelten Befehle, die dann verarbeitet bzw. beantwortet werden. Anschließend gehen die batteriebetriebenen Geräte wieder in den Schlafmodus.&lt;br /&gt;
&lt;br /&gt;
FHEM teilt bei set/get-Befehlen an batteriebetriebene Geräte über einen Hinweis der Form&lt;br /&gt;
:&amp;lt;code&amp;gt;Scheduled for sending after WAKEUP&amp;lt;/code&amp;gt; &lt;br /&gt;
::oder&lt;br /&gt;
:&amp;lt;code&amp;gt;Scheduled get requests for sending after WAKEUP&amp;lt;/code&amp;gt;&lt;br /&gt;
mit, dass der Befehl im Sendstack des FHEM-Geräte-Devices abgespeichert wurde und bei der nächsten &amp;quot;wakeup notification&amp;quot; an das Gerät versendet wird. Ein Versand der Befehle im Sendstack findet grundsätzlich ausschließlich nach Erhalt der &amp;quot;wakeup notification&amp;quot;-Nachricht statt, selbst wenn das Gerät zwischendurch andere Telegramme (bspw. Bewegungsmeldung, Temperatur) an den Controller verschickt. Nur nach Versand der &amp;quot;wakeup notification&amp;quot; ist das batteriebetriebene Gerät grundsätzlich in der Lage (&amp;quot;wach genug&amp;quot;), Telegramme korrekt zu empfangen und zu verarbeiten.&lt;br /&gt;
&lt;br /&gt;
Wie viele Nachrichten im Sendstack auf einen Versand an das Gerät warten, ist im Internal &amp;lt;code&amp;gt;cmdsPending&amp;lt;/code&amp;gt; des zugehörigen FHEM-Devices ersichtlich. Welche Nachrichten (Befehle) im Sendstack warten, ist in der Ausgabe des Befehls &amp;lt;code&amp;gt;[[list]] &amp;lt;device&amp;gt;&amp;lt;/code&amp;gt; erkennbar: Unter der Überschrift Sendstack sind alle wartenden Nachrichten als Rohnachrichten aufgeführt. Der Sendstack wird beim Beenden von FHEM nicht gespeichert. Durch Beenden von FHEM (beispielsweise durch &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;) geht der Sendstack der Geräte daher verloren.&lt;br /&gt;
&lt;br /&gt;
Das Wakeup-Interval und der Empfänger der &amp;quot;wakeup notification&amp;quot; wird wie folgt konfiguriert:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; wakeupInterval &amp;lt;time&amp;gt; &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/nowiki&amp;gt; ist die Zeit in Sekunden zwischen den Intervallen und &amp;lt;nodeID&amp;gt; der gewünschte Empfänger der &amp;quot;wakeup notification&amp;quot;; in der Regel ist dies &#039;&#039;&#039;immer&#039;&#039;&#039; der Controller &amp;lt;CtrlNodeId&amp;gt;. Viele Geräte kommen im Auslieferungszustand mit der NodeID 255. Die &amp;quot;wakeup notification&amp;quot; wird dann als Broadcast ohne Nutzung von Routing an alle erreichbaren Geräte gesendet. Hier sollte die Konfiguration auf die NodeID des Controllers geändert werden, da dadurch die &amp;quot;wakeup notification&amp;quot; geroutet wird und größere Entfernungen zwischen Gerät und Controller möglich sind. Zudem ist dies robuster und spart zusätzlich noch Batterielaufzeit. Darum setzt FHEM bei der Inklusion von WakeUp-Geräten &#039;&#039;&#039;automatisch&#039;&#039;&#039; den Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; wakeupInterval 86400 &amp;lt;ControllerNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ab. Bei abweichenden eigenen Vorstellungen ist dies gegebenenfalls anzupassen. Bei Geräten mit V2 der Command Class WAKE_UP kann das vom Hersteller vorgesehene Standard-wakeupInterval mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; wakeupIntervalCapabilities&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; vom Gerät abgerufen werden. Die Einstellungen von wakeupInterval nach Inklusion und nach jeder Änderung immer mit der Abfrage &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; wakeupInterval&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; überprüfen.&lt;br /&gt;
&lt;br /&gt;
Ein Aufwachen und Versand der &amp;quot;wakeup notification&amp;quot; von batteriebetriebenen Geräten kann für die [[#Assoziation|Assoziation]] und [[#Konfiguration|Konfiguration]] manuell erzwungen werden. Hierzu bringt man das Gerät normalerweise in den Inklusionsmodus oder findet in der Bedienungsanleitung gegebenenfalls andere Informationen. Bitte beachten, dass dann je nach Gerät nur eine geringe Entfernung von Gateway und Gerät vorhanden sein darf (direkte Erreichbarkeit). Alternativ kann für die Dauer der Assoziation und Konfiguration das Wakeup-Interval verkürzt werden (beispielsweise auf 60 Sekunden), wodurch das Routing genutzt werden kann und größere Entfernungen zwischen Gateway und Gerät überbrückt werden können. Anschließend das Wakeup-Interval wieder auf eine batterieschonenende Dauer einzustellen.&lt;br /&gt;
&lt;br /&gt;
Einzelne batteriebetriebene Gerät lassen sich für längere Zeit auf &amp;quot;wach&amp;quot; bzw. permanent &amp;quot;wach&amp;quot; stellen. Dann aus dem Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen, damit Befehle in diesem Gerätemodus von FHEM direkt verschickt werden. Nach Ausschalten des &amp;quot;wach&amp;quot;-Modus &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; wieder im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; aufnehmen.&lt;br /&gt;
&lt;br /&gt;
Bei Konfigurationsänderungen an batteriebetriebenen Geräten mit &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; config...&amp;lt;/code&amp;gt; sollte die korrekte Verarbeitung der Befehle immer mit dem entsprechenden &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; config...&amp;lt;/code&amp;gt; oder -falls vorhanden- mit &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; configAll&amp;lt;/code&amp;gt; überprüft werden, um eventuelle Funk-Telegrammverluste sofort festzustellen.&lt;br /&gt;
&lt;br /&gt;
==== FLIRS-Geräte ====&lt;br /&gt;
Ein batteriebetriebene FLIRS (frequently listening routing slave) Gerät wacht in sehr kurzen Zeitabständen (250ms oder 1000ms) auf und prüft, ob ein Funksignal vorliegt. Liegt kein Funksignal vor geht das Gerät wieder in Tiefschlaf. Zum Aufwecken eines FLIRS-Gerätes ist ein dauerhaftes Funksignal -der Wakeup-Beam-, notwendig, das etwas länger als die Aufweckzeitabstände sein muss. Näher beschrieben unter anderem [http://library.ademconet.com/MWT/fs2/VAM/Introductory-Guide-to-Z-Wave-Technology.PDF hier]. &lt;br /&gt;
&lt;br /&gt;
FLIRS-Geräte haben nicht die Command Class WAKE_UP und arbeiten deshalb nicht mit &amp;quot;wakeup notification&amp;quot;. Aus Sicht des FHEM-Nutzers sind die bekannten FLIRS-Geräte (Sirenen von Vision und Popp) nicht anders zu bedienen/einzurichten als netzgespeiste Geräte. Wakeup-Beam und andere Besonderheiten werden unsichtbar für den Nutzer automatisch abgewickelt.&lt;br /&gt;
&lt;br /&gt;
=== Aeon Labs / Aeotec ===&lt;br /&gt;
Ausführliche Handbücher und technische Informationen auf https://aeotec.freshdesk.com/support/home&lt;br /&gt;
&lt;br /&gt;
==== Multi Sensor 5 ====&lt;br /&gt;
* aktuellste Firmware installieren&lt;br /&gt;
* Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; um &amp;lt;code&amp;gt;BASIC&amp;lt;/code&amp;gt; ergänzen (ab [[version|Modulversion]] 8824/25.6.2015 wird das automatisch bei der Inklusion durchgeführt)&lt;br /&gt;
* bei USB-Anschluss aus Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen&lt;br /&gt;
* Parameter 101 auf 225 (oder 224 bei USB-Anschluss) setzen mit &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; configGroup1Reports 225&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; configLong 101 225&amp;lt;/code&amp;gt;, um Batteriezustand (nicht bei 224), Temperatur, Feuchte und Helligkeit regelmäßig zu erhalten. Das Sende-Intervall wird duch &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; configGroup1Interval &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; festgelegt (Standard 720 Sek).&lt;br /&gt;
* [http://www.pepper1.net/zwavedb/device/407 Paramterübersicht pepper-Datenbank]&lt;br /&gt;
siehe {{Link2Forum|Topic=34505|Message=268913}}&lt;br /&gt;
&lt;br /&gt;
==== Multisensor 6 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40393}}&lt;br /&gt;
* arbeitet bei USB-Anschluß als Router&lt;br /&gt;
* bei USB-Anschluss aus Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen&lt;br /&gt;
* die &amp;lt;code&amp;gt;configGroupxInterval&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;configxxxReportingThreshold&amp;lt;/code&amp;gt; Einstellungen wirken nur bei USB-Anschluss, im reinen Batteriebetrieb werden die Sensordaten nur bei einem &amp;lt;code&amp;gt;wakeup&amp;lt;/code&amp;gt; übertragen&lt;br /&gt;
&lt;br /&gt;
==== Aeotec LED Bulb ZW098-C55 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40504}}&lt;br /&gt;
&lt;br /&gt;
=== Danfoss ===&lt;br /&gt;
==== DAN_LC-13 Heizungsthermostat LC-13 (014G0013) ====&lt;br /&gt;
Das Danfoss Heizungsthermostat LC-13 muss derzeit zur korrekten Funktion mit FHEM regelmäßig mit folgendem &amp;lt;code&amp;gt;at&amp;lt;/code&amp;gt; abgefragt werden ({{Link2Forum|Topic=32145|Message=260795}}):&lt;br /&gt;
 define Atdanfoss at +*00:30 get &amp;lt;name&amp;gt; battery&lt;br /&gt;
Auf dem Markt sind mehrere Varianten des Thermostates LC-13 erhältlich. Darum beim Kauf unbedingt auf die genaue Bezeichnung LC-13 (014G0013) achten ({{Link2Forum|Topic=38041|Message=303146}}). &lt;br /&gt;
&lt;br /&gt;
=== devolo ===&lt;br /&gt;
Ausführliche Handbücher auf http://products.z-wavealliance.org&lt;br /&gt;
&lt;br /&gt;
==== MT02648 Tür-/Fenster Kontakt 3in1 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=41337}}&lt;br /&gt;
&lt;br /&gt;
=== DüWI ===&lt;br /&gt;
Geräte von DÜWI liefern bei örtlicher Betätigung kein automatisches Funk-Signal über die Statusänderung. Das liese sich nur durch eine regelmäßige Statusabfrage durch FHEM (beispielsweise &amp;lt;code&amp;gt;define Status_Abfrage at +*00:03:00 get &amp;lt;name&amp;gt; swmStatus&amp;lt;/code&amp;gt;) beheben.&lt;br /&gt;
Einige Produkte von [http://zwave.me Z-Wave.Me] basieren auf DÜWI-Geräten. Diese Z-Wave.Me Produkte haben jedoch eine erweiterte Firmware, welche die genannte und weitere Firmware-Schwächen der Original-Produkte von DÜWI behebt.&lt;br /&gt;
&lt;br /&gt;
=== Everspring ===&lt;br /&gt;
==== AN145 Sockelmodul E27 ====&lt;br /&gt;
Statusabfrage ohne permanente Abfrage: {{Link2Forum|Topic=48864|Message=405545|Beitrag}}&lt;br /&gt;
&lt;br /&gt;
=== Fibaro ===&lt;br /&gt;
Association Group für Übermittlung von Statusinformationen an den Controller:&lt;br /&gt;
* &amp;quot;alte&amp;quot; ZWave-Geräte (kein ZWave-Plus): häufig Association Group 3&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; associationAdd 3 &amp;lt;CtrlNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Bei diesen Geräten empfiehlt es sich zur Funklastreduzierung und Problemminimierung zu prüfen, ob die von FHEM automatisch vorgenommene Assoziation des Controllers mit der Association Group 1 gelöscht werden kann (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; associationDel 1 &amp;lt;CtrlNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). Nahezu immer werden in Association Group 1 die gleichen Infos, nur mit einer anderen Command Class, wie in der Association Group 3 an den Controller übermittelt.&lt;br /&gt;
* ZWave Plus-Geräte: Association Group 1 (&amp;quot;lifeline&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== FGSS-001 / FGSD-002 Rauchmelder ====&lt;br /&gt;
* nicht untereinander vernetzbar&lt;br /&gt;
* keine Alarmauslösung/Sirenenfunktion durch ZWave-Zentralen&lt;br /&gt;
&lt;br /&gt;
==== FGS-222 Relais Unterputzeinsatz ====&lt;br /&gt;
Bei der Inklusion werden von FHEM 3 Devices angelegt:&lt;br /&gt;
* Hauptdevice (Steuerung und automatischer Status für Kanal 1 und kanalübergreifende Funktionen)&lt;br /&gt;
* Device für Endpoint 1 (Steuerung Kanal 1)&lt;br /&gt;
* Device für Endpoint 2 (Steuerung und automatischer Status von Kanal 2)&lt;br /&gt;
Die Firmware des FGS-222 übermittelt den Status für Kanal 1 automatisch immer ausschließlich an das Hauptdevice. Die Steuerung von Kanal 1 kann hingegen sowohl über das Hauptdevice als auch über das Device für Endpoint 1 erfolgen. Das Device für Endpoint 1 ist somit nicht zwingend erforderlich und kann grundsätzlich gelöscht oder in den room hidden verschoben werden.&lt;br /&gt;
&lt;br /&gt;
Details: {{Link2Forum|Topic=50176}}&lt;br /&gt;
&lt;br /&gt;
Hinweis zum Reset: {{Link2Forum|Topic=55190|Message=469393}}&lt;br /&gt;
&lt;br /&gt;
==== FGK-101 Tür/Fensterkontakt ====&lt;br /&gt;
* Besonderheiten bei Anschluss eines Temperatursensors: {{Link2Forum|Topic=38012}}&lt;br /&gt;
&lt;br /&gt;
=== GE ===&lt;br /&gt;
==== GE (Model t.b.d) ====&lt;br /&gt;
Dieser Schalter unterstützt keine Statusrückmeldungen.&lt;br /&gt;
&lt;br /&gt;
=== Merten ===&lt;br /&gt;
Laut {{Link2Forum|Topic=38133}} müssen bei einigen Merten-Geräten, die mit Fremdsoftware inkludiert wurden, gegebenenfalls die Geräte wieder exkludiert und dann erneut mit FHEM inkludiert werden, damit Assoziationen mit FHEM gesetzt werden können.&lt;br /&gt;
&lt;br /&gt;
=== Philio ===&lt;br /&gt;
==== PHI_PAN04 Relais Unterputzeinsatz 2 Schalter a 1.5kW mit Messfunktion ====&lt;br /&gt;
siehe {{Link2Forum|Topic=28046}}&lt;br /&gt;
&lt;br /&gt;
=== Popp ===&lt;br /&gt;
==== POPE004001 Z-Wave Rauchmelder mit Innensirene ====&lt;br /&gt;
siehe {{Link2Forum|Topic=39856}}&lt;br /&gt;
==== POPE005107 Z-Wave Außensirene ====&lt;br /&gt;
siehe {{Link2Forum|Topic=42736}}&amp;lt;br&amp;gt;&lt;br /&gt;
Alte Firmwareversionen haben einen Bug bei der Übermittlung von negativen Temperaturen. Eine Lösungsvariante über ein &amp;lt;code&amp;gt;userReadings&amp;lt;/code&amp;gt; findet sich auch im verlinkten Thema. &lt;br /&gt;
==== POPE009006 Z-Wave Wall Plug Switch ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40771}}&lt;br /&gt;
==== POPE009402 10Year Smoke Detector ====&lt;br /&gt;
Die erste Firmwareversion hat eine fehlerhafte modelID.  Diese Rauchmelder wird dadurch fälschlich als [[Z-Wave#POPE005107_Z-Wave_Au.C3.9Fensirene|Popp Aussensirene]] in FHEM angezeigt. Neuere Geräte werden laut Popp mit der korrekten modelID ausgeliefert.&lt;br /&gt;
&lt;br /&gt;
=== Z-Wave.Me ===&lt;br /&gt;
==== ZME_RC2 Fernbedienung ====&lt;br /&gt;
siehe {{Link2Forum|Topic=35513}}&amp;lt;BR&amp;gt;&lt;br /&gt;
Das Forenthema enthält eine detaillierte Beschreibung der Nutzung der Class MULTI_CHANNEL_ASSOCIATION.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
* Grundlageninformation &amp;quot;Z-Wave-Haupt-Anleitung&amp;quot;: [http://www.zwave.de/z-wave-funknetz-einrichten-und-betreiben/ Wie errichte und betreibe ich ein Z-Wave basiertes Funknetz]&lt;br /&gt;
* [http://www.zwave.de/buch-z-wave-grundlagen/ Buch] &amp;quot;Z-Wave: Die Funktechnologie für das Smart Home&amp;quot; von Dr. Christian Paetz (Paetz &amp;quot;is the primary European representative for the Z-Wave Alliance&amp;quot; [http://z-wavealliance.org/global-contacts/])&lt;br /&gt;
* Z-Wave-Produktdatenbank mit Angabe zur Zertifizierung, Handbüchern und weiteren Detailinfos (Z-Wave oder [http://z-wavealliance.org/z-wave_plus_certification Z-Wave Plus]): http://products.z-wavealliance.org (englisch)&lt;br /&gt;
* herstellerübergreifende Datenbank mit Bedienungsanleitungen zu Z-Wave-Geräten: http://www.zwave.de/handbuecher/ oder http://manuals.zwaveeurope.com (mehrsprachig)&lt;br /&gt;
* herstellerübergreifende Datenbank mit technischen Informationen zu Z-Wave-Geräten (Z-Wave Device Library): http://devel.pepper1.net/zwavedb/ (englisch; wird derzeit nicht mehr aktualisiert)&lt;br /&gt;
* informative Webseiten zu Z-Wave:&lt;br /&gt;
** [http://www.z-wavealliance.org/ http://www.z-wavealliance.org/] (englisch)&lt;br /&gt;
** [http://www.zwaveeurope.com/ http://www.zwaveeurope.com/] (englisch)&lt;br /&gt;
** [http://www.zwave.de/ http://www.zwave.de/] (deutsch)&lt;br /&gt;
** [http://library.ademconet.com/MWT/fs2/VAM/Introductory-Guide-to-Z-Wave-Technology.PDF Introductory Guide to Z-Wave-Technology von Honeywell] (englisch; nicht auf aktuellem Stand)&lt;br /&gt;
&lt;br /&gt;
=== Informationsquellen zur Einbindung von Command Classes ===&lt;br /&gt;
Offizielle und ausführliche Informationen von Sigma Designs (veröffentlicht am 31.08.2016):&lt;br /&gt;
* [http://z-wave.sigmadesigns.com/design-z-wave/z-wave-public-specification/ Z-Wave Public Specification]&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen (seit Veröffentlichung der Z-Wave Spezifikationen am 31.08.2016 geringe Relevanz)&lt;br /&gt;
* [https://github.com/yepher/RaZBerry Infos zu Command Classes (ausführlich; insbesondere im Verzeichnis &amp;quot;docs&amp;quot;), RaZBerry und Z-Wave allgemein], englisch&lt;br /&gt;
* [http://220.135.186.178/zwave/example/ Übersicht von Command Classes und deren Rückgabewerten mit Unterscheidung der Class-Versionen], englisch&lt;br /&gt;
* Code von http://www.openzwave.org (https://github.com/OpenZWave/open-zwave) und http://www.openhab.org (Z-Wave binding: https://github.com/cdjackson/openhab)&lt;br /&gt;
* eine Java-API-Beschreibung mit Hinweisen zu Unterschieden von Class-Versionen: http://dz.prosyst.com/pdoc/mBS_SH_SDK_8.1/modules/zwave/api/driver/index.html&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== Welche Infos sollten Anfragen im ZWave-Forum enthalten? ===&lt;br /&gt;
* Anfragen bitte nur zur aktuellsten FHEM-Version: Befehl &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; ergibt Ausgabe &amp;quot;nothing to do...&amp;quot;&lt;br /&gt;
* detaillierte Beschreibung des Problems&lt;br /&gt;
* beteiligte Komponenten (genaue Bezeichnung und evtl. Link auf Hersteller-Dokumentation)&lt;br /&gt;
* list des jeweiligen FHEM-Devices (Ausgabe von &amp;lt;code&amp;gt;list &amp;lt;device&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
::Bitte vor Aufruf des list-Befehls -wenn vorhanden/möglich- folgende Befehle ausführen und Ergebnis abwarten:&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; associationAll&amp;lt;/code&amp;gt; &lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; configAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; versionClassAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcaAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; wakeupInterval&amp;lt;/code&amp;gt; (nur bei batteriebetriebenen Geräten)&lt;br /&gt;
* passender Ausschnitt aus dem Logfile (siehe Link im FHEM-Menü links) generiert mit den gesetzten Attributen&lt;br /&gt;
::*&amp;lt;code&amp;gt;attr &amp;lt;ZWDongle&amp;gt; verbose 5&amp;lt;/code&amp;gt; und&lt;br /&gt;
::*&amp;lt;code&amp;gt;attr global mseclog 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Welche Schritte sind für die Einbindung von ZWave-Geräten in FHEM mindestens durchzuführen? ===&lt;br /&gt;
Voraussetzung: ZWave-Gateway ist erfolgreich eingebunden!&lt;br /&gt;
# [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]] des Gerätes&lt;br /&gt;
# [[#Assoziation|Assoziation]] der Assoziationsgruppe(n) des Gerätes mit dem Gateway&lt;br /&gt;
# [[#Konfiguration|Konfiguration]] des Gerätes&lt;br /&gt;
&lt;br /&gt;
=== Warum bleibt der Status (STATE) des neu inkludierten Gerätes dauerhaft auf &amp;quot;associationAdd &amp;lt;associationGroup&amp;gt; &amp;lt;CtrlNodeId&amp;gt;&amp;quot; stehen? ===&lt;br /&gt;
FHEM setzt das Reading &amp;quot;state&amp;quot;, das den STATE bestimmt, nicht bei allen ZWave-Devices mit vordefinierten Standardwerten. Daher bleibt der bei der Inklusion automatisch abgesetzte &amp;quot;associationAdd&amp;quot;-Befehl unter Umständen im STATE stehen, bis der Anwender den STATE über die Vergabe des Attributes &amp;lt;code&amp;gt;[http://fhem.de/commandref.html#stateFormat stateFormat]&amp;lt;/code&amp;gt; manuell an seine Bedürfnisse angepasst hat.&lt;br /&gt;
(weitergehende Info zum state/STATE/stateFormat: [[DevelopmentState]])&lt;br /&gt;
&lt;br /&gt;
=== Wie können bei mehrkanaligen Aktoren die zusätzlichen Kanäle (&amp;gt;1) angesprochen werden? ===&lt;br /&gt;
* Bei der [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]] des Gerätes wird das Hauptdevice mit dem Namen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; und die Devices für alle Kanäle (Endpoints) nach dem Namensschema &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;.&amp;lt;EndpointNr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; automatisch angelegt. Jedes dieser FHEM-Devices spricht regelmäßig einen bestimmten Kanal des Gerätes an; einige Geräte sprechen mit dem Hauptdevice jedoch das gesamte Gerät mit allen Kanälen an (Bedienungsanleitung beachten).&lt;br /&gt;
* Manuell werden Devices für zusätzliche Kanäle mit Hilfe der Befehle &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcEndpoints&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcCapability &amp;lt;chid&amp;gt;&amp;lt;/code&amp;gt; aus der Class MULTI_CHANNEL ermittelt bzw. einzeln über autocreate angelegt (Details und Beispiel siehe [http://fhem.de/commandref.html#ZWaveget commandref]). Mit dem Befehl &amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; mcCreateAll&amp;lt;/code&amp;gt; werden automatisch alle Kanäle des Gerätes durch autocreate als eigene Devices in FHEM angelegt.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann man die SDK-Version eines Gerätes herausfinden? ===&lt;br /&gt;
Mit FHEM alleine kann eine [[#Grobermittlung|Grobermittlung]] der SDK-Version vorgenommen werden, die aber für einige Zwecke bereits ausreichend ist. Soll eine [[#Detailermittlung|Detailermittlung]] der genauen SDK-Version erfolgen, dann müssen die mit FHEM ermittelten Werte anhand externer Quellen übersetzt werden.&lt;br /&gt;
==== Grobermittlung ====&lt;br /&gt;
Der Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; nodeInfo &amp;lt;dezimale nodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; liefert das Reading &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;nodeInfo_&amp;lt;dezimale nodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; zurück.&lt;br /&gt;
Die Angabe im Reading hinter &amp;lt;code&amp;gt;ProtocolVers:&amp;lt;/code&amp;gt; lässt grobe Rückschlüsse zu. Mögliche (bekannte) Werte:&lt;br /&gt;
* &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; -&amp;gt; bspw. keine Explorer Frames, keine SUC-Unterstützung (veraltet, keine bekannten Geräte mehr im Handel)&lt;br /&gt;
* &amp;lt;code&amp;gt;SDK5.0x+4.2x&amp;lt;/code&amp;gt; -&amp;gt; bspw. keine Explorer Frames, teilweise SUC-Unterstützung&lt;br /&gt;
* &amp;lt;code&amp;gt;SDK4.5x+6.0x&amp;lt;/code&amp;gt; -&amp;gt; bspw. Explorer Frames- und SUC-Unterstützung (Reading-Wert wird auch bei SDK 6.5x = Z-Wave Plus angezeigt)&lt;br /&gt;
==== Detailermittlung ====&lt;br /&gt;
Durch den Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; kann man die ZWave-Protokoll-Version von Geräten und Controller abfragen. Mit Unterstützung von Übersetzungstabellen&lt;br /&gt;
* http://wiki.micasaverde.com/index.php/ZWave_Protocol_Version&lt;br /&gt;
* Suche nach sdkids.xml in einer Suchmaschine&lt;br /&gt;
kann aus der Protokoll-Version das genutzte SDK festgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielsweis entspricht das Reading eines Gerätes &amp;quot;Lib 6 &#039;&#039;&#039;Prot 2.64&#039;&#039;&#039; App 1.6&amp;quot; dem SDK 5.02 Patch 2 oder eines Controller &amp;quot;Z-Wave &#039;&#039;&#039;3.41&#039;&#039;&#039; STATIC_CONTROLLER&amp;quot; dem SDK 6.02.00.&lt;br /&gt;
 &lt;br /&gt;
HINWEIS: Bei der Vergabe der Protokoll-Version und zugehörigem SDK gibt es keine erkennbare Logik: Eine höhere Protokoll-Version steht nicht notwendig für eine höheres SDK.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann eine verschlüsselte Kommunikation unter Nutzung der Command Class SECURITY eingerichtet werden? ===&lt;br /&gt;
Die verschlüsselte Kommunikation zwischen Controller und Endgerät setzt eine secure-Inklusion voraus. Bereits mit der Inklusion wird entschieden, ob die Kommunikation von Controller und Endgerät dauerhaft verschlüsselt oder unverschlüsselt erfolgt. Ist ein Gerät bereits normal inkludiert und entscheidet man sich nachträglich für eine verschlüsselte Kommunikation, so ist das nur möglich, indem das Gerät exkludiert und dann wieder secure inkludiert wird.&lt;br /&gt;
&lt;br /&gt;
Ob die Verschlüsselung bei einem Gerät mit Unterstützung der Command Class SECURITY genutzt werden soll, sollte genau überlegt werden. Die Verschlüsselung führt zu einem deutlich größeren Funkverkehr zur Ausführung eines Befehls und teilweise auch zu spürbaren Latenzen.&lt;br /&gt;
&lt;br /&gt;
Vorarbeiten:&lt;br /&gt;
* Das Perl-Modul Crypt-Rijndael muss installiert sein.&lt;br /&gt;
* Das Attribut &amp;lt;code&amp;gt;networkKey&amp;lt;/code&amp;gt; muss mit einem 32-Zeichen langen Hexzahl beim ZWDongle angelegt werden. Dieser Schlüssel sollte nicht veröffentlicht werden und auch zusätzlich separat (bspw. auf Papier) festgehalten werden. Bei Verlust des Attributes und Schlüssels ist eine Kommunikation nur nach erneuter Inklusion möglich.&lt;br /&gt;
&lt;br /&gt;
Ablauf der secure-Inklusion:&lt;br /&gt;
* Controller in den Modus zur secure-Inklusion schalten:&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWDongle&amp;gt; addNode onSec&amp;lt;/code&amp;gt; für die Standard-secure-Inklusion&lt;br /&gt;
: oder alternativ&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWDongle&amp;gt; addNode onNwSec&amp;lt;/code&amp;gt; für die Nework-Wide-secure-Inklusion&lt;br /&gt;
* Gerät gemäß Handbuch in den Modus zur secure-Inklusion bringen (teilweise ist jeweils für secure- und normale Inklusion ein anderes Vorgehen notwendig!)&lt;br /&gt;
* Das Gerät sollte jetzt automatisch erkannt und das FHEM-Device durch &amp;lt;code&amp;gt;autocreate&amp;lt;/code&amp;gt; angelegt werden. Die secure-inkludierten Geräte haben ein zusätzliches Attribut &amp;lt;code&amp;gt;secure_classes&amp;lt;/code&amp;gt; in dem die Command Classes deren Kommunikation verschlüsselt abläuft aufgelistet sind. Nicht in diesem Attribut, aber in &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; aufgeführte Command Classes wickeln die Kommunikation weiterhin unverschlüsslt ab.&lt;br /&gt;
* Inklusionsmodus des Controllers ausschalten:&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWdongle&amp;gt; addnode off&amp;lt;/code&amp;gt;&lt;br /&gt;
* Das Vorgehen in FHEM unterscheidet sich von nun an nicht von normal (unverschlüsselt) inkludierten Geräten. Die Verschlüsselung läuft für den Anwender transparent ab. Darum anschließend [[#Assoziation|Assoziation]] und [[#Konfiguration|Konfiguration]] vornehmen.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann man ohne Exklusion Nodes des Controllers löschen? ===&lt;br /&gt;
HINWEIS: Geräte sollten grundsätzlich immer über eine Exklusion aus der Nodelist des Controllers gelöscht werden. Das nachfolgend geschilderte Vorgehen ist nur in Sonderfällen (bspw. Gerätedefekt, gebraucht gekauftes Gateway) anzuwenden.&lt;br /&gt;
&lt;br /&gt;
Nicht mehr zu erreichende/reagierende Nodes (Geräte) können manuell mit dem Befehl &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; gelöscht werden. Dazu muss sich der betroffene Node auf der FailedNodeList des Controllers befinden. Auf die FailedNodeList kommen netzbetriebene Geräte automatisch, wenn sie vom Controller nicht mehr per Funk erreicht werden. Batteriebetriebene Geräte müssen manuell auf die FailedNodelist gesetzt werden, da der Controller nicht feststellen kann, ob sie nur langfristig &amp;quot;schlafen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Befehl &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; löscht nur Nodes auf der FailedNodeList, die erst vor Kurzem nicht erreicht werden konnten. Darum muss sowohl das manuelle Verschieben von batteriebetriebenen als auch das Nicht-Erreichen der netzbetriebenen Geräte erst Kurz vor Aufruf des &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt;-Befehls erfolgt sein. &lt;br /&gt;
&lt;br /&gt;
Vorgehensweise für den Node &amp;lt;NodeId&amp;gt;:&lt;br /&gt;
# An den betroffenen Node eine Telegramm mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; sendNIF &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; verschicken, um ihn auf FailedNodeList zu verschieben bzw. Zeitstempel zu aktualisieren.&lt;br /&gt;
# Abfragen, ob der Node auf der FailedNodeList steht: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; isFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Wenn der Rückgabewert der Abfrage &amp;quot;yes&amp;quot; ist, steht der Node korrekt auf der FailedNodeList und kann mit &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; gelöscht werden.&lt;br /&gt;
# Befehl zum Löschen des Nodes absetzen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; removeFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der Befehl testet vor dem Löschen noch einmal, dass der Node nicht erreicht werden kann und entfernt erst dann den Node.&lt;br /&gt;
# Prüfen, der Ergebnisse des &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt;-Befehls im Log oder [[Event monitor]]. Die verschiedenen Ergebnisse werden durch die in der commandref dokumentierten Events signalisiert. Tritt das Ergebnis &amp;quot;failedNodeRemoveProcessBusy&amp;quot; mehrfach hintereinander auf, muss das ZWDongle kurz stromlos gemacht werden.&lt;br /&gt;
# Prüfen, ob der Node nicht mehr auf der Nodelist des Controllers ist: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; nodeList&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siehe auch {{Link2Forum|Topic=32823|Message=292626}}&lt;br /&gt;
&lt;br /&gt;
=== Wie ist der einfachste Weg ein (defektes) Gerät durch ein gleiches Ersatzgerät auszutauschen? ===&lt;br /&gt;
Tauscht man ein defektes Gerät durch ein gleiches Ersatzgerät und inkludiert das Ersatzgerät per &amp;lt;code&amp;gt;addNode&amp;lt;/code&amp;gt;, so erhält das Ersatzgerät eine neue NodeId. Soll das Ersatzgerät die gleiche NodeId wie das alte Gerät erhalten, so muss statt &amp;lt;code&amp;gt;addNode&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;replaceFailedNode&amp;lt;/code&amp;gt; zur Inklusion des Ersatzgerätes (=gleiches Modell) verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise für den Node &amp;lt;NodeId&amp;gt;:&lt;br /&gt;
# sofern das alte Gerät noch ansprechbar ist, die Konfiguration und Assoziationen abfragen, damit man die Werte im Ersatzgerät einfach wieder setzen kann:&lt;br /&gt;
## &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;device&amp;gt; configAll&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
## &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;device&amp;gt; associationAll&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# defektes Gerät aus- und neues einbauen&lt;br /&gt;
# Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; sendNIF &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; absetzen, damit das Dongle die NodeId auf die FailedNodeList setzt.&lt;br /&gt;
# Abfragen, ob der Node auf der FailedNodeList steht: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; isFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Wenn der Rückgabewert der Abfrage &amp;quot;yes&amp;quot; ist, steht der Node korrekt auf der FailedNodeList und das Ersatzgerät kann mit &amp;lt;code&amp;gt;replaceFailedNode&amp;lt;/code&amp;gt; inkludiert werden.&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;zwdongle&amp;gt; replaceFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; für die NodeId des defekten Gerätes aufrufen und das Ersatzgerät in den Inklusionsmodus bringen&lt;br /&gt;
# Korrekte Inklusion prüfen und beim alten Aktor ausgelesene Werte beim neuen Aktor wieder setzen.&lt;br /&gt;
&lt;br /&gt;
=== Bei einer Inklusion wird eine durch Exklusion/removeFailedNode frei gewordenen NodeId nicht mehr vergeben. Ist das korrekt? ===&lt;br /&gt;
Ja, das ist richtig.&lt;br /&gt;
&lt;br /&gt;
Bei der Inklusion über addNode vergibt der Controller die höchste bisher noch nie verwendete NodeID. Durch Exklusion oder removeFailedNode frei gewordene NodeIDs werden hierbei nicht erneut vergeben. Nur bei einem Controller-Reset, der mit einem unwiederbringlichen Verlust sämtlicher Informationen des ZWave-Netzes und Neuvergabe der HomeID verbunden ist, beginnt die Zählung wieder von vorne.&lt;br /&gt;
&lt;br /&gt;
=== Welche Funktion haben die XML-Config-Dateien in FHEM? ===&lt;br /&gt;
In den XML-Config-Dateien sind Informationen zu einzelnen ZWave-Geräten enthalten, die der Erleichterung der Gerätenutzung und -einbindung in FHEM dienen. Dies sind unter anderem Erläuterungen zu den Parameternummer/-werten, Assoziationsgruppen und Besonderheiten eines Gerätes. Ob eine zum Zwave-Gerät passende XML-Config Datei existiert, wird im Rahmen der Inklusion oder durch manuellen Aufruf des Befehls &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; ermittelt. Wird eine passende XML-Config-Datei gefunden, wird sie automatisch in FHEM eingebunden. Das Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; enthält dann den zugehörigen XML-Config-Dateinamen. Stehen keine XML-Config-Informationen bereit, enthält das Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; den Wert &amp;quot;unknown&amp;quot;. Die Funktionsfähigkeit von FHEM mit ZWave-Geräten ist auch bei fehlender XML-Config-Datei gegeben. Es gibt dadurch keine funktionalen Einschränkungen in FHEM; es entfallen &amp;quot;nur&amp;quot; Erleichterungen und es sind unter Umständen mehr manuelle Schritte bei der Gerätenutzung/-einbindung notwendig.&lt;br /&gt;
&lt;br /&gt;
Erleichterungen bei vorhandener XML-Config für ein ZWave-Gerät:&lt;br /&gt;
* Bei der Inklusion:&lt;br /&gt;
** Assoziationen mit dem Controller bei von Gruppe 1 abweichenender Assoziationsgruppe werden automatisch gesetzt&lt;br /&gt;
** vom NIF nicht gemeldete, aber vom Gerät unterstützte Classes, werden im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; ergänzt&lt;br /&gt;
* Bei der Konfiguration:&lt;br /&gt;
** die Parameternummern stehen als configXY-Befehle zur Verfügung und werden mit Hilfetexten -auch zu den Parameterwerten- in der Detailansicht des FHEM-Device erläutert.&lt;br /&gt;
&lt;br /&gt;
HINWEIS: Bitte auch bei vorhandener XML-Config-Datei nach der Inklusion und bei der Konfiguration die Assoziationen und Parameter prüfen. Von den eigenen Vorstellungen abweichende Vorgaben oder gar Fehler in der Config-Datei können nie ausgeschlossen werden. Fehler bitte im Forum ({{Link2Forum|Area=ZWave}}) melden.&lt;br /&gt;
&lt;br /&gt;
=== Wie können fehlende XML-Config-Informationen für mein ZWave-Gerät in FHEM eingebunden werden? ===&lt;br /&gt;
Die XML-Config-Informationen von FHEM sind in folgenden Dateien im Ordner fhem/FHEM/lib gespeichert:&lt;br /&gt;
* openzwave_manufacturer_specific.xml&lt;br /&gt;
* openzwave_deviceconfig.xml.gz&lt;br /&gt;
* fhem_zwave_deviceconfig.xml.gz&lt;br /&gt;
Die in den Dateien enthaltenen Informationen beruhen in großen Teilen auf Daten von openzwave und übernehmen daher das openzwave-Datenformat, das unter https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices näher beschrieben wird. &lt;br /&gt;
&lt;br /&gt;
Die Datei &amp;quot;openzwave_manufacturer_specific.xml&amp;quot; enthält die eindeutige Kennung des ZWave-Gerätes, die in FHEM nach Aufruf des Befehls &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; im Reading &amp;lt;code&amp;gt;modelId&amp;lt;/code&amp;gt; des FHEM-ZWave-Devices steht. Weiterhin wird der Klartextname dieses Gerätes, der im Reading &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; angezeigt werden soll, festgelegt. Zudem wird der Dateiname der eigentlichen XML-Config-Datei für das ZWave-Gerät angegeben, der später informativ im Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; steht.&lt;br /&gt;
&lt;br /&gt;
Die Dateien &amp;quot;openzwave_deviceconfig.xml.gz&amp;quot; und &amp;quot;fhem_zwave_deviceconfig.xml.gz&amp;quot; enthalten in komprimierter Form die eigentlichen XML-Config-Dateien für die ZWave-Geräte. FHEM durchsucht beide Dateien nach der passenden XML-Config-Datei. Ist in beiden Dateien eine XML-Config für ein Gerät vorhanden, so werden die XML-Daten aus der &amp;quot;fhem_zwave_deviceconfig.xml.gz&amp;quot; bevorzugt.&lt;br /&gt;
&lt;br /&gt;
Falls ein ZWave-Gerät von FHEM nicht erkannt wird, bitte auf folgenden Seiten nachschauen, ob es schon XML-Config-Dateien gibt, die nur nicht in FHEM eingebunden sind:&lt;br /&gt;
# https://github.com/OpenZWave/open-zwave/tree/master/config in manufacturer_specific.xml und dem herstellerspezifischen Unterordner&lt;br /&gt;
# https://github.com/jeedom/plugin-openzwave/tree/master/ressources/openzwave/config in manufacturer_specific.xml und dem herstellerspezifischen Unterordner &lt;br /&gt;
# http://www.cd-jackson.com/index.php/zwave/zwave-device-database&lt;br /&gt;
Sofern auf den genannten Seiten Daten vorhanden sind, postet eine Aktualisierungsbitte mit genauem Link zur entsprechenden Seite im Forum ({{Link2Forum|Area=ZWave}}).&lt;br /&gt;
&lt;br /&gt;
Gibt es auf keiner der Seiten Infos zu dem Gerät, dann entsprechend https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices die XML-Config-Datei für das Gerät erstellen und unkomprimiert zusammen mit der zu ergänzenden Info für die Datei &amp;quot;openzwave_manufacturer_specific.xml&amp;quot; im Forum ({{Link2Forum|Area=ZWave}}) zur Verfügung stellen.&lt;br /&gt;
&lt;br /&gt;
=== Wie führt man eine Komplett-Sicherung der ZWave-Installation durch? ===&lt;br /&gt;
Zu einer Komplett-Sicherung der ZWave-Konfiguration gehören:&lt;br /&gt;
&lt;br /&gt;
1. [[Backup]] der FHEM-Installation &lt;br /&gt;
::&#039;&#039;&#039;und&#039;&#039;&#039;&lt;br /&gt;
2. Backup des NVRAM des Controllers&lt;br /&gt;
&lt;br /&gt;
Es genügt nicht nur die FHEM-Installation/Konfiguration zu sichern, da der Controller im NVRAM Daten über HomeID, NodeIDs usw. speichert, die in der FHEM-Installation nicht enthalten sind und auch nicht durch FHEM rekonstruierbar sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zu 2.) Backup des NVRAM des Controllers&lt;br /&gt;
&lt;br /&gt;
Einige Controllerhersteller bieten eine eigenständige Software zum Backup/Restore an (siehe Hinweise zu den Controllern unter [[#Autocreate_des_Gateways]]).&lt;br /&gt;
&lt;br /&gt;
FHEM kann mit den ZWDongle-Befehlen &amp;lt;code&amp;gt;backupCreate&amp;lt;/code&amp;gt; das NVRAM der Controller sichern und mit &amp;lt;code&amp;gt;backupRestore&amp;lt;/code&amp;gt; zurückschreiben. Da das Speicherlayout des NVRAM unter anderem von Controller-Hersteller, SDK und Firmwareversion abhängig sein kann, sollte man die Sicherung und Wiederherstellung des eigenen Controllers (auf eigenes Risiko) testen und sinnvollerweise einen gleichen Ersatzcontroller wie den Controller des Produktivsystem besitzen. Erfolgreiche Sicherung/Wiederherstellung wurde im Forum von den ZWavePlus-Controllern UZB1 (256k), Razberry (256k), Vision ZU 1401-5 EU (128k)und AEOTEC Z-Stick Gen5 (256k) berichtet.&lt;br /&gt;
(Weitergehende Infos -neben der commandref- im Forum: {{Link2Forum|Topic=52364}}, {{Link2Forum|Topic=52914}}, {{Link2Forum|Topic=53023}})&lt;br /&gt;
&lt;br /&gt;
=== Wie kann ich zur Fortentwicklung der ZWave-Module beitragen? ===&lt;br /&gt;
* Erfolgreichen Einsatz von neuen/bisher nicht gemeldeten ZWave-Geräten im Forum mitteilen&lt;br /&gt;
* Codeschnipsel und Ideen im Forum posten&lt;br /&gt;
* Fehler und Probleme im Forum melden&lt;br /&gt;
* [[How_to_write_a_patch|Patches]] für 00_ZWDongle.pm und 10_ZWave.pm erstellen&lt;br /&gt;
* Wiki: Ergänzungen und Korrekturen vornehmen; neue Geräte ins Wiki aufnehmen; Codeschnipsel und Beispiele einpflegen&lt;br /&gt;
&lt;br /&gt;
=== Wie wird ein fehlendes Kernelmodul (Fritzbox) eingebunden? ===&lt;br /&gt;
Auf der Fritzbox (und evtl. auch anderen Systemen) muss sichergestellt werden, dass das Kernelmodul für das Gateway geladen wird. Ansonsten scheitert die Einbindung des Gateways in FHEM.&lt;br /&gt;
&lt;br /&gt;
Für den Aeon Labs Z-Stick muss beispielsweise auf der Fritzbox das Kernelmodul &amp;lt;code&amp;gt;cp2101.ko&amp;lt;/code&amp;gt; geladen werden.&lt;br /&gt;
Diese Datei ist bei einer [[FHEM und FritzBox 7390]] Installation über das Image von [http://www.fhem.de fhem.de] bereits enthalten.&lt;br /&gt;
Um den Aeon Labs Z-Stick zu verwenden, muss dieses Kernelmodul vor oder beim Starten des FHEM-Servers geladen sein. Dies erreicht man durch einen Eintrag in der Datei &amp;lt;code&amp;gt;startfhem&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die entsprechende Zeile kann direkt unterhalb der modprobe Anweisungen eingefügt werden.&lt;br /&gt;
 insmod $home/lib/cp2101.ko&lt;br /&gt;
&lt;br /&gt;
Nach einem FHEM-Neustart sollte das Gateway (der USB Stick) nun erkannt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wie ist der Aufbau der Z-Wave Messages bzw. wie finde ich bei einem Sendefehler die NodeId des Empfängers heraus? ===&lt;br /&gt;
&lt;br /&gt;
Es könnte natürlich hin und wieder vorkommen, dass man im FHEM-Log folgende Fehler vorfindet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWDongle_ProcessSendStack: no ACK, resending message 010a00130603320110259277&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Fall gab es aus irgendeinem Grund einmalig das Problem, dass der Empfang einer Nachricht vom Empfänger nicht bestätigt wurde. &lt;br /&gt;
Will man dem auf die Spur kommen, so wäre es natürlich von Vorteil, die NodeId des Empfängers herauszufinden. Also muss man sich die Message näher anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;010a00130603320110259277&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 01: data to controller&lt;br /&gt;
* 0a: length of msg&lt;br /&gt;
* 00: ?&lt;br /&gt;
* 13: ZW_SEND_DATA&lt;br /&gt;
* 06: NodeId&lt;br /&gt;
 &lt;br /&gt;
* 03: length of msg&lt;br /&gt;
* 32: Command Class 32 (METER, siehe %zwave_class in 10_ZWave.pm)&lt;br /&gt;
* 01: METER get scale command&lt;br /&gt;
* 10: scale parameter&lt;br /&gt;
 &lt;br /&gt;
* 25: send flags, explorer frames on&lt;br /&gt;
* 92: callbackId (um ACK zu identifizieren)&lt;br /&gt;
* 77: checkSum&lt;br /&gt;
&lt;br /&gt;
In diesem Fall hat der Z-Wave-Controller 01 eine Nachricht an die NodeId 06 geschickt, welche vom Node nicht bestätigt wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;br /&gt;
[[Kategorie:Z-Wave Components]]&lt;/div&gt;</summary>
		<author><name>FunkOdyssey</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=22559</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=22559"/>
		<updated>2017-09-15T09:11:44Z</updated>

		<summary type="html">&lt;p&gt;FunkOdyssey: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;{{Infobox Modul&lt;br /&gt;
|Name=ZWDongle&lt;br /&gt;
|ModPurpose=Einbindung Z-Wave-Gateways&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=ZWDongle&lt;br /&gt;
|ModForumArea=ZWave&lt;br /&gt;
|ModTechName=00_ZWDongle.pm &lt;br /&gt;
|ModOwner=Rudolf König ([http://forum.fhem.de/index.php?action=profile;u=8 Forum])&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=ZWave&lt;br /&gt;
|ModPurpose=Ansteuerung Z-Wave-Geräte über ZWDongle&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=ZWave&lt;br /&gt;
|ModForumArea=ZWave&lt;br /&gt;
|ModTechName=10_ZWave.pm &lt;br /&gt;
|ModOwner=Rudolf König ([http://forum.fhem.de/index.php?action=profile;u=8 Forum])&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Z-Wave]] ist ein drahtloser Kommunikations-Standard im 868 Mhz-Band (Europa), der von der Firma Sigma Designs und der Z-Wave Alliance, einen Zusammenschluss von mehreren Hundert Herstellern, für die Heimautomatisierung entwickelt wurde. Es existieren mehr als [http://products.z-wavealliance.org 1000 zertifizierte Produkte] verschiedenster Hersteller, die innerhalb eines gemeinsamen Z-Wave-Netzes einsetzbar sind. (Quelle: [http://de.wikipedia.org/wiki/Z-Wave Wikipedia])&lt;br /&gt;
&lt;br /&gt;
Auf dieser Seite werden Grundlagen eines &#039;&#039;&#039;Z-Wave&#039;&#039;&#039; Systems und dessen Einrichtung in FHEM beschrieben.&lt;br /&gt;
== Z-Wave ==&lt;br /&gt;
=== Nodes - Controller und Slaves ===&lt;br /&gt;
Ein Z-Wave-Netz besteht aus mindestens 2 Geräten, den sogenannten &#039;&#039;&#039;Nodes&#039;&#039;&#039; (Knoten). Es setzt sich zusammen aus dem steuernden &#039;&#039;&#039;Controller&#039;&#039;&#039; (Zentrale) und min. 1 bis max. 231 gesteuerten &#039;&#039;&#039;Slaves&#039;&#039;&#039; (Geräten). &lt;br /&gt;
&lt;br /&gt;
=== Home-Id und Node-ID ===&lt;br /&gt;
Innerhalb eines Z-Wave-Netzes gibt es zu 2 Identifikationsnummern zur Kennzeichnung der Netzstruktur:&lt;br /&gt;
# &#039;&#039;&#039;Home-ID:&#039;&#039;&#039; Gemeinsame Identifikationsnummer aller Nodes in einem Netz zur Abgrenzung gegenüber anderen Netzen. Nur Nodes mit der gleichen Home-ID können miteinander kommunizieren.&lt;br /&gt;
# &#039;&#039;&#039;Node-ID:&#039;&#039;&#039; Identifikationsnummer zur eindeutigen Kennzeichnung von jedem Node im Netz. &lt;br /&gt;
&lt;br /&gt;
Die Home-ID ist im Controller (fest) hinterlegt und seine Node-ID ist typischerweise 1. Die Slaves haben zunächst keine Home-ID und Node-ID. Bei der &#039;&#039;&#039;Inklusion&#039;&#039;&#039; (Aufnahme) der Slaves in das Z-Wave-Netz überträgt der Controller seine Home-ID auf die Slaves und weist den Slaves eine eindeutige Node-ID im Netz zu, mit der Sie direkt angesprochen werden. &lt;br /&gt;
&lt;br /&gt;
Besondere Node-ID ist die 255. Eine Nachricht an die Node-ID 255 kann von allen Z-Wave-Nodes ausgewertet werden (Broadcast).&lt;br /&gt;
&lt;br /&gt;
=== Primär- und Sekundärcontroller ===&lt;br /&gt;
Der Controller, der durch Zuteilung seiner Home-ID auf die Slaves, das Netz aufbaut, ist der &#039;&#039;&#039;Primärcontroller&#039;&#039;&#039;. Grundsätzlich können in einem Netz mehrere Controller existieren, aber immer nur ein Primärcontroller. Weitere in das Netz eingebundene Controller werden zum &#039;&#039;&#039;Sekundärcontroller&#039;&#039;&#039;. Ohne besondere Maßnahmen kann nur der Primärcontroller die Inklusion (Einbindung) der Nodes in das Netz durchführen. Hingegen können sowohl Primär- als auch Sekundärcontroller die &#039;&#039;&#039;Exklusion&#039;&#039;&#039; (Ausschluss) eines Nodes aus dem Netz vornehmen.&lt;br /&gt;
&lt;br /&gt;
Der Controller speichert intern diverse Informationen (Home-ID, Node-IDs,..) über das ZWave-Netz. Hierdurch kann unter anderem die Haussteuerungssoftware bei einem PC-Controller relativ unkompliziert gewechselt werden, da die wesentlichen ZWave-Netzinformationen vom Controller selbst verwaltet und gespeichert werden. Andererseits muß bei einem Controllerdefekt das gesamte Netz grundsätzlich neu aufgebaut werden, wenn kein Backup der internen Controllerdaten vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
=== Acknowledge ===&lt;br /&gt;
Im Z-Wave-Netz werden Nachrichten vom Empänger-Node an den Sender-Node rückbestätigt (Acknowledge). Bei ausbleibendem Acknowledge wiederholt der Sender-Node die Nachricht automatisch auf Protokollebene bis zu 2 mal. Hierdurch wird eine höhere Betriebssicherheit des Z-Wave-Netzes erreicht. Bei Broadcast-Nachrichten an die Node-ID 255 findet keine Rückbestätigung statt.&lt;br /&gt;
&lt;br /&gt;
=== Vermaschtes Netzwerk mit Routing ===&lt;br /&gt;
Z-Wave nutzt als Netzwerktopologie ein &#039;&#039;&#039;mesh network&#039;&#039;&#039; (vermaschtes Netzwerk), d. h. jeder Node ist mit einem oder mehreren anderen Nodes verbunden. Das hat den Vorteil, dass eine Nachricht zwischen zwei Nodes übermittelt werden kann, selbst wenn diese nicht direkt miteinander kommunizieren können, z. B. weil sie zu weit voneinander entfernt sind. In diesem Fall wird die Funk-Nachricht über einen oder mehrere „Zwischen-Nodes“ übertragen; dieser Vorgang wird &#039;&#039;&#039;Routing&#039;&#039;&#039; genannt. Nur netzgespeiste Z-Wave-Geräte sind Router. Batteriebetriebe Z-Wave-Geräte sind grundsätzlich keine Router und dienen somit auch nicht zur Reichweitenerhöhung. (Quelle: [http://de.wikipedia.org/wiki/Z-Wave Wikipedia]) Einzelne Geräte, die alternativ per Batterie oder USB-Anschluss betrieben werden können, werden bei USB-Anschluss automatisch ({{Link2Forum|Topic=40393|Message=328080}}) oder durch Konfigurationsänderungen ({{Link2Forum|Topic=40393|Message=327331}}) zu Routern.&lt;br /&gt;
&lt;br /&gt;
Informationen über das optimale Routing werden bei der Inklusion der Nodes in einer Routing-Tabelle des Primärcontrollers gespeichert. Dies geschieht durch Abfrage des Nodes, welche weiteren Nodes er erreichen kann. Durch örtliche Änderung oder Defekte von Nodes können die in der Routing-Tabelle gespeicherten Informationen fehlerhaft bzw. suboptimal werden. Dies kann sich in Funkkommunikationsproblemen im Netzwerk äußern. Hier kann ein per Software manuell angeforderter Neuaufbau der Routing-Tabelle gegebenenfalls Abhilfe schaffen. Bei Geräten und Controllern mit aktuellen Firmware-Versionen (SDK 4.5x und SDK 6.xx oder größer, aber &#039;&#039;nicht&#039;&#039; SDK 5.x) und Unterstützung von Explorer Frames kann sich die Routing-Tabelle unter bestimmten Bedingungen auch automatisch aktualisieren (&amp;quot;Selbstheilung&amp;quot;)[http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames].&lt;br /&gt;
&lt;br /&gt;
=== Command Classes ===&lt;br /&gt;
Die Steuerung und Kommunikation der Nodes erfolgt über Befehle die funktionsbezogen in verschiedene &#039;&#039;&#039;Command Classes&#039;&#039;&#039; (Kommandoklassen) zusammengefasst sind.&lt;br /&gt;
&lt;br /&gt;
Alle Z-Wave-Geräte haben als gemeinsame kleinste Übereinstimmung die &#039;&#039;&#039;Class Basic&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Z-Wave-Geräte haben im Originalzustand eine bestimmte arbeitsfähige Grund-Konfiguration. Anpassbar an individuelle Bedürfnisse ist die Konfiguration über die &#039;&#039;&#039;Class Configuration&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Durch eine Assoziation wird definiert, welche Geräte miteinander direkt -ohne Umweg über den Controller- kommunizieren können. Auch bei Ausfall des Controllers können diese Geräte ihre gemeinsame Funkton ausüben. Zudem dienen Assoziationen der Geschwindigkeitssteigerung und Funklastreduzierung innerhalb des Netzes. Angelegt werden Assoziationen über die &#039;&#039;&#039;Class Association&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dies sind nur die allerwichtigsten Command Classes. Weitere Command Classes sind den Handbüchern zu entnehmen. Zudem enthält die Wiki-Seite [[Z-Wave Command Classes]] weitergehende Informationen.&lt;br /&gt;
&lt;br /&gt;
=== Hinweise zur Z-Wave-Geräteauswahl ===&lt;br /&gt;
Aufgrund der vielen Z-Wave-Gerätehersteller mit jeweils eigenem Z-Wave-Gerätesortiment existiert eine große Produktauswahl. Jedoch gibt es auch große Unterschiede hinsichtlich Produkteigenschaften, Pflege der Produkte, Häufigkeit der Aktualisierung der Produktpalette und so weiter. Schwierigkeiten bereitet insbesondere, dass neben den aktuellesten Chipsätzen und SDKs auch die älteren Chipsätze und SDKs weiterhin in Produkten im Handel verfügbar sind. Neuere Chipsätze und aktuelle SDKs bieten gerade bei der Netzwerkstabilität (Explorer Frames, Reichweite usw.) Vorteile zu älteren Chipsätzen und SDKs. Beispielsweise beherrschen nur Geräte mit SDK 4.5x und 6.x oder neuer die für automatische Routenkorrekturen wichtigen Explorer Frames. Das ältere SDK 5.0, das verwirrenderweise auch noch eine höhere Versionsnummer als das neuere SDK 4.5 besitzt, beherrscht unter anderem keine Explorer Frames. Details hierzu enthält das [http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 06/2016 das SDK 6.5x, das in ZWave Plus - zertifizierten Produkten zum Einsatz kommt.&lt;br /&gt;
&lt;br /&gt;
Gerade Einsteiger beachten die Unterschiede bei den Chipsätze/SDKs aus Unkenntnis manchmal nicht und ärgern sich im Nachhinein über Probleme bei der Netzwerkstabilität und Reichweite. Darum nachfolgend allgemeine, aber sehr einfache Empfehlungen zur Geräteauswahl. Selbstverständlich wird hier nicht von anderen Produkten abgeraten, wenn man die Unterschiede kennt und Vorteile bei deren Produkteigenschaften sieht. Zudem kann man (leider) schlechtere Produkteigenschaften bei Geräten mit aktuelleren Chipsätzen/SDKs nie ausschließen.&lt;br /&gt;
&lt;br /&gt;
Gateway&lt;br /&gt;
# [http://z-wavealliance.org/z-wave_plus_certification Z-Wave Plus-Zertifizierung]. Diese ist mittlerweile bei nahezu allen erhältlichen Gateways gegebenen.&lt;br /&gt;
&lt;br /&gt;
Endgeräte&lt;br /&gt;
# Z-Wave Plus-Zertifizierung (aktuellste Technik, höhere theoretische Reichweite, SDK 6.5x) oder&lt;br /&gt;
# zumindest Explorer Frames-Unterstützung (SDK 4.5x und 6.0x) oder&lt;br /&gt;
# zuletzt -bei Kenntnis der Besonderheiten und Auswirkungen- Produkte ohne Explorer Frames (SDK 5.0x)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kurz&#039;&#039;&#039;: Produkte mit Z-Wave Plus-Zertifizierung einsetzen.&lt;br /&gt;
&lt;br /&gt;
Bitte unbedingt beachten, dass Z-Wave Plus-Vorteile bei einem Mischbetrieb mit älteren (ohne Plus) Geräten teilweise verloren gehen. Zum negativen Effekt des Einsatzes eines älteren, aber weiterhin erhältlichen Z-Wave-Repeaters mit aktuellen Z-Wave Plus-Geräten siehe beispielsweise den Hinweis in diesem {{Link2Forum|Topic=42591|Message=350066}}.&lt;br /&gt;
&lt;br /&gt;
Bei Fragen zu bestimmten Geräten bitte -nach Durchsicht der Hinweise hier im Wiki- im Forum suchen oder anschließend nachfragen.&lt;br /&gt;
&lt;br /&gt;
== Z-Wave in FHEM ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
FHEM wird fortwährend weiterentwickelt und verbessert. Daher ist es zwingend notwendig, dass FHEM auf dem aktuellsten Stand ist. Dazu nach der FHEM-Installation den Befehl &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; ausführen und anschließend &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; durchführen. Genauso auch vor [[#Welche_Infos_sollten_Anfragen_im_ZWave-Forum_enthalten.3F|Anfragen im Forum]] die Aktualität von FHEM überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die Einbindung von Z-Wave in FHEM ist (nicht nur für den Anfänger) ausschließlich mit der standardmäßig eingeschalteten [[autocreate|autocreate-Funktion]] einfach möglich. Die Kenntnis der FHEM-Grundlagen und Durcharbeitung der Anfänger-Lektüren wird im Folgenden vorausgesetzt. Insbesondere sind [[Erste_Schritte_in_FHEM|Erste Schritte in FHEM]] und [http://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM] Pflicht, auch wenn sie nicht speziell Z-Wave behandeln, so werden doch wesentliche Punkte für ein Verständnis von FHEM vermittelt.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend und auf den [[:Kategorie:Z-Wave Components|Wiki-Seiten der Einzelgeräte]] werden immer wieder Auszüge aus der [[Konfiguration]] dargestellt. Diese dienen zur Erläuterung und Veranschaulichung. Die Bearbeitung der Konfiguration sollte -zur Verhinderung von Fehlern- nach Möglichkeit immer über das &amp;quot;[[Konfiguration#Befehl-Eingabefeld|Befehl-Eingabefeld]]&amp;quot; und die &amp;quot;[[Konfiguration#Objektdetails|Objektdetails]]&amp;quot; erfolgen.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Die Bedienungsanleitungen (Handbücher) sind zwingende Voraussetzung zur korrekten Einbindung und Konfiguration von Z-Wave-Geräten in FHEM. Sie müssen daher vorliegen. &lt;br /&gt;
Den ZWave-Geräten liegen teilweise nur gekürzte, gedruckte Fassungen der Handbücher bei (beispielsweise Devolo, AEOTEC). Man sollte bei allen Produkten auf folgenden Seiten nach eventuellen ausführlicheren Handbüchern suchen:&lt;br /&gt;
* Herstellerseite des ZWave-Gerätes&lt;br /&gt;
* http://www.zwave.de/handbuecher/ (deutsch)&lt;br /&gt;
* http://products.z-wavealliance.org (englisch)&lt;br /&gt;
Insbesondere auf http://products.z-wavealliance.org, der Datenbank der ZWave-zertifizierten Produkte, sind regelmäßig ausführliche Informationen zu den Geräten zu finden.&lt;br /&gt;
&lt;br /&gt;
== Definition des Gateways / Controllers ==&lt;br /&gt;
{{Randnotiz|RNText=&#039;&#039;&#039;Tester für ZWave@culfw gesucht!&#039;&#039;&#039;&lt;br /&gt;
ZWave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Detailinformationen zur Entwicklung finden sich im {{Link2Forum|Topic=44905}}. Eine kurze Zusammenfassung zum Stand 04/2016: {{Link2Forum|Topic=52364|Message=441957}} }}&lt;br /&gt;
=== Autocreate des Gateways ===&lt;br /&gt;
FHEM kann mit einem Funkgateway Z-Wave-Funk empfangen und senden. Z-Wave-Gateways (Controller) existieren von verschiedenen Herstellern. &lt;br /&gt;
&lt;br /&gt;
Folgende Gateways wurden unter anderem bereits erfolgreich mit FHEM eingesetzt:&lt;br /&gt;
* AEON Labs Z-Stick S2 (SDK 5.x; [https://aeotec.freshdesk.com/support/solutions/articles/6000091809-z-stick-s2-v3-08-firmware-update Firmwareupdate auf 3.08 aus 2016])&lt;br /&gt;
* Aeotec Z-Stick Gen5 (Z-Wave Plus; SDK 6.5; [https://aeotec.freshdesk.com/support/solutions/articles/6000108806-z-stick-gen5-backup-software Backup-Software)] ({{Link2Forum|Topic=47000}})&lt;br /&gt;
* Goodway WD6001 (SDK 5.03 {{Link2Forum|Topic=40594|Message=332235}})&lt;br /&gt;
* Vision Z-Wave USB Stick ZU 1401 EU (SDK 6.0x)&lt;br /&gt;
* Vision Z-Wave USB Stick ZU 1401-5 EU (Z-Wave Plus; SDK 6.5x)&lt;br /&gt;
* Z-Wave.Me Z-StickC ({{Link2Forum|Topic=29930|Message=226530}})&lt;br /&gt;
* Z-Wave.Me USB Stick ZME_UZB1 (SDK 6.5x;  Z-Wave Plus; [http://razberry.z-wave.me/z-way-server/ Firmwareupdate und Backup über z-way])&lt;br /&gt;
* Z-Wave.Me Razberry in Verbindung mit Raspberry Pi (1. Generation: Z-Wave, 2. Generation: Gen5-Razberry mit Z-Wave Plus[http://forum.z-wave.me/viewtopic.php?f=3419&amp;amp;t=21327#p55404]) &lt;br /&gt;
** Die seriellen Schnittstelle /dev/ttyAMA0 muss am Raspberry Pi freigeschaltet werden, damit das Razberry-Modul funktionsfähig ist: {{Link2Forum|Topic=11716|Message=190402}})&lt;br /&gt;
** Beim Raspberry Pi 3 muss der GPIO-Port auf den Hardware-UART0 umgestellt werden: [[Raspberry Pi 3: GPIO-Port Module und Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
Folgende Gateways sind &#039;&#039;&#039;nicht&#039;&#039;&#039; mit FHEM einsetzbar:&lt;br /&gt;
* Merten Funk-USB-Datenschnittstelle CONNECT&lt;br /&gt;
&lt;br /&gt;
Sollte das eigene Gateway hier nicht aufgeführt sein, ist aufgrund der Standardisierung dennoch die Chance für eine erfolgreiche Einbindung des Gateways in FHEM vorhanden. Bitte dies hier oder im Forum entsprechend vermerken.&lt;br /&gt;
&lt;br /&gt;
Das Z-Wave-Gateway wird unter Linux nach Anschluss an den FHEM-Rechner beim nächsten FHEM-Start oder ohne FHEM-Neustart durch Aufruf des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; zumeist automatisch erkannt und grundlegend durch entsprechende Einträge in der Konfiguration definiert. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. Unter Windows ist ein manuelles Anlegen der Definition des ZWave-Gateways wegen fehlender Unterstützung des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; erforderlich (Beispiel für Z-Wave.Me USB Stick ZME_UZB1 unter Windows: &amp;lt;code&amp;gt;define ZWDongle_1 ZWDongle COM1@115200&amp;lt;/code&amp;gt;). Das FHEM-Gateway-Device ist nach der Definition in FHEM im Raum &amp;quot;Everything&amp;quot; zu finden.&lt;br /&gt;
&lt;br /&gt;
Beispiele der automatisch erzeugten define-Zeile in der Konfiguration:&lt;br /&gt;
&lt;br /&gt;
Aeon Labs Z-Stick an der Fritzbox: &lt;br /&gt;
 define ZWDongle_1 ZWDongle /dev/ttyUSB0@115200&lt;br /&gt;
&lt;br /&gt;
Vision Z-Wave USB Stick ZU 1401 EU am Raspberry Pi (Raspbian):&lt;br /&gt;
 define ZWDongle_1 ZWDongle /dev/ttyACM0@115200&lt;br /&gt;
&lt;br /&gt;
Insbesondere wenn am FHEM-Server unter Linux mehrere USB-Gateways eingesetzt werden, empfiehlt es sich zur Erhöhung der Betriebsstabilität das Z-Wave-Gateway über [[Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden|Serial-by-Id]] oder [[LinuxDeviceNaming|uDev-Regeln]] anzusprechen.&lt;br /&gt;
&lt;br /&gt;
=== homeId und nodeList des Gateways ===&lt;br /&gt;
Zur manuellen Definition von Z-Wave Aktoren und Sensoren ist die &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; notwendig. Bei der hier bevorzugten Definition der Geräte durch autocreate ist die Kenntnis der &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; nicht zwingend. Jedoch sollte durch Abfrage der &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; direkt nach Einbindung des Zwave-Gateways dessen Funktionsfähigkeit getestet werden.&lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;code&amp;gt;homeId&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;CtrlNodeId&amp;lt;/code&amp;gt; des Gateways wird mit folgendem Befehl ausgelesen (ZWDongle_1 ist im folgenden durch den eigenen Gatewaynamen zu ersetzen):&lt;br /&gt;
 get ZWDongle_1 homeId&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
&lt;br /&gt;
Die aktuelle Liste der Z-Wave Nodes, die bereits am Gateway registriert/inkludiert sind, wird mit dem folgendem Befehl ausgelesen:&lt;br /&gt;
 get ZWDongle_1 nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&lt;br /&gt;
== Definition von Geräten / Slaves ==&lt;br /&gt;
=== Hinzufügen eines neuen Z-Wave Geräts / Inklusion ===&lt;br /&gt;
Zur Verfolgung von Inklusionsablauf und Meldungen des Controllers während der Inklusion sollte der [[Event monitor]] in einem 2. Browserfenster vor Aktivierung des Inklusionsmodus geöffnet werden.&lt;br /&gt;
&lt;br /&gt;
Das Z-Wave Gateway wird in den Standard-Modus zur Inklusion (zum Aufnehmen) neuer Geräte gesetzt:&lt;br /&gt;
 set ZWDongle_1 addNode on&lt;br /&gt;
Bei der Standard-Inklusion muss direkter Funkkontakt zwischen Gateway und zu inkludierendem Z-Wave Gerät bestehen.&lt;br /&gt;
&lt;br /&gt;
Sofern Z-Wave Gateway und Z-Wave Geräte Explorer Frames unterstützen, sollte statt des obigen Befehls besser der Network-Wide-Modus für die Inklusion genutzt werden:&lt;br /&gt;
 set ZWDongle_1 addNode onNw&lt;br /&gt;
Bei der Network-Wide-Inklusion muss kein direkter Funkkontakt zwischen Gateway und zu inkludierendem Z-Wave Gerät bestehen. Es reicht, wenn das zu inkludierende Gerät über andere bereits inkludierte, netzgespeiste Geräte mit Explorer Frames-Unterstützung erreicht werden kann. Die Network-Wide-Inklusion ist zu bevorzugen, da die Z-Wave-Geräte regelmäßig an Ihren örtlichen Endpositionen inkludiert werden können. Dadurch werden bei der Inklusion direkt die korrekten Routen gespeichert. &lt;br /&gt;
&lt;br /&gt;
Nachdem das Gateway in den Inklusionmodus geschaltet wurde, muss das Gerät in den Inklusionsmodus (Aufnahmemodus) versetzt werden. Wie dies zu erfolgen hat, ist im Handbuch des Geräte nachzulesen. Typisch sind ein- oder dreimaliges Drücken einer Taste am Gerät oder beim Anlegen der Versorgungsspannung. Durch die Inklusion werden Home-ID und Node-ID im Gerät gespeichert. Zudem teilt das Gerät über ein spezielle Funknachricht (NIF=Node Information Frame) dem Controller seinen Gerätetyp und seine Geräteeigenschaften mit. Hierbei werden dem Controller auch die vom Gerät unterstützten Command Classes mitgeteilt. Aus diesen Informationen erzeugt FHEM automatisch durch autocreate das FHEM-Geräte-Device nach dem Namensschema &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (an eigene Wünsche anpassbar mit [http://fhem.de/commandref.html#rename rename]). Die vom Geräte unterstützen Command Classes, die die in FHEM verfügbaren Befehle bestimmen, werden automatisch im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; des FHEM-Geräte-Device gespeichert. Das Gerät ist damit grundlegend in FHEM definiert und im Raum &amp;quot;ZWave&amp;quot; zu finden. &lt;br /&gt;
&lt;br /&gt;
Nach der Inklusion schaltet FHEM den Inklusionsmodus des Z-Wave Gateway automatisch durch Absetzen des Befehls &amp;lt;code&amp;gt;set ZWDongle_1 addNode off&amp;lt;/code&amp;gt; aus und zeigt eine Dialogbox mit dem Ergebnis der Inklusion:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;created ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = Inklusion war erfolgreich und es wurde das bezeichnete FHEM-Device durch autocreate angelegt.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;addNode failed&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; = Inklusion ist fehlgeschlagen&lt;br /&gt;
 &lt;br /&gt;
Eine erfolgreiche Inklusion ist zudem am Event &amp;quot;ZW_ADD_NODE_TO_NETWORK protocolDone&amp;quot; im Event monitor und natürlich der Anlage des entsprechenden FHEM-Devices durch autocreate zu erkennen.  Das Scheitern einer Inklusion führt typischerweise zur Ausgabe des Events &amp;quot;ZW_ADD_NODE_TO_NETWORK failed&amp;quot;. Häufigste Ursache sind Controllerprobleme, die sich oftmals durch kurzes Ein- und Ausstecken des Controllers, Neustart des Systems oder Ein- und Ausschalten des FHEM-Server-Computers beheben lassen.&lt;br /&gt;
&lt;br /&gt;
HINWEISE:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Die Network-Wide-Inklusion kann nach derzeitiger Kenntnis auch bei Gateways und Geräten ohne Explorer Frames Unterstützung genutzt werden, da bei diesen Geräten grundsätzlich automatisch auf die Standard-Inklusion umgestellt wird.&lt;br /&gt;
* Bei der Standard-Inklusion ist unter Umständen nur ein geringer Abstand zwischen Gateway und Gerät möglich. Sollte die Inklusion daher nicht durchführbar sein, wenn Gateway und Gerät an ihren örtlichen Endpositionen sind (bevorzugte Variante), dann ist der Abstand zwischen diesen versuchsweise zu verringern. Anschließend bei örtlicher Veränderung die Routen mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; neigborUpdate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set TYPE=ZWave:FILTER=ZWaveSubDevice=no neighborUpdate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; neu ermitteln lassen. Unter Umständen kann der Abstand nur schrittweise erhöht werden. Dann ist bei jeder Abstandsänderung eine Neuermittlung der Routen notwendig.&lt;br /&gt;
* Der NIF enthält bei manchen Geräten fälschlicherweise nicht alle unterstützten Command Classes. FHEM identifiziert während der Inklusion das Gerät und ergänzt die fehlenden Command Classes aufgrund manuell gepflegter, gerätespezifischer [[#Welche_Funktion_haben_die_XML-Config-Dateien_in_FHEM.3F|XML-Config-Dateien]]. Weiterhin fehlende Command Classes können im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; manuell am Anfang der Liste entsprechend ergänzt werden. Informationen liefern die unter [[#Links|Links]] aufgeführten Datenbanken. Häufig fehlt die Pflicht-Class BASIC.&lt;br /&gt;
* Bei der hier beschriebenen Inklusion findet die Kommunikation zwischen Controller und Gerät anschließend dauerhaft unverschlüsselt statt. Manche Geräte bieten mit der Command Class SECURITY eine AES-verschlüsselte Kommunikation an. Da die Verschlüsselung zu einer höheren Funklast und Latenzen führt, sollte eine verschlüsselte Kommunikation nur mit Bedacht eingesetzt werden (bspw. bei Schlössern). Als Sonderfall ist das Vorgehen zur secure-Inklusion in der [[#Wie_kann_eine_verschl.C3.BCsselte_Kommunikation_unter_Nutzung_der_Command_Class_SECURITY_eingerichtet_werden.3F|FAQ]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
Nächster Schritt ist die [[#Assoziation|Assoziation]] des Gerätes mit dem Gateway.&lt;br /&gt;
&lt;br /&gt;
=== Assoziation ===&lt;br /&gt;
{{Randnotiz|RNText=Bitte unbedingt die Besonderheiten bei [[#batteriebetriebene_Ger.C3.A4te|batteriebetriebenen Geräten]] beachten!}}&lt;br /&gt;
Z-Wave-Geräte können über Assoziationen direkt mit anderen Z-Wave-Geräten kommunizieren. Dies können zum einen Meldungen über den Status und Zustand der Geräte, als auch direkte Befehle sein. Zum Beispiel kann damit ein Bewegungsmelder eine entdeckte Bewegung an den Controller senden und/oder bei entdeckter Bewegung direkt eine Lampe ein- oder ausschalten.&lt;br /&gt;
&lt;br /&gt;
Die Assoziation zwischen zwei Geräten wird durch Aufnahme des zu steuernden Gerätes in eine oder mehrere Assoziationsgruppe(n) des steuernden Gerätes angelegt. Durch die Wahl der Assoziationsgruppe wird festgelegt, bei welchen Ereignissen welche Nachricht an das assoziierte Gerät verschickt wird. Angaben zu den Ereignissen und versandten Nachrichten an die Geräte in einer bestimmten Assoziationsgruppe stehen in der Bedienungsanleitung des jeweiligen Gerätes.&lt;br /&gt;
&lt;br /&gt;
Damit FHEM Statusmeldungen von Sensoren/Aktoren anzeigen und auch darauf reagieren kann, &#039;&#039;&#039;muss&#039;&#039;&#039; der Controller (ZWDongle_1, &amp;lt;code&amp;gt;CtrlNodeId&amp;lt;/code&amp;gt; = typischerweise 1) immer in der/den passenden Assoziationsgruppe(n) des jeweiligen Gerätes &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; aufgenommen werden:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;name&amp;gt; associationAdd &amp;lt;associationGroup&amp;gt; &amp;lt;CtrlNodeId&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typischerweise ist die Assoziationsgruppe 1 der Geräte für die Statusmeldungen an den Controller vorgesehen (Ausnahme: [[#Fibaro|Fibaro-Geräte ohne ZWave Plus - Zertifizierung]]). Daher nimmt FHEM die Assoziation von Controller mit der Assoziationsgruppe 1 des Gerätes bei der Inklusion immer automatisch vor. Zudem identifiziert FHEM während der Inklusion das Gerät und setzt weitere Assoziationen mit dem Controller für von 1 abweichende Assoziationsgruppen aufgrund manuell gepflegter, gerätespezifischer [[#Welche_Funktion_haben_die_XML-Config-Dateien_in_FHEM.3F|XML-Config-Dateien]]. Ist keine XML-Config-Datei für das Gerät vorhanden, sind Assoziationen des Controllers mit von 1 abweichenden Assoziationsgruppen oder weiteren Assoziationsgruppen mit dem zuvor genannten Befehl grundsätzlich manuell anzulegen. &lt;br /&gt;
&lt;br /&gt;
Die richtige Anlage der Assoziation(en) des Controllers mit dem Gerät immer prüfen, da dies eine Hauptfehlerquelle bei Funktionsproblemen mit FHEM ist.&lt;br /&gt;
&lt;br /&gt;
Abruf der assoziierten Geräte in einer bestimmten Assoziationsgruppe &amp;lt;associationGroup&amp;gt;:&lt;br /&gt;
 get &amp;lt;name&amp;gt; association &amp;lt;associationGroup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abruf der assozierten Geräte für alle Assoziationsgruppen eines Gerätes:&lt;br /&gt;
 get &amp;lt;name&amp;gt; associationAll&lt;br /&gt;
&lt;br /&gt;
Nahezu alle in Europa erhältlichen aktuellen Geräte unterstützen die Rückmeldung des Status via Association. Ausnahmen gibt es in Nordamerika, wo aufgrund von Patentansprüchen einige Hersteller auf die Statusrückmeldungen verzichten. Diese Geräte unterstützen in der Regel die Command Class ASSOCIATION nicht.&lt;br /&gt;
&lt;br /&gt;
Nächster Schritt ist die [[#Konfiguration|Konfiguration]] des Gerätes.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
{{Randnotiz|RNText=Bitte unbedingt die Besonderheiten bei [[#batteriebetriebene_Ger.C3.A4te|batteriebetriebenen Geräten]] beachten!}}&lt;br /&gt;
Die Standard-Konfiguration eines Gerätes entspricht oftmals nicht den eigenen Wünschen und Anforderungen (Einheiten usw.). Mit den Befehlen der Class CONFIGURATION lässt sich die Konfiguration anpassen. Die zur Konfiguration eines Gerätes notwendigen Angaben zu den Parameternummern, -größen und -werten sind im jeweiligen Geräte-Handbuch bzw. entsprechenden Datenbanken (bspw. [http://www.pepper1.net/zwavedb/ pepper1-ZWave-Datenbank] oder [http://products.zwavealliance.com/ products.zwavealliance.com]) enthalten. &lt;br /&gt;
&lt;br /&gt;
Die Konfiguration beispielsweise bei Parametergröße 1 lässt sich mit diesem Befehl anpassen:&lt;br /&gt;
 set &amp;lt;name&amp;gt; configByte &amp;lt;Parameternummer&amp;gt; &amp;lt;Parameterwert&amp;gt;&lt;br /&gt;
Für weitere Parametergrößen gibt es die Befehle &amp;lt;code&amp;gt;configWord&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;configLong&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die im Gerät hinterlegten Konfiguration kann pro Parameternummer mit folgendem Befehl abgerufen werden:&lt;br /&gt;
 get &amp;lt;name&amp;gt; config &amp;lt;Parameternummer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zudem bietet FHEM basierend auf den manuell gepflegten XML-Config-Dateien die Möglichkeit, die speziellen Parameternummern des Gerätes mit ihren Parametergrößen und -werte als eigenständige config-Befehle mit Hilfsinformationen einzubinden. Ein manuelles Suchen im Geräte-Handbuch und Nutzung der configByte-, configWord- und configLong-Befehle ist dadurch in vielen Fällen unnötig. Für diese Funktion muss das Gerät von FHEM einmalig durch folgenden Befehl, der bei der Inklusion automatisch ausgeführt wird, identifiziert werden:   &lt;br /&gt;
 get &amp;lt;name&amp;gt; model&lt;br /&gt;
Die Readings &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;modelID&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; werden dadurch erzeugt. In &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; sollte der Klartextname des Gerätes stehen. Zudem sind dann -soweit eine XML-Config Datei für das Gerät existiert- die speziellen set/get-Kommandos configXYZ für das Geräte im Auswahldialog der Detailansicht mit Hilfsinformationen verfügbar:&lt;br /&gt;
[[Datei:Z-Wave_confighelp.PNG|900px|thumb|center|config-Befehl mit Hilfstext]]&lt;br /&gt;
&lt;br /&gt;
Bei vorhandener XML-Config-Datei kann die komplette Konfiguration eines Gerätes abgerufen werden:&lt;br /&gt;
 get &amp;lt;name&amp;gt; configAll&lt;br /&gt;
&lt;br /&gt;
Außerdem wird durch den &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; -Befehl geprüft, ob das Gerät in der [http://www.pepper1.net/zwavedb/ pepper1-ZWave-Datenbank] und/oder [http://products.zwavealliance.com/ products.zwavealliance.com] enthalten ist. Im Erfolgsfall wird ein Link &amp;quot;Details in pepper DB&amp;quot; und/oder &amp;quot;Details in alliance DB&amp;quot; zum entsprechenden Geräteeintrag in der jeweiligen Datenbank unten in der Detailansicht des FHEM-Geräte-Devices angelegt und ein Bild des Gerätes in die Detailansicht eingebunden.&lt;br /&gt;
&lt;br /&gt;
Der Aufruf von &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; ist auch für die Nutzung der Class MANUFACTURER_PROPRIETARY zwingende Einsatzvoraussetzung.&lt;br /&gt;
&lt;br /&gt;
=== Entfernen eines Z-Wave-Geräts / Exklusion ===&lt;br /&gt;
Durch die Exklusion wird die Home-ID und Node-ID aus dem Gerät und das Gerät selbst aus der Node-List des Controllers gelöscht. Erst nach einer Exklusion kann das Gerät in ein anderes Z-Wave-Netz aufgenommen werden.&lt;br /&gt;
&lt;br /&gt;
Zuerst wird der Z-Wave Gateway in den Standard-Modus zur Exklusion (Ausschluss) von Geräten gesetzt:&lt;br /&gt;
 set ZWDongle_1 removeNode on&lt;br /&gt;
&lt;br /&gt;
Sofern Z-Wave Gateway und Z-Wave Geräte Explorer Frames unterstützen, sollte statt dem obigen Befehl besser der Network-Wide-Modus für die Exklusion genutzt werden (siehe auch Erläuterungen zu Standard- versus Network-Wide-Inklusion unter [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]]):&lt;br /&gt;
 set ZWDongle_1 removeNode onNw&lt;br /&gt;
&lt;br /&gt;
Danach muss das Gerät in den Exklusionsmodus (Ausschlussmodus) versetzt werden. Wie dies zu erfolgen hat, ist im Handbuch des Geräte nachzulesen. &lt;br /&gt;
&lt;br /&gt;
Abschließend wird der Exklusionsmodus am Z-Wave Gateway wieder ausgeschaltet:&lt;br /&gt;
 set ZWDongle_1 removeNode off&lt;br /&gt;
&lt;br /&gt;
Das FHEM-Device muss nach der Exklusion manuell durch &amp;lt;code&amp;gt;delete &amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
Die durch die Exklusion frei gewordene NodeID wird nicht bei der nächsten Inklusion wiederverwendet, sondern es wird die höchste noch nicht verwendete NodeID genutzt.&lt;br /&gt;
&lt;br /&gt;
=== Erneutes Hinzufügen eines bereits registrierten Z-Wave Geräts ===&lt;br /&gt;
Die an einem Z-Wave-Gateway bereits registrierten/inkludierten Geräte sind im Gateway selbst abgespeichert und können durch FHEM jederzeit wieder abgerufen werden. Dies kann man in folgenden Fällen sinnvoll nutzen:&lt;br /&gt;
* Inklusion mit einem batteriegespeisten ZWave-Gateway (bspw. Aeon Labs Z-Stick) ohne FHEM-Server-Anschluss während der Inklusion&lt;br /&gt;
* Umstieg eines ZWave-Netzwerkes von Fremdsoftware auf FHEM  &lt;br /&gt;
* Vollständiger oder teilweiser Verlust der FHEM-Konfiguration&lt;br /&gt;
&lt;br /&gt;
Eine Node-Liste aller inkludierten Geräte des Gateways wird abgerufen durch:&lt;br /&gt;
 get ZWDongle_1 nodeList&lt;br /&gt;
Es wird eine Liste aller im Gateway inkludierten Gerät inklusive Gateway selbst zurückgeliefert. Sofern ein Gerät bereits als FHEM-Device angelegt wurde, wird der FHEM-Device-Name in der nodeList angezeigt. Dies ist für das Gateway selbst immer der Fall. Im obigen Beispiel ist der Eintrag &amp;quot;ZWDongle_1&amp;quot;. Alle noch nicht in FHEM angelegten Geräte, werden als &amp;quot;UNKNOWN_x&amp;quot; ausgegeben, wobei x die ID des betreffenden Gerätes ist.&lt;br /&gt;
&lt;br /&gt;
Mit dem folgenden Befehl wird beispielsweise das bereits im Gateway inkludierte Gerät mit der ID 2 (in der nodeList angezeigt als &amp;quot;UNKNOWN_2&amp;quot;) in FHEM durch autocreate definiert:&lt;br /&gt;
 set ZWDongle_1 createNode 2&lt;br /&gt;
&lt;br /&gt;
Batteriebetriebene Geräte müssen bei Absetzen des &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt;-Befehls wach sein, damit der Befehl verarbeitet werden kann. Dies erreicht man, indem man das Gerät auf &amp;quot;permanent wach&amp;quot; stellt. Falls das Gerät diese Funktion nicht anbietet, muss man es manuell aufwecken und max. 2 Sekunden später den &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt;-Befehl absetzen. Alternativ kann das batteriebetriebene Gerät durch Versand des NIF vom Gerät aus automatisch in FHEM erzeugt werden: Hierzu am Gerät die Taste zum Versand des NIF drücken und &amp;lt;code&amp;gt;autocreate&amp;lt;/code&amp;gt; legt das FHEM-Device an; der Aufruf von &amp;lt;code&amp;gt;createNode&amp;lt;/code&amp;gt; entfällt dann.&lt;br /&gt;
&lt;br /&gt;
== Geräte-Besonderheiten ==&lt;br /&gt;
=== batteriebetriebene Geräte ===&lt;br /&gt;
Batteriebetriebenen Geräten können hinsichtlich ihrer Empfangsbereitschaft unterschieden werden in&lt;br /&gt;
&lt;br /&gt;
* Wakeup-Geräte&lt;br /&gt;
* FLIRS-Geräte&lt;br /&gt;
&lt;br /&gt;
==== Wakeup-Geräte ====&lt;br /&gt;
Wakeup-Geräte sind momentan die häufigste Art von batteriebetriebenen Z-Wave Geräten. Sie sind erkennbar an der Unterstützung der Command Class WAKE_UP.&lt;br /&gt;
Zur Verlängerung der Batterielaufzeit legen sich batteriebetriebene Wakeup-Geräte „schlafen“ und wachen (Wakeup) nur in konfigurierbaren Intervallen auf, um Befehle zu verarbeiten. Das Aufwachen signalisieren die Geräte durch den Versand einer Nachricht &amp;quot;wakeup notification&amp;quot;. Daraufhin senden FHEM und andere Geräte ihre bis dahin gesammelten Befehle, die dann verarbeitet bzw. beantwortet werden. Anschließend gehen die batteriebetriebenen Geräte wieder in den Schlafmodus.&lt;br /&gt;
&lt;br /&gt;
FHEM teilt bei set/get-Befehlen an batteriebetriebene Geräte über einen Hinweis der Form&lt;br /&gt;
:&amp;lt;code&amp;gt;Scheduled for sending after WAKEUP&amp;lt;/code&amp;gt; &lt;br /&gt;
::oder&lt;br /&gt;
:&amp;lt;code&amp;gt;Scheduled get requests for sending after WAKEUP&amp;lt;/code&amp;gt;&lt;br /&gt;
mit, dass der Befehl im Sendstack des FHEM-Geräte-Devices abgespeichert wurde und bei der nächsten &amp;quot;wakeup notification&amp;quot; an das Gerät versendet wird. Ein Versand der Befehle im Sendstack findet grundsätzlich ausschließlich nach Erhalt der &amp;quot;wakeup notification&amp;quot;-Nachricht statt, selbst wenn das Gerät zwischendurch andere Telegramme (bspw. Bewegungsmeldung, Temperatur) an den Controller verschickt. Nur nach Versand der &amp;quot;wakeup notification&amp;quot; ist das batteriebetriebene Gerät grundsätzlich in der Lage (&amp;quot;wach genug&amp;quot;), Telegramme korrekt zu empfangen und zu verarbeiten.&lt;br /&gt;
&lt;br /&gt;
Wie viele Nachrichten im Sendstack auf einen Versand an das Gerät warten, ist im Internal &amp;lt;code&amp;gt;cmdsPending&amp;lt;/code&amp;gt; des zugehörigen FHEM-Devices ersichtlich. Welche Nachrichten (Befehle) im Sendstack warten, ist in der Ausgabe des Befehls &amp;lt;code&amp;gt;[[list]] &amp;lt;device&amp;gt;&amp;lt;/code&amp;gt; erkennbar: Unter der Überschrift Sendstack sind alle wartenden Nachrichten als Rohnachrichten aufgeführt. Der Sendstack wird beim Beenden von FHEM nicht gespeichert. Durch Beenden von FHEM (beispielsweise durch &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;) geht der Sendstack der Geräte daher verloren.&lt;br /&gt;
&lt;br /&gt;
Das Wakeup-Interval und der Empfänger der &amp;quot;wakeup notification&amp;quot; wird wie folgt konfiguriert:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; wakeupInterval &amp;lt;time&amp;gt; &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/nowiki&amp;gt; ist die Zeit in Sekunden zwischen den Intervallen und &amp;lt;nodeID&amp;gt; der gewünschte Empfänger der &amp;quot;wakeup notification&amp;quot;; in der Regel ist dies &#039;&#039;&#039;immer&#039;&#039;&#039; der Controller &amp;lt;CtrlNodeId&amp;gt;. Viele Geräte kommen im Auslieferungszustand mit der NodeID 255. Die &amp;quot;wakeup notification&amp;quot; wird dann als Broadcast ohne Nutzung von Routing an alle erreichbaren Geräte gesendet. Hier sollte die Konfiguration auf die NodeID des Controllers geändert werden, da dadurch die &amp;quot;wakeup notification&amp;quot; geroutet wird und größere Entfernungen zwischen Gerät und Controller möglich sind. Zudem ist dies robuster und spart zusätzlich noch Batterielaufzeit. Darum setzt FHEM bei der Inklusion von WakeUp-Geräten &#039;&#039;&#039;automatisch&#039;&#039;&#039; den Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; wakeupInterval 86400 &amp;lt;ControllerNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ab. Bei abweichenden eigenen Vorstellungen ist dies gegebenenfalls anzupassen. Bei Geräten mit V2 der Command Class WAKE_UP kann das vom Hersteller vorgesehene Standard-wakeupInterval mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; wakeupIntervalCapabilities&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; vom Gerät abgerufen werden. Die Einstellungen von wakeupInterval nach Inklusion und nach jeder Änderung immer mit der Abfrage &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; wakeupInterval&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; überprüfen.&lt;br /&gt;
&lt;br /&gt;
Ein Aufwachen und Versand der &amp;quot;wakeup notification&amp;quot; von batteriebetriebenen Geräten kann für die [[#Assoziation|Assoziation]] und [[#Konfiguration|Konfiguration]] manuell erzwungen werden. Hierzu bringt man das Gerät normalerweise in den Inklusionsmodus oder findet in der Bedienungsanleitung gegebenenfalls andere Informationen. Bitte beachten, dass dann je nach Gerät nur eine geringe Entfernung von Gateway und Gerät vorhanden sein darf (direkte Erreichbarkeit). Alternativ kann für die Dauer der Assoziation und Konfiguration das Wakeup-Interval verkürzt werden (beispielsweise auf 60 Sekunden), wodurch das Routing genutzt werden kann und größere Entfernungen zwischen Gateway und Gerät überbrückt werden können. Anschließend das Wakeup-Interval wieder auf eine batterieschonenende Dauer einzustellen.&lt;br /&gt;
&lt;br /&gt;
Einzelne batteriebetriebene Gerät lassen sich für längere Zeit auf &amp;quot;wach&amp;quot; bzw. permanent &amp;quot;wach&amp;quot; stellen. Dann aus dem Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen, damit Befehle in diesem Gerätemodus von FHEM direkt verschickt werden. Nach Ausschalten des &amp;quot;wach&amp;quot;-Modus &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; wieder im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; aufnehmen.&lt;br /&gt;
&lt;br /&gt;
Bei Konfigurationsänderungen an batteriebetriebenen Geräten mit &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; config...&amp;lt;/code&amp;gt; sollte die korrekte Verarbeitung der Befehle immer mit dem entsprechenden &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; config...&amp;lt;/code&amp;gt; oder -falls vorhanden- mit &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; configAll&amp;lt;/code&amp;gt; überprüft werden, um eventuelle Funk-Telegrammverluste sofort festzustellen.&lt;br /&gt;
&lt;br /&gt;
==== FLIRS-Geräte ====&lt;br /&gt;
Ein batteriebetriebene FLIRS (frequently listening routing slave) Gerät wacht in sehr kurzen Zeitabständen (250ms oder 1000ms) auf und prüft, ob ein Funksignal vorliegt. Liegt kein Funksignal vor geht das Gerät wieder in Tiefschlaf. Zum Aufwecken eines FLIRS-Gerätes ist ein dauerhaftes Funksignal -der Wakeup-Beam-, notwendig, das etwas länger als die Aufweckzeitabstände sein muss. Näher beschrieben unter anderem [http://library.ademconet.com/MWT/fs2/VAM/Introductory-Guide-to-Z-Wave-Technology.PDF hier]. &lt;br /&gt;
&lt;br /&gt;
FLIRS-Geräte haben nicht die Command Class WAKE_UP und arbeiten deshalb nicht mit &amp;quot;wakeup notification&amp;quot;. Aus Sicht des FHEM-Nutzers sind die bekannten FLIRS-Geräte (Sirenen von Vision und Popp) nicht anders zu bedienen/einzurichten als netzgespeiste Geräte. Wakeup-Beam und andere Besonderheiten werden unsichtbar für den Nutzer automatisch abgewickelt.&lt;br /&gt;
&lt;br /&gt;
=== Aeon Labs / Aeotec ===&lt;br /&gt;
Ausführliche Handbücher und technische Informationen auf https://aeotec.freshdesk.com/support/home&lt;br /&gt;
&lt;br /&gt;
==== Multi Sensor 5 ====&lt;br /&gt;
* aktuellste Firmware installieren&lt;br /&gt;
* Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; um &amp;lt;code&amp;gt;BASIC&amp;lt;/code&amp;gt; ergänzen (ab [[version|Modulversion]] 8824/25.6.2015 wird das automatisch bei der Inklusion durchgeführt)&lt;br /&gt;
* bei USB-Anschluss aus Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen&lt;br /&gt;
* Parameter 101 auf 225 (oder 224 bei USB-Anschluss) setzen mit &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; configGroup1Reports 225&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; configLong 101 225&amp;lt;/code&amp;gt;, um Batteriezustand (nicht bei 224), Temperatur, Feuchte und Helligkeit regelmäßig zu erhalten. Das Sende-Intervall wird duch &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; configGroup1Interval &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; festgelegt (Standard 720 Sek).&lt;br /&gt;
* [http://www.pepper1.net/zwavedb/device/407 Paramterübersicht pepper-Datenbank]&lt;br /&gt;
siehe {{Link2Forum|Topic=34505|Message=268913}}&lt;br /&gt;
&lt;br /&gt;
==== Multisensor 6 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40393}}&lt;br /&gt;
* arbeitet bei USB-Anschluß als Router&lt;br /&gt;
* bei USB-Anschluss aus Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;WAKE_UP&amp;lt;/code&amp;gt; entfernen&lt;br /&gt;
* die &amp;lt;code&amp;gt;configGroupxInterval&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;configxxxReportingThreshold&amp;lt;/code&amp;gt; Einstellungen wirken nur bei USB-Anschluss, im reinen Batteriebetrieb werden die Sensordaten nur bei einem &amp;lt;code&amp;gt;wakeup&amp;lt;/code&amp;gt; übertragen&lt;br /&gt;
&lt;br /&gt;
==== Aeotec LED Bulb ZW098-C55 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40504}}&lt;br /&gt;
&lt;br /&gt;
=== Danfoss ===&lt;br /&gt;
==== DAN_LC-13 Heizungsthermostat LC-13 (014G0013) ====&lt;br /&gt;
Das Danfoss Heizungsthermostat LC-13 muss derzeit zur korrekten Funktion mit FHEM regelmäßig mit folgendem &amp;lt;code&amp;gt;at&amp;lt;/code&amp;gt; abgefragt werden ({{Link2Forum|Topic=32145|Message=260795}}):&lt;br /&gt;
 define Atdanfoss at +*00:30 get &amp;lt;name&amp;gt; battery&lt;br /&gt;
Auf dem Markt sind mehrere Varianten des Thermostates LC-13 erhältlich. Darum beim Kauf unbedingt auf die genaue Bezeichnung LC-13 (014G0013) achten ({{Link2Forum|Topic=38041|Message=303146}}). &lt;br /&gt;
&lt;br /&gt;
=== devolo ===&lt;br /&gt;
Ausführliche Handbücher auf http://products.z-wavealliance.org&lt;br /&gt;
&lt;br /&gt;
==== MT02648 Tür-/Fenster Kontakt 3in1 ====&lt;br /&gt;
siehe {{Link2Forum|Topic=41337}}&lt;br /&gt;
&lt;br /&gt;
=== DüWI ===&lt;br /&gt;
Geräte von DÜWI liefern bei örtlicher Betätigung kein automatisches Funk-Signal über die Statusänderung. Das liese sich nur durch eine regelmäßige Statusabfrage durch FHEM (beispielsweise &amp;lt;code&amp;gt;define Status_Abfrage at +*00:03:00 get &amp;lt;name&amp;gt; swmStatus&amp;lt;/code&amp;gt;) beheben.&lt;br /&gt;
Einige Produkte von [http://zwave.me Z-Wave.Me] basieren auf DÜWI-Geräten. Diese Z-Wave.Me Produkte haben jedoch eine erweiterte Firmware, welche die genannte und weitere Firmware-Schwächen der Original-Produkte von DÜWI behebt.&lt;br /&gt;
&lt;br /&gt;
=== Everspring ===&lt;br /&gt;
==== AN145 Sockelmodul E27 ====&lt;br /&gt;
Statusabfrage ohne permanente Abfrage: {{Link2Forum|Topic=48864|Message=405545|Beitrag}}&lt;br /&gt;
&lt;br /&gt;
=== Fibaro ===&lt;br /&gt;
Association Group für Übermittlung von Statusinformationen an den Controller:&lt;br /&gt;
* &amp;quot;alte&amp;quot; ZWave-Geräte (kein ZWave-Plus): häufig Association Group 3&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; associationAdd 3 &amp;lt;CtrlNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Bei diesen Geräten empfiehlt es sich zur Funklastreduzierung und Problemminimierung zu prüfen, ob die von FHEM automatisch vorgenommene Assoziation des Controllers mit der Association Group 1 gelöscht werden kann (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;name&amp;gt; associationDel 1 &amp;lt;CtrlNodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). Nahezu immer werden in Association Group 1 die gleichen Infos, nur mit einer anderen Command Class, wie in der Association Group 3 an den Controller übermittelt.&lt;br /&gt;
* ZWave Plus-Geräte: Association Group 1 (&amp;quot;lifeline&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== FGSS-001 / FGSD-002 Rauchmelder ====&lt;br /&gt;
* nicht untereinander vernetzbar&lt;br /&gt;
* keine Alarmauslösung/Sirenenfunktion durch ZWave-Zentralen&lt;br /&gt;
&lt;br /&gt;
==== FGS-222 Relais Unterputzeinsatz ====&lt;br /&gt;
Bei der Inklusion werden von FHEM 3 Devices angelegt:&lt;br /&gt;
* Hauptdevice (Steuerung und automatischer Status für Kanal 1 und kanalübergreifende Funktionen)&lt;br /&gt;
* Device für Endpoint 1 (Steuerung Kanal 1)&lt;br /&gt;
* Device für Endpoint 2 (Steuerung und automatischer Status von Kanal 2)&lt;br /&gt;
Die Firmware des FGS-222 übermittelt den Status für Kanal 1 automatisch immer ausschließlich an das Hauptdevice. Die Steuerung von Kanal 1 kann hingegen sowohl über das Hauptdevice als auch über das Device für Endpoint 1 erfolgen. Das Device für Endpoint 1 ist somit nicht zwingend erforderlich und kann grundsätzlich gelöscht oder in den room hidden verschoben werden.&lt;br /&gt;
&lt;br /&gt;
Details: {{Link2Forum|Topic=50176}}&lt;br /&gt;
&lt;br /&gt;
Hinweis zum Reset: {{Link2Forum|Topic=55190|Message=469393}}&lt;br /&gt;
&lt;br /&gt;
==== FGK-101 Tür/Fensterkontakt ====&lt;br /&gt;
* Besonderheiten bei Anschluss eines Temperatursensors: {{Link2Forum|Topic=38012}}&lt;br /&gt;
&lt;br /&gt;
=== GE ===&lt;br /&gt;
==== GE (Model t.b.d) ====&lt;br /&gt;
Dieser Schalter unterstützt keine Statusrückmeldungen.&lt;br /&gt;
&lt;br /&gt;
=== Merten ===&lt;br /&gt;
Laut {{Link2Forum|Topic=38133}} müssen bei einigen Merten-Geräten, die mit Fremdsoftware inkludiert wurden, gegebenenfalls die Geräte wieder exkludiert und dann erneut mit FHEM inkludiert werden, damit Assoziationen mit FHEM gesetzt werden können.&lt;br /&gt;
&lt;br /&gt;
=== Philio ===&lt;br /&gt;
==== PHI_PAN04 Relais Unterputzeinsatz 2 Schalter a 1.5kW mit Messfunktion ====&lt;br /&gt;
siehe {{Link2Forum|Topic=28046}}&lt;br /&gt;
&lt;br /&gt;
=== Popp ===&lt;br /&gt;
==== POPE004001 Z-Wave Rauchmelder mit Innensirene ====&lt;br /&gt;
siehe {{Link2Forum|Topic=39856}}&lt;br /&gt;
==== POPE005107 Z-Wave Außensirene ====&lt;br /&gt;
siehe {{Link2Forum|Topic=42736}}&amp;lt;br&amp;gt;&lt;br /&gt;
Alte Firmwareversionen haben einen Bug bei der Übermittlung von negativen Temperaturen. Eine Lösungsvariante über ein &amp;lt;code&amp;gt;userReadings&amp;lt;/code&amp;gt; findet sich auch im verlinkten Thema. &lt;br /&gt;
==== POPE009006 Z-Wave Wall Plug Switch ====&lt;br /&gt;
siehe {{Link2Forum|Topic=40771}}&lt;br /&gt;
==== POPE009402 10Year Smoke Detector ====&lt;br /&gt;
Die erste Firmwareversion hat eine fehlerhafte modelID.  Diese Rauchmelder wird dadurch fälschlich als [[Z-Wave#POPE005107_Z-Wave_Au.C3.9Fensirene|Popp Aussensirene]] in FHEM angezeigt. Neuere Geräte werden laut Popp mit der korrekten modelID ausgeliefert.&lt;br /&gt;
&lt;br /&gt;
=== Z-Wave.Me ===&lt;br /&gt;
==== ZME_RC2 Fernbedienung ====&lt;br /&gt;
siehe {{Link2Forum|Topic=35513}}&amp;lt;BR&amp;gt;&lt;br /&gt;
Das Forenthema enthält eine detaillierte Beschreibung der Nutzung der Class MULTI_CHANNEL_ASSOCIATION.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
* Grundlageninformation &amp;quot;Z-Wave-Haupt-Anleitung&amp;quot;: [http://www.zwave.de/z-wave-funknetz-einrichten-und-betreiben/ Wie errichte und betreibe ich ein Z-Wave basiertes Funknetz]&lt;br /&gt;
* [http://www.zwave.de/buch-z-wave-grundlagen/ Buch] &amp;quot;Z-Wave: Die Funktechnologie für das Smart Home&amp;quot; von Dr. Christian Paetz (Paetz &amp;quot;is the primary European representative for the Z-Wave Alliance&amp;quot; [http://z-wavealliance.org/global-contacts/])&lt;br /&gt;
* Z-Wave-Produktdatenbank mit Angabe zur Zertifizierung, Handbüchern und weiteren Detailinfos (Z-Wave oder [http://z-wavealliance.org/z-wave_plus_certification Z-Wave Plus]): http://products.z-wavealliance.org (englisch)&lt;br /&gt;
* herstellerübergreifende Datenbank mit Bedienungsanleitungen zu Z-Wave-Geräten: http://www.zwave.de/handbuecher/ oder http://manuals.zwaveeurope.com (mehrsprachig)&lt;br /&gt;
* herstellerübergreifende Datenbank mit technischen Informationen zu Z-Wave-Geräten (Z-Wave Device Library): http://devel.pepper1.net/zwavedb/ (englisch; wird derzeit nicht mehr aktualisiert)&lt;br /&gt;
* informative Webseiten zu Z-Wave:&lt;br /&gt;
** [http://www.z-wavealliance.org/ http://www.z-wavealliance.org/] (englisch)&lt;br /&gt;
** [http://www.zwaveeurope.com/ http://www.zwaveeurope.com/] (englisch)&lt;br /&gt;
** [http://www.zwave.de/ http://www.zwave.de/] (deutsch)&lt;br /&gt;
** [http://library.ademconet.com/MWT/fs2/VAM/Introductory-Guide-to-Z-Wave-Technology.PDF Introductory Guide to Z-Wave-Technology von Honeywell] (englisch; nicht auf aktuellem Stand)&lt;br /&gt;
&lt;br /&gt;
=== Informationsquellen zur Einbindung von Command Classes ===&lt;br /&gt;
Offizielle und ausführliche Informationen von Sigma Designs (veröffentlicht am 31.08.2016):&lt;br /&gt;
* [http://z-wave.sigmadesigns.com/design-z-wave/z-wave-public-specification/ Z-Wave Public Specification]&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen (seit Veröffentlichung der Z-Wave Spezifikationen am 31.08.2016 geringe Relevanz)&lt;br /&gt;
* [https://github.com/yepher/RaZBerry Infos zu Command Classes (ausführlich; insbesondere im Verzeichnis &amp;quot;docs&amp;quot;), RaZBerry und Z-Wave allgemein], englisch&lt;br /&gt;
* [http://220.135.186.178/zwave/example/ Übersicht von Command Classes und deren Rückgabewerten mit Unterscheidung der Class-Versionen], englisch&lt;br /&gt;
* Code von http://www.openzwave.org (https://github.com/OpenZWave/open-zwave) und http://www.openhab.org (Z-Wave binding: https://github.com/cdjackson/openhab)&lt;br /&gt;
* eine Java-API-Beschreibung mit Hinweisen zu Unterschieden von Class-Versionen: http://dz.prosyst.com/pdoc/mBS_SH_SDK_8.1/modules/zwave/api/driver/index.html&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== Welche Infos sollten Anfragen im ZWave-Forum enthalten? ===&lt;br /&gt;
* Anfragen bitte nur zur aktuellsten FHEM-Version: Befehl &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; ergibt Ausgabe &amp;quot;nothing to do...&amp;quot;&lt;br /&gt;
* detaillierte Beschreibung des Problems&lt;br /&gt;
* beteiligte Komponenten (genaue Bezeichnung und evtl. Link auf Hersteller-Dokumentation)&lt;br /&gt;
* list des jeweiligen FHEM-Devices (Ausgabe von &amp;lt;code&amp;gt;list &amp;lt;device&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
::Bitte vor Aufruf des list-Befehls -wenn vorhanden/möglich- folgende Befehle ausführen und Ergebnis abwarten:&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; associationAll&amp;lt;/code&amp;gt; &lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; configAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; versionClassAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcaAll&amp;lt;/code&amp;gt;&lt;br /&gt;
::*&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; wakeupInterval&amp;lt;/code&amp;gt; (nur bei batteriebetriebenen Geräten)&lt;br /&gt;
* passender Ausschnitt aus dem Logfile (siehe Link im FHEM-Menü links) generiert mit den gesetzten Attributen&lt;br /&gt;
::*&amp;lt;code&amp;gt;attr &amp;lt;ZWDongle&amp;gt; verbose 5&amp;lt;/code&amp;gt; und&lt;br /&gt;
::*&amp;lt;code&amp;gt;attr global mseclog 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Welche Schritte sind für die Einbindung von ZWave-Geräten in FHEM mindestens durchzuführen? ===&lt;br /&gt;
Voraussetzung: ZWave-Gateway ist erfolgreich eingebunden!&lt;br /&gt;
# [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]] des Gerätes&lt;br /&gt;
# [[#Assoziation|Assoziation]] der Assoziationsgruppe(n) des Gerätes mit dem Gateway&lt;br /&gt;
# [[#Konfiguration|Konfiguration]] des Gerätes&lt;br /&gt;
&lt;br /&gt;
=== Warum bleibt der Status (STATE) des neu inkludierten Gerätes dauerhaft auf &amp;quot;associationAdd &amp;lt;associationGroup&amp;gt; &amp;lt;CtrlNodeId&amp;gt;&amp;quot; stehen? ===&lt;br /&gt;
FHEM setzt das Reading &amp;quot;state&amp;quot;, das den STATE bestimmt, nicht bei allen ZWave-Devices mit vordefinierten Standardwerten. Daher bleibt der bei der Inklusion automatisch abgesetzte &amp;quot;associationAdd&amp;quot;-Befehl unter Umständen im STATE stehen, bis der Anwender den STATE über die Vergabe des Attributes &amp;lt;code&amp;gt;[http://fhem.de/commandref.html#stateFormat stateFormat]&amp;lt;/code&amp;gt; manuell an seine Bedürfnisse angepasst hat.&lt;br /&gt;
(weitergehende Info zum state/STATE/stateFormat: [[DevelopmentState]])&lt;br /&gt;
&lt;br /&gt;
=== Wie können bei mehrkanaligen Aktoren die zusätzlichen Kanäle (&amp;gt;1) angesprochen werden? ===&lt;br /&gt;
* Bei der [[#Hinzufügen eines neuen Z-Wave Geräts / Inklusion|Inklusion]] des Gerätes wird das Hauptdevice mit dem Namen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; und die Devices für alle Kanäle (Endpoints) nach dem Namensschema &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWave_&amp;lt;Geräteklasse laut NIF des Gerätes&amp;gt;_&amp;lt;NodeID&amp;gt;.&amp;lt;EndpointNr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; automatisch angelegt. Jedes dieser FHEM-Devices spricht regelmäßig einen bestimmten Kanal des Gerätes an; einige Geräte sprechen mit dem Hauptdevice jedoch das gesamte Gerät mit allen Kanälen an (Bedienungsanleitung beachten).&lt;br /&gt;
* Manuell werden Devices für zusätzliche Kanäle mit Hilfe der Befehle &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcEndpoints&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; mcCapability &amp;lt;chid&amp;gt;&amp;lt;/code&amp;gt; aus der Class MULTI_CHANNEL ermittelt bzw. einzeln über autocreate angelegt (Details und Beispiel siehe [http://fhem.de/commandref.html#ZWaveget commandref]). Mit dem Befehl &amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; mcCreateAll&amp;lt;/code&amp;gt; werden automatisch alle Kanäle des Gerätes durch autocreate als eigene Devices in FHEM angelegt.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann man die SDK-Version eines Gerätes herausfinden? ===&lt;br /&gt;
Mit FHEM alleine kann eine [[#Grobermittlung|Grobermittlung]] der SDK-Version vorgenommen werden, die aber für einige Zwecke bereits ausreichend ist. Soll eine [[#Detailermittlung|Detailermittlung]] der genauen SDK-Version erfolgen, dann müssen die mit FHEM ermittelten Werte anhand externer Quellen übersetzt werden.&lt;br /&gt;
==== Grobermittlung ====&lt;br /&gt;
Der Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; nodeInfo &amp;lt;dezimale nodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; liefert das Reading &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;nodeInfo_&amp;lt;dezimale nodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; zurück.&lt;br /&gt;
Die Angabe im Reading hinter &amp;lt;code&amp;gt;ProtocolVers:&amp;lt;/code&amp;gt; lässt grobe Rückschlüsse zu. Mögliche (bekannte) Werte:&lt;br /&gt;
* &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; -&amp;gt; bspw. keine Explorer Frames, keine SUC-Unterstützung (veraltet, keine bekannten Geräte mehr im Handel)&lt;br /&gt;
* &amp;lt;code&amp;gt;SDK5.0x+4.2x&amp;lt;/code&amp;gt; -&amp;gt; bspw. keine Explorer Frames, teilweise SUC-Unterstützung&lt;br /&gt;
* &amp;lt;code&amp;gt;SDK4.5x+6.0x&amp;lt;/code&amp;gt; -&amp;gt; bspw. Explorer Frames- und SUC-Unterstützung (Reading-Wert wird auch bei SDK 6.5x = Z-Wave Plus angezeigt)&lt;br /&gt;
==== Detailermittlung ====&lt;br /&gt;
Durch den Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;name&amp;gt; version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; kann man die ZWave-Protokoll-Version von Geräten und Controller abfragen. Mit Unterstützung von Übersetzungstabellen&lt;br /&gt;
* http://wiki.micasaverde.com/index.php/ZWave_Protocol_Version&lt;br /&gt;
* Suche nach sdkids.xml in einer Suchmaschine&lt;br /&gt;
kann aus der Protokoll-Version das genutzte SDK festgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielsweis entspricht das Reading eines Gerätes &amp;quot;Lib 6 &#039;&#039;&#039;Prot 2.64&#039;&#039;&#039; App 1.6&amp;quot; dem SDK 5.02 Patch 2 oder eines Controller &amp;quot;Z-Wave &#039;&#039;&#039;3.41&#039;&#039;&#039; STATIC_CONTROLLER&amp;quot; dem SDK 6.02.00.&lt;br /&gt;
 &lt;br /&gt;
HINWEIS: Bei der Vergabe der Protokoll-Version und zugehörigem SDK gibt es keine erkennbare Logik: Eine höhere Protokoll-Version steht nicht notwendig für eine höheres SDK.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann eine verschlüsselte Kommunikation unter Nutzung der Command Class SECURITY eingerichtet werden? ===&lt;br /&gt;
Die verschlüsselte Kommunikation zwischen Controller und Endgerät setzt eine secure-Inklusion voraus. Bereits mit der Inklusion wird entschieden, ob die Kommunikation von Controller und Endgerät dauerhaft verschlüsselt oder unverschlüsselt erfolgt. Ist ein Gerät bereits normal inkludiert und entscheidet man sich nachträglich für eine verschlüsselte Kommunikation, so ist das nur möglich, indem das Gerät exkludiert und dann wieder secure inkludiert wird.&lt;br /&gt;
&lt;br /&gt;
Ob die Verschlüsselung bei einem Gerät mit Unterstützung der Command Class SECURITY genutzt werden soll, sollte genau überlegt werden. Die Verschlüsselung führt zu einem deutlich größeren Funkverkehr zur Ausführung eines Befehls und teilweise auch zu spürbaren Latenzen.&lt;br /&gt;
&lt;br /&gt;
Vorarbeiten:&lt;br /&gt;
* Das Perl-Modul Crypt-Rijndael muss installiert sein.&lt;br /&gt;
* Das Attribut &amp;lt;code&amp;gt;networkKey&amp;lt;/code&amp;gt; muss mit einem 32-Zeichen langen Hexzahl beim ZWDongle angelegt werden. Dieser Schlüssel sollte nicht veröffentlicht werden und auch zusätzlich separat (bspw. auf Papier) festgehalten werden. Bei Verlust des Attributes und Schlüssels ist eine Kommunikation nur nach erneuter Inklusion möglich.&lt;br /&gt;
&lt;br /&gt;
Ablauf der secure-Inklusion:&lt;br /&gt;
* Controller in den Modus zur secure-Inklusion schalten:&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWDongle&amp;gt; addNode onSec&amp;lt;/code&amp;gt; für die Standard-secure-Inklusion&lt;br /&gt;
: oder alternativ&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWDongle&amp;gt; addNode onNwSec&amp;lt;/code&amp;gt; für die Nework-Wide-secure-Inklusion&lt;br /&gt;
* Gerät gemäß Handbuch in den Modus zur secure-Inklusion bringen (teilweise ist jeweils für secure- und normale Inklusion ein anderes Vorgehen notwendig!)&lt;br /&gt;
* Das Gerät sollte jetzt automatisch erkannt und das FHEM-Device durch &amp;lt;code&amp;gt;autocreate&amp;lt;/code&amp;gt; angelegt werden. Die secure-inkludierten Geräte haben ein zusätzliches Attribut &amp;lt;code&amp;gt;secure_classes&amp;lt;/code&amp;gt; in dem die Command Classes deren Kommunikation verschlüsselt abläuft aufgelistet sind. Nicht in diesem Attribut, aber in &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; aufgeführte Command Classes wickeln die Kommunikation weiterhin unverschlüsslt ab.&lt;br /&gt;
* Inklusionsmodus des Controllers ausschalten:&lt;br /&gt;
: &amp;lt;code&amp;gt;set &amp;lt;ZWdongle&amp;gt; addnode off&amp;lt;/code&amp;gt;&lt;br /&gt;
* Das Vorgehen in FHEM unterscheidet sich von nun an nicht von normal (unverschlüsselt) inkludierten Geräten. Die Verschlüsselung läuft für den Anwender transparent ab. Darum anschließend [[#Assoziation|Assoziation]] und [[#Konfiguration|Konfiguration]] vornehmen.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann man ohne Exklusion Nodes des Controllers löschen? ===&lt;br /&gt;
HINWEIS: Geräte sollten grundsätzlich immer über eine Exklusion aus der Nodelist des Controllers gelöscht werden. Das nachfolgend geschilderte Vorgehen ist nur in Sonderfällen (bspw. Gerätedefekt, gebraucht gekauftes Gateway) anzuwenden.&lt;br /&gt;
&lt;br /&gt;
Nicht mehr zu erreichende/reagierende Nodes (Geräte) können manuell mit dem Befehl &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; gelöscht werden. Dazu muss sich der betroffene Node auf der FailedNodeList des Controllers befinden. Auf die FailedNodeList kommen netzbetriebene Geräte automatisch, wenn sie vom Controller nicht mehr per Funk erreicht werden. Batteriebetriebene Geräte müssen manuell auf die FailedNodelist gesetzt werden, da der Controller nicht feststellen kann, ob sie nur langfristig &amp;quot;schlafen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Der Befehl &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; löscht nur Nodes auf der FailedNodeList, die erst vor Kurzem nicht erreicht werden konnten. Darum muss sowohl das manuelle Verschieben von batteriebetriebenen als auch das Nicht-Erreichen der netzbetriebenen Geräte erst Kurz vor Aufruf des &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt;-Befehls erfolgt sein. &lt;br /&gt;
&lt;br /&gt;
Vorgehensweise für den Node &amp;lt;NodeId&amp;gt;:&lt;br /&gt;
# An den betroffenen Node eine Telegramm mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; sendNIF &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; verschicken, um ihn auf FailedNodeList zu verschieben bzw. Zeitstempel zu aktualisieren.&lt;br /&gt;
# Abfragen, ob der Node auf der FailedNodeList steht: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; isFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Wenn der Rückgabewert der Abfrage &amp;quot;yes&amp;quot; ist, steht der Node korrekt auf der FailedNodeList und kann mit &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt; gelöscht werden.&lt;br /&gt;
# Befehl zum Löschen des Nodes absetzen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; removeFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der Befehl testet vor dem Löschen noch einmal, dass der Node nicht erreicht werden kann und entfernt erst dann den Node.&lt;br /&gt;
# Prüfen, der Ergebnisse des &amp;lt;code&amp;gt;removeFailedNode&amp;lt;/code&amp;gt;-Befehls im Log oder [[Event monitor]]. Die verschiedenen Ergebnisse werden durch die in der commandref dokumentierten Events signalisiert. Tritt das Ergebnis &amp;quot;failedNodeRemoveProcessBusy&amp;quot; mehrfach hintereinander auf, muss das ZWDongle kurz stromlos gemacht werden.&lt;br /&gt;
# Prüfen, ob der Node nicht mehr auf der Nodelist des Controllers ist: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; nodeList&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
siehe auch {{Link2Forum|Topic=32823|Message=292626}}&lt;br /&gt;
&lt;br /&gt;
=== Wie ist der einfachste Weg ein (defektes) Gerät durch ein gleiches Ersatzgerät auszutauschen? ===&lt;br /&gt;
Tauscht man ein defektes Gerät durch ein gleiches Ersatzgerät und inkludiert das Ersatzgerät per &amp;lt;code&amp;gt;addNode&amp;lt;/code&amp;gt;, so erhält das Ersatzgerät eine neue NodeId. Soll das Ersatzgerät die gleiche NodeId wie das alte Gerät erhalten, so muss statt &amp;lt;code&amp;gt;addNode&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;replaceFailedNode&amp;lt;/code&amp;gt; zur Inklusion des Ersatzgerätes (=gleiches Modell) verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise für den Node &amp;lt;NodeId&amp;gt;:&lt;br /&gt;
# sofern das alte Gerät noch ansprechbar ist, die Konfiguration und Assoziationen abfragen, damit man die Werte im Ersatzgerät einfach wieder setzen kann:&lt;br /&gt;
## &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;device&amp;gt; configAll&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
## &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;device&amp;gt; associationAll&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# defektes Gerät aus- und neues einbauen&lt;br /&gt;
# Befehl &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;ZWDongle&amp;gt; sendNIF &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; absetzen, damit das Dongle die NodeId auf die FailedNodeList setzt.&lt;br /&gt;
# Abfragen, ob der Node auf der FailedNodeList steht: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;get &amp;lt;ZWDongle&amp;gt; isFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Wenn der Rückgabewert der Abfrage &amp;quot;yes&amp;quot; ist, steht der Node korrekt auf der FailedNodeList und das Ersatzgerät kann mit &amp;lt;code&amp;gt;replaceFailedNode&amp;lt;/code&amp;gt; inkludiert werden.&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set &amp;lt;zwdongle&amp;gt; replaceFailedNode &amp;lt;NodeId&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; für die NodeId des defekten Gerätes aufrufen und das Ersatzgerät in den Inklusionsmodus bringen&lt;br /&gt;
# Korrekte Inklusion prüfen und beim alten Aktor ausgelesene Werte beim neuen Aktor wieder setzen.&lt;br /&gt;
&lt;br /&gt;
=== Bei einer Inklusion wird eine durch Exklusion/removeFailedNode frei gewordenen NodeId nicht mehr vergeben. Ist das korrekt? ===&lt;br /&gt;
Ja, das ist richtig.&lt;br /&gt;
&lt;br /&gt;
Bei der Inklusion über addNode vergibt der Controller die höchste bisher noch nie verwendete NodeID. Durch Exklusion oder removeFailedNode frei gewordene NodeIDs werden hierbei nicht erneut vergeben. Nur bei einem Controller-Reset, der mit einem unwiederbringlichen Verlust sämtlicher Informationen des ZWave-Netzes und Neuvergabe der HomeID verbunden ist, beginnt die Zählung wieder von vorne.&lt;br /&gt;
&lt;br /&gt;
=== Welche Funktion haben die XML-Config-Dateien in FHEM? ===&lt;br /&gt;
In den XML-Config-Dateien sind Informationen zu einzelnen ZWave-Geräten enthalten, die der Erleichterung der Gerätenutzung und -einbindung in FHEM dienen. Dies sind unter anderem Erläuterungen zu den Parameternummer/-werten, Assoziationsgruppen und Besonderheiten eines Gerätes. Ob eine zum Zwave-Gerät passende XML-Config Datei existiert, wird im Rahmen der Inklusion oder durch manuellen Aufruf des Befehls &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; ermittelt. Wird eine passende XML-Config-Datei gefunden, wird sie automatisch in FHEM eingebunden. Das Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; enthält dann den zugehörigen XML-Config-Dateinamen. Stehen keine XML-Config-Informationen bereit, enthält das Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; den Wert &amp;quot;unknown&amp;quot;. Die Funktionsfähigkeit von FHEM mit ZWave-Geräten ist auch bei fehlender XML-Config-Datei gegeben. Es gibt dadurch keine funktionalen Einschränkungen in FHEM; es entfallen &amp;quot;nur&amp;quot; Erleichterungen und es sind unter Umständen mehr manuelle Schritte bei der Gerätenutzung/-einbindung notwendig.&lt;br /&gt;
&lt;br /&gt;
Erleichterungen bei vorhandener XML-Config für ein ZWave-Gerät:&lt;br /&gt;
* Bei der Inklusion:&lt;br /&gt;
** Assoziationen mit dem Controller bei von Gruppe 1 abweichenender Assoziationsgruppe werden automatisch gesetzt&lt;br /&gt;
** vom NIF nicht gemeldete, aber vom Gerät unterstützte Classes, werden im Attribut &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt; ergänzt&lt;br /&gt;
* Bei der Konfiguration:&lt;br /&gt;
** die Parameternummern stehen als configXY-Befehle zur Verfügung und werden mit Hilfetexten -auch zu den Parameterwerten- in der Detailansicht des FHEM-Device erläutert.&lt;br /&gt;
&lt;br /&gt;
HINWEIS: Bitte auch bei vorhandener XML-Config-Datei nach der Inklusion und bei der Konfiguration die Assoziationen und Parameter prüfen. Von den eigenen Vorstellungen abweichende Vorgaben oder gar Fehler in der Config-Datei können nie ausgeschlossen werden. Fehler bitte im Forum ({{Link2Forum|Area=ZWave}}) melden.&lt;br /&gt;
&lt;br /&gt;
=== Wie können fehlende XML-Config-Informationen für mein ZWave-Gerät in FHEM eingebunden werden? ===&lt;br /&gt;
Die XML-Config-Informationen von FHEM sind in folgenden Dateien im Ordner fhem/FHEM/lib gespeichert:&lt;br /&gt;
* openzwave_manufacturer_specific.xml&lt;br /&gt;
* openzwave_deviceconfig.xml.gz&lt;br /&gt;
* fhem_zwave_deviceconfig.xml.gz&lt;br /&gt;
Die in den Dateien enthaltenen Informationen beruhen in großen Teilen auf Daten von openzwave und übernehmen daher das openzwave-Datenformat, das unter https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices näher beschrieben wird. &lt;br /&gt;
&lt;br /&gt;
Die Datei &amp;quot;openzwave_manufacturer_specific.xml&amp;quot; enthält die eindeutige Kennung des ZWave-Gerätes, die in FHEM nach Aufruf des Befehls &amp;lt;code&amp;gt;get &amp;lt;name&amp;gt; model&amp;lt;/code&amp;gt; im Reading &amp;lt;code&amp;gt;modelId&amp;lt;/code&amp;gt; des FHEM-ZWave-Devices steht. Weiterhin wird der Klartextname dieses Gerätes, der im Reading &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; angezeigt werden soll, festgelegt. Zudem wird der Dateiname der eigentlichen XML-Config-Datei für das ZWave-Gerät angegeben, der später informativ im Reading &amp;lt;code&amp;gt;modelConfig&amp;lt;/code&amp;gt; steht.&lt;br /&gt;
&lt;br /&gt;
Die Dateien &amp;quot;openzwave_deviceconfig.xml.gz&amp;quot; und &amp;quot;fhem_zwave_deviceconfig.xml.gz&amp;quot; enthalten in komprimierter Form die eigentlichen XML-Config-Dateien für die ZWave-Geräte. FHEM durchsucht beide Dateien nach der passenden XML-Config-Datei. Ist in beiden Dateien eine XML-Config für ein Gerät vorhanden, so werden die XML-Daten aus der &amp;quot;fhem_zwave_deviceconfig.xml.gz&amp;quot; bevorzugt.&lt;br /&gt;
&lt;br /&gt;
Falls ein ZWave-Gerät von FHEM nicht erkannt wird, bitte auf folgenden Seiten nachschauen, ob es schon XML-Config-Dateien gibt, die nur nicht in FHEM eingebunden sind:&lt;br /&gt;
# https://github.com/OpenZWave/open-zwave/tree/master/config in manufacturer_specific.xml und dem herstellerspezifischen Unterordner&lt;br /&gt;
# https://github.com/jeedom/plugin-openzwave/tree/master/ressources/openzwave/config in manufacturer_specific.xml und dem herstellerspezifischen Unterordner &lt;br /&gt;
# http://www.cd-jackson.com/index.php/zwave/zwave-device-database&lt;br /&gt;
Sofern auf den genannten Seiten Daten vorhanden sind, postet eine Aktualisierungsbitte mit genauem Link zur entsprechenden Seite im Forum ({{Link2Forum|Area=ZWave}}).&lt;br /&gt;
&lt;br /&gt;
Gibt es auf keiner der Seiten Infos zu dem Gerät, dann entsprechend https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices die XML-Config-Datei für das Gerät erstellen und unkomprimiert zusammen mit der zu ergänzenden Info für die Datei &amp;quot;openzwave_manufacturer_specific.xml&amp;quot; im Forum ({{Link2Forum|Area=ZWave}}) zur Verfügung stellen.&lt;br /&gt;
&lt;br /&gt;
=== Wie führt man eine Komplett-Sicherung der ZWave-Installation durch? ===&lt;br /&gt;
Zu einer Komplett-Sicherung der ZWave-Konfiguration gehören:&lt;br /&gt;
&lt;br /&gt;
1. [[Backup]] der FHEM-Installation &lt;br /&gt;
::&#039;&#039;&#039;und&#039;&#039;&#039;&lt;br /&gt;
2. Backup des NVRAM des Controllers&lt;br /&gt;
&lt;br /&gt;
Es genügt nicht nur die FHEM-Installation/Konfiguration zu sichern, da der Controller im NVRAM Daten über HomeID, NodeIDs usw. speichert, die in der FHEM-Installation nicht enthalten sind und auch nicht durch FHEM rekonstruierbar sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zu 2.) Backup des NVRAM des Controllers&lt;br /&gt;
&lt;br /&gt;
Einige Controllerhersteller bieten eine eigenständige Software zum Backup/Restore an (siehe Hinweise zu den Controllern unter [[#Autocreate_des_Gateways]]).&lt;br /&gt;
&lt;br /&gt;
FHEM kann mit den ZWDongle-Befehlen &amp;lt;code&amp;gt;backupCreate&amp;lt;/code&amp;gt; das NVRAM der Controller sichern und mit &amp;lt;code&amp;gt;backupRestore&amp;lt;/code&amp;gt; zurückschreiben. Da das Speicherlayout des NVRAM unter anderem von Controller-Hersteller, SDK und Firmwareversion abhängig sein kann, sollte man die Sicherung und Wiederherstellung des eigenen Controllers (auf eigenes Risiko) testen und sinnvollerweise einen gleichen Ersatzcontroller wie den Controller des Produktivsystem besitzen. Erfolgreiche Sicherung/Wiederherstellung wurde im Forum von den ZWavePlus-Controllern UZB1 (256k), Razberry (256k), Vision ZU 1401-5 EU (128k)und AEOTEC Z-Stick Gen5 (256k) berichtet.&lt;br /&gt;
(Weitergehende Infos -neben der commandref- im Forum: {{Link2Forum|Topic=52364}}, {{Link2Forum|Topic=52914}}, {{Link2Forum|Topic=53023}})&lt;br /&gt;
&lt;br /&gt;
=== Wie kann ich zur Fortentwicklung der ZWave-Module beitragen? ===&lt;br /&gt;
* Erfolgreichen Einsatz von neuen/bisher nicht gemeldeten ZWave-Geräten im Forum mitteilen&lt;br /&gt;
* Codeschnipsel und Ideen im Forum posten&lt;br /&gt;
* Fehler und Probleme im Forum melden&lt;br /&gt;
* [[How_to_write_a_patch|Patches]] für 00_ZWDongle.pm und 10_ZWave.pm erstellen&lt;br /&gt;
* Wiki: Ergänzungen und Korrekturen vornehmen; neue Geräte ins Wiki aufnehmen; Codeschnipsel und Beispiele einpflegen&lt;br /&gt;
&lt;br /&gt;
=== Wie wird ein fehlendes Kernelmodul (Fritzbox) eingebunden? ===&lt;br /&gt;
Auf der Fritzbox (und evtl. auch anderen Systemen) muss sichergestellt werden, dass das Kernelmodul für das Gateway geladen wird. Ansonsten scheitert die Einbindung des Gateways in FHEM.&lt;br /&gt;
&lt;br /&gt;
Für den Aeon Labs Z-Stick muss beispielsweise auf der Fritzbox das Kernelmodul &amp;lt;code&amp;gt;cp2101.ko&amp;lt;/code&amp;gt; geladen werden.&lt;br /&gt;
Diese Datei ist bei einer [[FHEM und FritzBox 7390]] Installation über das Image von [http://www.fhem.de fhem.de] bereits enthalten.&lt;br /&gt;
Um den Aeon Labs Z-Stick zu verwenden, muss dieses Kernelmodul vor oder beim Starten des FHEM-Servers geladen sein. Dies erreicht man durch einen Eintrag in der Datei &amp;lt;code&amp;gt;startfhem&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die entsprechende Zeile kann direkt unterhalb der modprobe Anweisungen eingefügt werden.&lt;br /&gt;
 insmod $home/lib/cp2101.ko&lt;br /&gt;
&lt;br /&gt;
Nach einem FHEM-Neustart sollte das Gateway (der USB Stick) nun erkannt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wie ist der Aufbau der Z-Wave Messages und wie finde ich bei einem Sendefehler die NodeId des Empfängers heraus? ===&lt;br /&gt;
&lt;br /&gt;
Es könnte natürlich hin und wieder vorkommen, dass man im FHEM-Log folgende Fehler vorfindet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ZWDongle_ProcessSendStack: no ACK, resending message 010a00130603320110259277&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Fall gab es aus irgendeinem Grund einmalig das Problem, dass der Empfang einer Nachricht vom Empfänger nicht bestätigt wurde. &lt;br /&gt;
Will man dem auf die Spur kommen, so wäre es natürlich von Vorteil, die NodeId des Empfängers herauszufinden. Also muss man sich die Message näher anschauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;010a00130603320110259277&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 01: data to controller&lt;br /&gt;
* 0a: length of msg&lt;br /&gt;
* 00: ?&lt;br /&gt;
* 13: ZW_SEND_DATA&lt;br /&gt;
* 06: NodeId&lt;br /&gt;
 &lt;br /&gt;
* 03: length of msg&lt;br /&gt;
* 32: Command Class 32 (METER, siehe %zwave_class in 10_ZWave.pm)&lt;br /&gt;
* 01: METER get scale command&lt;br /&gt;
* 10: scale parameter&lt;br /&gt;
 &lt;br /&gt;
* 25: send flags, explorer frames on&lt;br /&gt;
* 92: callbackId (um ACK zu identifizieren)&lt;br /&gt;
* 77: checkSum&lt;br /&gt;
&lt;br /&gt;
In diesem Fall hat der Z-Wave-Controller 01 eine Nachricht an die NodeId 06 geschickt, welche vom Node nicht bestätigt wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;br /&gt;
[[Kategorie:Z-Wave Components]]&lt;/div&gt;</summary>
		<author><name>FunkOdyssey</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen&amp;diff=12246</id>
		<title>HM-Sen-MDIR-O Funk-IR-Bewegungsmelder außen</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-Sen-MDIR-O_Funk-IR-Bewegungsmelder_au%C3%9Fen&amp;diff=12246"/>
		<updated>2015-09-23T15:49:08Z</updated>

		<summary type="html">&lt;p&gt;FunkOdyssey: Umstrukturierung, Beispiele mit DOIF ergänzt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware|Bild=HM-Sen-MDIR-O.jpg&lt;br /&gt;
|Bildbeschreibung=HM-Sen-MDIR-O&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Sensor&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3 MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWPowerConsumption=unbekannt&lt;br /&gt;
|HWVoltage=4,5 V&lt;br /&gt;
|HWPoweredBy=Batterie, 3x LR06 (Mignon)&lt;br /&gt;
|HWSize=76 x 74 x 90 mm&lt;br /&gt;
|HWDeviceFHEM=[[CUL_HM]]&lt;br /&gt;
|HWManufacturer=eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HM-Sen-MDIR-O&#039;&#039;&#039;&lt;br /&gt;
HomeMatic Funk-IR-Bewegungsmelder außen&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
PIR-Bewegungsmelder mit Helligkeitssensor zur Tag-/Nachtumschaltung.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technische Daten:&#039;&#039;&#039;&lt;br /&gt;
* Erfassungswinkel: ca. 90°&lt;br /&gt;
* Erfassungsbereich: ca. 9 m&lt;br /&gt;
* Drehbar: 360°&lt;br /&gt;
* Neigbar: 45°&lt;br /&gt;
* Schutzart: IP 44&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Inbetriebnahme und Installation ==&lt;br /&gt;
&amp;amp;lt;Bitte ergänzen&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit FHEM ==&lt;br /&gt;
&lt;br /&gt;
Das Pairing sollte wie in [[HomeMatic Devices pairen]] beschrieben durchgeführt werden. Die Anlerntaste am Bewegungsmelder sollte hierzu nur kurz betätigt werden. Bei einer Betätigung von vier Sekunden wird der Melder nur bei Unterschreiten einer festgelegten Helligkeitsschwelle auslösen (weitere Informationen siehe Abschnitt &#039;&#039;Anlernen&#039;&#039; der Herstellerdokumentation).&lt;br /&gt;
&lt;br /&gt;
=== Event-Monitor ===&lt;br /&gt;
&lt;br /&gt;
In regelmäßigen Abständen werden die folgenden Daten vom Bewegungsmelder (hier: HM-Sen-MDIR-O-2) übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2014-11-19 16:31:24 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer brightness: 120&lt;br /&gt;
2014-11-19 16:31:24 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer cover: closed&lt;br /&gt;
2014-11-19 16:31:24 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer battery: ok&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird Bewegung erkannt, wird Folgendes vom Gerät (hier: HM-Sen-MDIR-O-2) übermittelt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2014-11-19 16:27:55 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer trigDst_2573FB: noConfig&lt;br /&gt;
2014-11-19 16:27:55 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer motion&lt;br /&gt;
2014-11-19 16:27:55 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer motion: on (to MyHMLAN)&lt;br /&gt;
2014-11-19 16:27:55 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer motionCount: 235_next:116s&lt;br /&gt;
2014-11-19 16:27:55 CUL_HM HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer brightness: 120&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Log-Auszug ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Bitte ergänzen&amp;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 (Beispiel: HM-Sen-MDIR-O-2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer CUL_HM 2B033A&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer IODev MyHMLAN&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer actCycle 000:10&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer actStatus alive&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer autoReadReg 4_reqStatus&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer expert 2_full&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer firmware 1.6&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer model HM-Sen-MDIR-O-2&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer peerIDs 00000000,&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer room CUL_HM&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer serialNr LEQ0xxxxxx&lt;br /&gt;
attr HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer subType motionDetector&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration über Register ===&lt;br /&gt;
==== Anzeige aller dekodierten Register ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;get &amp;amp;lt;name&amp;amp;gt; regList&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
zeigt alle moeglichen &#039;dekodierten&#039; Register an. Fuer mdir sind dies alle, sollte also komplett sein. Hier findet man sowohl den Wertebereich alsauch eine (sehr) kleine Beschreibung.&lt;br /&gt;
Ausgabe:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
list:         register | range              | peer     | description&lt;br /&gt;
   0: pairCentral      |   0 to 16777215    |          | pairing to central&lt;br /&gt;
   1: brightFilter     |   0 to 7           |          | brightness filter - ignore light at night&lt;br /&gt;
   1: captInInterval   |     literal        |          | capture within interval options:on,off&lt;br /&gt;
   1: evtFltrNum       |   1 to 15          |          | sensitivity - read each n-th puls&lt;br /&gt;
   1: evtFltrPeriod    | 0.5 to 7.5s        |          | event filter period&lt;br /&gt;
   1: ledOnTime        |   0 to 1.275s      |          | LED ontime&lt;br /&gt;
   1: minInterval      |     literal        |          | minimum interval in sec options:240,60,120,30,15&lt;br /&gt;
   4: peerNeedsBurst   |     literal        | required | peer expects burst options:on,off&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;minInterval&lt;br /&gt;
: Minimaler Interval in Sekunden ab wann die nächste Bewegung registriert werden kann. Der Standard ist 240. Also nach einer Bewegungs-Meldung werden weitere Bewegungen für 4 Minuten ignoriert bis die nächste Meldung erfolgt.&lt;br /&gt;
;brightFilter&lt;br /&gt;
: Filtert Bewegungen nach Helligkeit aus. 0 Filtert nichts aus, d.h. es wird auch bei Helligkeit gemeldet. 7 Filtert bis 10 Lux? alles aus, daher werden Bewegungen nur bei Dunkelheit gemeldet.&lt;br /&gt;
;evtFltrNum&lt;br /&gt;
: Filtert Bewegungen aus. Steht dieser Wert z.B. auf 5 so wird erst bei der fünften Bewegung die Meldung gesendet.&lt;br /&gt;
;evtFltrPeriod&lt;br /&gt;
: Gibt an wie viel Zeit zwischen zwei Bewegungen vergehen muss um für den evtFltrNum Filter gezählt zu werden. Steht dieser Wert auf 1 und evtFltrNum auf 5 so muss der Sensor  5 Sekunden Bewegungen registrieren um eine Meldung zu senden.&lt;br /&gt;
&lt;br /&gt;
=== Einsatzbeispiele (per Notify) ===&lt;br /&gt;
&lt;br /&gt;
==== Gerät bei Bewegung schalten ====&lt;br /&gt;
&lt;br /&gt;
Mit dem folgenden [[Notify]] kann z. B ein [[HM-LC-SW1-FM Schaltaktor 1-fach UP|Unterputz-Schaltaktor]] für die angegebene Zeit (in Sekunden) eingeschaltet werden - ein [[Homematic Peering Beispiele|Peeren]] ist dazu vorher nicht erforderlich. Das Einschalten passiert in diesem Beispiel unabhängig von der Helligkeit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Notify_Bewegungsmelder_Haustuer notify HM_Sen_MDIR_O_2_2B033A_BewegMelderHaustuer:motion set HM_LC_SW1_FM_298FB2_HaustuerLicht on-for-timer 300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gerät bei Bewegung und Dunkelheit mit minimaler Funklast schalten ====&lt;br /&gt;
&lt;br /&gt;
Das fortgeschrittene Beispiel steuert die Beleuchtung in Abhängigkeit von der Außenhelligkeit und minimiert die Funklast. In diesem Beispiel werden zwei Lichtkreise angesteuert, die die Außenbeleuchtung realisieren:&lt;br /&gt;
&lt;br /&gt;
 define WintergartenAussen structure room EG.Durchgang.Aussenlicht_Sw_03 EG.Durchgang.Aussenlicht_Sw_04&lt;br /&gt;
 &lt;br /&gt;
 define MotionTerasseScheune notify EG.Scheune.OutsideMotionDetect:motion:.* { \&lt;br /&gt;
         if ( Value(&amp;quot;EG.Durchgang.Aussenlicht_Sw_03&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal( &amp;quot;EG.Scheune.OutsideMotionDetect&amp;quot;, &amp;quot;brightness&amp;quot;, &amp;quot;&amp;quot;) &amp;lt;= 90 ) { \&lt;br /&gt;
                 fhem (&amp;quot;set WintergartenAussen on ;; define MWG_AUS at +00:05:00 set WintergartenAussen off&amp;quot;) } \&lt;br /&gt;
         else { \&lt;br /&gt;
                 fhem (&amp;quot;delete MWG_AUS ;; define MWG_AUS at +00:05:00 set WintergartenAussen off&amp;quot; ) } }&lt;br /&gt;
 &lt;br /&gt;
 define MotionTerasseDurchgang notify EG.Durchgang.OutsideMotionDetect:motion:.* { \&lt;br /&gt;
         if ( Value(&amp;quot;EG.Durchgang.Aussenlicht_Sw_03&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal( &amp;quot;EG.Durchgang.OutsideMotionDetect&amp;quot;, &amp;quot;brightness&amp;quot;, &amp;quot;&amp;quot;) &amp;lt;= 90 ) { \&lt;br /&gt;
                 fhem (&amp;quot;set WintergartenAussen on ;; define MWG_AUS at +00:05:00 set WintergartenAussen off&amp;quot;) } \&lt;br /&gt;
         else { \&lt;br /&gt;
                 fhem (&amp;quot;delete MWG_AUS ;; define MWG_AUS at +00:05:00 set WintergartenAussen off&amp;quot; ) } }&lt;br /&gt;
&lt;br /&gt;
Es werden zwei notify-Kommandos definiert, die von zwei verschiedenen Bewegungsmeldern (EG.Scheune.OutsideMotionDetect und EG.Durchgang.OutsideMotionDetect) getriggert werden. Beide aktivieren das Licht nur, wenn es derzeit &#039;&#039;&#039;aus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 (Value(&amp;quot;EG.Durchgang.Aussenlicht_Sw_03&amp;quot;) eq &amp;quot;off)&lt;br /&gt;
&lt;br /&gt;
und &#039;&#039;&#039;dunkel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 (ReadingsVal( &amp;quot;EG.Durchgang.OutsideMotionDetect&amp;quot;, &amp;quot;brightness&amp;quot;, &amp;quot;&amp;quot;) &amp;lt;= 90 ))&lt;br /&gt;
&lt;br /&gt;
ist.&lt;br /&gt;
&lt;br /&gt;
Da die Bewegungsmelder bei jeder weiteren Bewegung neue &#039;&#039;&#039;on-for-timer&#039;&#039;&#039;-Kommandos triggern würden, ist die Lösung mit dem at-Befehl eleganter. Dieser löscht und verzögert die Ausschaltzeit nur auf dem fhem-Server ohne Funkkommunikation.&lt;br /&gt;
&lt;br /&gt;
Die Schalter sind in diesem Beispiel EG.Durchgang.Aussenlicht_Sw_03 EG.Durchgang.Aussenlicht_Sw_04 zwei Kanäle des Hutschienen-4-Kanal-230V-Aktors. Beide sind in in einer structure namens &#039;&#039;&#039;WintergartenAussen&#039;&#039;&#039; zusammengefasst. Es ist dringend empfohlen, diesen beim Schalten von Außenbeleuchtung mit einem LS/FS-Schutz (16A+0.03A) für jeden Kanal abzusichern. Das ganze kann sehr adrett in einen 8-Einheiten-Verteilerkasten in Unterputz- oder Aufputz-Verschaltung realisiert werden.&lt;br /&gt;
&lt;br /&gt;
==== Gerät bei Bewegung in Abhängigkeit der Helligkeit schalten ====&lt;br /&gt;
&lt;br /&gt;
Mit der nachfolgenden Notify-Definition werden zwei Log-Einträge erzeugt, eine Meldung auf der [[Enigma2 Receiver (Dreambox, VUplus etc.) steuern|Dreambox]] angezeigt, falls diese angeschaltet ist, und ein [[HM-LC-SW1-FM Schaltaktor 1-fach UP|Unterputz-Schaltaktor]] für die angegebene Zeit (in Sekunden) eingeschaltet, falls die gemessene Helligkeit am Bewegungsmelder kleiner oder gleich 90 ist.&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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HM_BewegMelder_Carport:motion { &lt;br /&gt;
    Log 1, &amp;quot;Trigger-Notify von BewegMelderCarport: @&amp;quot;;&lt;br /&gt;
    Log 1, ReadingsVal( &amp;quot;HM_BewegMelder_Carport&amp;quot;, &amp;quot;brightness&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
    fhem( &amp;quot;set E2_Dreambox showText Bewegung am Carport&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;
    if ( ReadingsVal( &amp;quot;HM_BewegMelder_Carport&amp;quot;, &amp;quot;brightness&amp;quot;, &amp;quot;&amp;quot;) &amp;lt;= 90 ) {&lt;br /&gt;
        fhem( &amp;quot;set HM_Sw1_GarageLED on-for-timer 300&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einsatzbeispiele (per DOIF) ===&lt;br /&gt;
&lt;br /&gt;
==== Aktor in Abhängigkeit der Helligkeit und innerhalb eines Zeitraums schalten ====&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: [[Twilight]]-Modul&lt;br /&gt;
Die Twilight-Abfragen könnten natürlich auch entfernt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define di_lampe DOIF (&lt;br /&gt;
(&lt;br /&gt;
	[sensor:brightness] &amp;lt; 120 and&lt;br /&gt;
	[?[twilight:ss_indoor]-23:59]&lt;br /&gt;
)&lt;br /&gt;
	(set lampe on)&lt;br /&gt;
DOELSEIF &lt;br /&gt;
(&lt;br /&gt;
	[sensor:brightness] &amp;gt; 80 and&lt;br /&gt;
	[?04:00-[twilight:sr_indoor]]&lt;br /&gt;
)&lt;br /&gt;
	(set lampe off)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Aktor bei Bewegung einschalten (inkl. weiterer Gimmicks) ====&lt;br /&gt;
&lt;br /&gt;
Benötigte Module: [[Twilight]] und [[Anwesenheitserkennung|Residents]]&lt;br /&gt;
&lt;br /&gt;
Die Zeilen zum Residents und Twilight-Modul könnten natürlich auch entfernt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define di_lampe2 DOIF (&lt;br /&gt;
(&lt;br /&gt;
	(&lt;br /&gt;
		## Bewegungsmelder löst aus&lt;br /&gt;
		[sensor:?motion] and&lt;br /&gt;
		## nur wenn Lampe nicht zuvor manuell eingeschaltet wurde&lt;br /&gt;
		[lampe:state] ne &amp;quot;on&amp;quot; and&lt;br /&gt;
		## und wenn es nicht sowieso hell genug ist.&lt;br /&gt;
		[?sensor:brightness] &amp;lt; 50&lt;br /&gt;
	) &lt;br /&gt;
	and&lt;br /&gt;
	(&lt;br /&gt;
		## entweder immer nachts&lt;br /&gt;
		[?00:00-[twilight:sr_civil]] or&lt;br /&gt;
		## oder wenn niemand daheim&lt;br /&gt;
		[?rgr_Residents] ne &amp;quot;home&amp;quot;&lt;br /&gt;
	)&lt;br /&gt;
) &lt;br /&gt;
	(set lampe2 on-for-timer 180)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sonstiges ===&lt;br /&gt;
&lt;br /&gt;
==== Anzeige der Uhrzeit der letzten Bewegung ====&lt;br /&gt;
&lt;br /&gt;
Möchte man den Zeitpunkt der letzten erfassten Bewegung in der GUI sehen, so muss hierzu folgendes Attribut gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attr Sensor showtime 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Geräte verfügen über keinen Sabotage-Kontakt.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Manual: [http://www.eq-3.de/Downloads/eq3/pdf_produkte/104108_HM-Sen-MDIR-O_V1.2_GE_eQ-3_20120510.pdf PDF HM-Sen-MDIR-O],&lt;br /&gt;
[http://www.eq-3.de/Downloads/eq3/pdf_produkte/HM-Sen-MDIR-O-2_UM_GE_131024.pdf PDF HM-Sen-MDIR-O-2]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Lichtsensoren]]&lt;br /&gt;
[[Kategorie:Bewegungs- und Anwesenheitsmelder]]&lt;/div&gt;</summary>
		<author><name>FunkOdyssey</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=12245</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=12245"/>
		<updated>2015-09-23T15:26:47Z</updated>

		<summary type="html">&lt;p&gt;FunkOdyssey: /* Anzeige des Zeitpunkts der letzten Öffnung im STATE */&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;
=== Anzeige des Zeitpunkts der letzten Öffnung im STATE ===&lt;br /&gt;
&lt;br /&gt;
Das Reading &#039;&#039;contact&#039;&#039; beinhaltet die Zustände &#039;&#039;open&#039;&#039; und &#039;&#039;closed&#039;&#039;. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs &#039;&#039;showtime&#039;&#039; hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den, der letzten Öffnung.&lt;br /&gt;
&lt;br /&gt;
Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten &#039;&#039;open&#039;&#039; verleibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attr Sensor stateFormat {if (ReadingsVal(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;) =~ &amp;quot;open.*&amp;quot;) {&amp;quot;open &amp;quot; . ReadingsTimestamp(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;)} else {InternalVal(&amp;quot;Sensor&amp;quot;,&amp;quot;STATE&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein dazu themenbezogener Thread wäre beispielsweise dieser hier: [http://forum.fhem.de/index.php/topic,41347.msg335825.html HM-SEC-SCo: Letzte Türöffnung im State anzeigen? ]&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>FunkOdyssey</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-Sec-SCo_T%C3%BCr-Fensterkontakt,_optisch&amp;diff=12244</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=12244"/>
		<updated>2015-09-23T15:24:45Z</updated>

		<summary type="html">&lt;p&gt;FunkOdyssey: Anzeige des Zeitpunkts der letzten Öffnung im STATE&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;
=== Anzeige des Zeitpunkts der letzten Öffnung im STATE ===&lt;br /&gt;
&lt;br /&gt;
Das Reading &#039;&#039;contact&#039;&#039; beinhaltet die Zustände &#039;&#039;open&#039;&#039; und &#039;&#039;closed&#039;&#039;. Und der Zeitstempel der Änderung wird regelmäßig aktualisiert. Aus diesem Grund fällt die Nutzung des Attributs &#039;&#039;showtime&#039;&#039; hier weg. Wenigstens, wenn man nicht den Zeitpunkt des letzten Auslesens wissen will, sondern den, der letzten Öffnung.&lt;br /&gt;
&lt;br /&gt;
Folgende Schreibweise ermöglicht es, dass im STATE-Internal der Zeitpunkt des letzten &#039;&#039;open&#039;&#039; verleibt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attr Sensor stateFormat {if (ReadingsVal(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;) =~ &amp;quot;open.*&amp;quot;) {&amp;quot;open &amp;quot; . ReadingsTimestamp(&amp;quot;Sensor&amp;quot;,&amp;quot;contact&amp;quot;,&amp;quot;&amp;quot;)} else {InternalVal(&amp;quot;Sensor&amp;quot;,&amp;quot;STATE&amp;quot;,&amp;quot;&amp;quot;)}}&lt;br /&gt;
&amp;lt;/pre&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>FunkOdyssey</name></author>
	</entry>
</feed>