<?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=Krikan</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=Krikan"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Krikan"/>
	<updated>2026-04-14T21:01:05Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=40679</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=40679"/>
		<updated>2026-01-07T19:56:00Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Einsteiger-PDF aus 2014 nicht mehr Pflichtlektüre&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für wichtige Mitteilungen ---------              &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf FHEM-Dienste (Forum, SVN, Wiki, fhem.de, Alexa FHEM Connector) kommen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot;&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|Hauptkategorien dieses Wikis]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM]&amp;lt;br /&amp;gt;Einsteiger-PDF (Feb. 2014)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|Hauptkategorien dieses Wikis]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40675</id>
		<title>MediaWiki:Mobile.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40675"/>
		<updated>2026-01-06T08:01:57Z</updated>

		<summary type="html">&lt;p&gt;Krikan: wordmark - grün ist zurück&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Nutzer der mobilen Ansicht geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        /*background-image: none; */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark {&lt;br /&gt;
		color: #52865D ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Hauptseite.action-view h1.firstHeading, body.page-Hauptseite.action-submit h1.firstHeading { display: none; }&lt;br /&gt;
&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40674</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40674"/>
		<updated>2026-01-06T07:59:54Z</updated>

		<summary type="html">&lt;p&gt;Krikan: wordmark - grün ist zurück&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
/* general FHEM styling */&lt;br /&gt;
body,#mw-panel,#mw-page-base {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        vertical-gradient: !important unset;&lt;br /&gt;
        background-image: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark {&lt;br /&gt;
		color: #52865D ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mainpage box styling */&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* flexbox styling for image popups */&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40672</id>
		<title>MediaWiki:Mobile.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40672"/>
		<updated>2026-01-05T19:25:52Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Annäherung an mediawiki-Standard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Nutzer der mobilen Ansicht geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        /*background-image: none; */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Hauptseite.action-view h1.firstHeading, body.page-Hauptseite.action-submit h1.firstHeading { display: none; }&lt;br /&gt;
&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40671</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40671"/>
		<updated>2026-01-05T19:24:20Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Annäherung an mediawiki-Standard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
/* general FHEM styling */&lt;br /&gt;
body,#mw-panel,#mw-page-base {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        vertical-gradient: !important unset;&lt;br /&gt;
        background-image: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mainpage box styling */&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* flexbox styling for image popups */&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40627</id>
		<title>MediaWiki:Mobile.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Mobile.css&amp;diff=40627"/>
		<updated>2026-01-02T12:59:04Z</updated>

		<summary type="html">&lt;p&gt;Krikan: CSS-Eigenschaften für alte Browser entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Nutzer der mobilen Ansicht geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a, a:visited, a:active, a.external, a.external:active, a.external:visited {&lt;br /&gt;
        color: #175717;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a:hover {&lt;br /&gt;
        color: #672727;&lt;br /&gt;
        text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        /*background-image: none; */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.page-Hauptseite.action-view h1.firstHeading, body.page-Hauptseite.action-submit h1.firstHeading { display: none; }&lt;br /&gt;
&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40626</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Common.css&amp;diff=40626"/>
		<updated>2026-01-02T12:58:00Z</updated>

		<summary type="html">&lt;p&gt;Krikan: CSS-Eigenschaften für alte Browser entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */&lt;br /&gt;
/* @body-background-color: #ffffe7;*/&lt;br /&gt;
&lt;br /&gt;
/* general FHEM styling */&lt;br /&gt;
body,#mw-panel,#mw-page-base {&lt;br /&gt;
        background-color: #ffffe7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
        background-color: #ffffff;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
        vertical-gradient: !important unset;&lt;br /&gt;
        background-image: unset;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a, a:visited, a:active, a.external, a.external:active, a.external:visited {&lt;br /&gt;
        color: #175717;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a:hover {&lt;br /&gt;
        color: #672727;&lt;br /&gt;
        text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
    margin-top: 1.5em !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* mainpage box styling */&lt;br /&gt;
.mainpagebox {&lt;br /&gt;
 border: .125em solid #dfdfdf;&lt;br /&gt;
 border-radius: .4em;&lt;br /&gt;
 padding: .4em;&lt;br /&gt;
 flex: 1 1 40%;&lt;br /&gt;
 margin: .4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* flexbox styling for image popups */&lt;br /&gt;
.flexbox {&lt;br /&gt;
 display: flex;&lt;br /&gt;
 flex-flow: row wrap;&lt;br /&gt;
 justify-content: space-around;&lt;br /&gt;
 align-items: stretch;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MediaWiki:Sidebar&amp;diff=40617</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MediaWiki:Sidebar&amp;diff=40617"/>
		<updated>2026-01-01T14:07:01Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Vorbereitung mediawiki-Update -&amp;gt; Anzeigeprobleme durch Verschiebung TOOLBOX verhindern&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Kategorie:Hauptkategorie|Kategorienbaum&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* Mitmachen&lt;br /&gt;
** FHEMWiki:Support|Unterstütze uns&lt;br /&gt;
** Kategorie:NeedsEditing|Artikel verbessern&lt;br /&gt;
* LANGUAGES&lt;br /&gt;
* FHEM commandref&lt;br /&gt;
** https://fhem.de/commandref.html|EN&lt;br /&gt;
** https://fhem.de/commandref_DE.html|DE&lt;br /&gt;
* FHEM Links&lt;br /&gt;
** https://fhem.de|fhem.de&lt;br /&gt;
** https://forum.fhem.de|Forum&lt;br /&gt;
** https://svn.fhem.de|SVN&lt;br /&gt;
** https://verein.fhem.de|Verein&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=40616</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=40616"/>
		<updated>2026-01-01T14:03:25Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Vorbereitung mediawiki-Update -&amp;gt; kein Inhaltsverzeichnis auf Hauptseite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für wichtige Mitteilungen ---------              &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf FHEM-Dienste (Forum, SVN, Wiki, fhem.de, Alexa FHEM Connector) kommen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;left&amp;quot;&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|Hauptkategorien dieses Wikis]]&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Datei:Info_green.png|20px]][https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM][[Datei:Info_green.png|20px]]&amp;lt;br /&amp;gt;DAS Einsteiger-PDF. &#039;&#039;&#039;Pflichtlektüre!&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|Hauptkategorien dieses Wikis]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40607</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40607"/>
		<updated>2025-12-29T09:36:24Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Installation per Skript */  powershell &amp;quot;-ExecutionPolicy Bypass&amp;quot; ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
==Manuelle Installation==&lt;br /&gt;
===Grundinstallation===&lt;br /&gt;
====Installation FHEM====&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Installation Perl====&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Start von FHEM====&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
====Aufruf des FHEM-Webinterfaces (FHEMWEB)====&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
====Update von FHEM====&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
===Installations-Optionen===&lt;br /&gt;
====Installation von FHEM als Dienst====&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Installation per Skript==&lt;br /&gt;
Folgendes Skript &amp;quot;fhem_install.bat&amp;quot; installiert FHEM mit allen Installationsoptionen (PATH-Erweiterung, Dienstinstallation) auf dem internen Laufwerk C. Das Skript muss mit Administratorrechten ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_install.bat&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis (sollte keine Leer- oder Sonderzeichen enthalten und nicht zu lang sein) und Download-URLs festlegen&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
set &amp;quot;FHEMURL=https://fhem.de/fhem-6.4.zip&amp;quot;&lt;br /&gt;
set &amp;quot;STRAWBERRYPERLURL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis anlegen&lt;br /&gt;
if exist &amp;quot;%INSTALLDIR%&amp;quot; (&lt;br /&gt;
  echo Fehler: Installationsverzeichnis &amp;quot;%INSTALLDIR%&amp;quot; existiert bereits. Abbruch.&lt;br /&gt;
  exit /b 1&lt;br /&gt;
)&lt;br /&gt;
md %INSTALLDIR%&lt;br /&gt;
cd %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM download and install&lt;br /&gt;
curl -o &amp;quot;fhem.zip&amp;quot; %FHEMURL%&lt;br /&gt;
tar -xf fhem.zip --strip-components=1&lt;br /&gt;
del fhem.zip&lt;br /&gt;
&lt;br /&gt;
rem -- strawberryperl download and install&lt;br /&gt;
curl -L -o &amp;quot;perl.zip&amp;quot; %STRAWBERRYPERLURL%&lt;br /&gt;
tar -xf perl.zip&lt;br /&gt;
del perl.zip&lt;br /&gt;
&lt;br /&gt;
rem -- Alle folgenden Abschnitte benötigen zwingend Admin-Rechte!&lt;br /&gt;
&lt;br /&gt;
rem -- Firewall-Regeln anlegen&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=TCP&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=UDP&lt;br /&gt;
&lt;br /&gt;
rem -- PATH Umgebungsvariable für strawberryperl (dauerhaft) erweitern statt portableshell.bat zu starten&lt;br /&gt;
powershell -NoProfile -ExecutionPolicy Bypass -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM-Dienst installieren und starten&lt;br /&gt;
set PATH=%PATH%;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&lt;br /&gt;
perl fhem.pl fhem.cfg -i&lt;br /&gt;
net start fhem&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Ausführung des Skriptes kann FHEM direkt genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Das nachfolgende als Administrator auszuführende Skript &amp;quot;fhem_uninstall.bat&amp;quot; entfernt die Installation von FHEM und alle geänderten Einstellungen in Windows wieder. ACHTUNG: Datensicherung vorab nicht vergessen. Das Skript entfernt alles ohne Sicherheitsabfragen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_uninstall.bat&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM Dienst stoppen und entfernen&lt;br /&gt;
perl fhem.pl -u&lt;br /&gt;
net stop fhem&lt;br /&gt;
sc delete fhem&lt;br /&gt;
  &lt;br /&gt;
rem -- Firewall-Regeln entfernen&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot;&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- PowerShell: PATH für aktuelle Session und machine-Umgebungsvariable zurücksetzen&lt;br /&gt;
powershell -NoProfile -ExecutionPolicy Bypass -Command ^&lt;br /&gt;
  &amp;quot;$oldPaths = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = $machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$filtered = $parts | Where-Object { $_ -notin $oldPaths.Split(&#039;;&#039;) };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $filtered -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Process&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM/Perl-Verzeichnisse und Dateien löschen&lt;br /&gt;
rmdir /s /q %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=40599</id>
		<title>Vorlage:FHEMWiki News</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=40599"/>
		<updated>2025-12-28T12:18:03Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Hinweis auf neue Widgets-(Wiki-Seiten)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|28.12.2025|Neue [[FHEMWEB/Widgets|Widgets]]: [[FHEMWEB/ControlMiniDash]], [[FHEMWEB/iconAnimated]] und [[FHEMWEB/MiniChart]] }}&lt;br /&gt;
{{News|29.03.2025|FHEM Version 6.4 wurde freigegeben. {{Link2Forum|Topic=141252|LinkText=Ankündigung}}.}}&lt;br /&gt;
{{News|04.04.2024|Umstellung des FHEMWiki-Standardskin (&amp;quot;Style&amp;quot;) von &#039;Vector alt (2010)&#039; auf &#039;Vector (2022)&#039; um eine bessere Benutzbarkeit auf mobilen Geräten bei nicht registrierten Benutzern zu erreichen. Registrierte Benutzer können unter Einstellungen/Aussehen den Skin selbst ändern. {{Link2Forum|Topic=137399}}}}&lt;br /&gt;
{{News|28.01.2024|FHEM Version 6.3 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=136851|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.08.2023|[[AutomowerConnect#Tablet-UI%3FFTUI_Version_3|FTUI3 AutomowerConnect]] Karte des Mähbereiches einbinden. }}&lt;br /&gt;
{{News|28.06.2023|[[AutomowerConnect#Tablet-UI%2FFTUI_Version_2|FTUI2 Widget &#039;automowerconnect&#039;]] für das Modul 74_AutomowerConnect.pm. }}&lt;br /&gt;
{{News|06.04.2023|FHEM Wiki ist auf einen neuen Server umgezogen und läuft jetzt auf aktueller Software. Es gibt neue Skins für Mobilgeräte Unterstützung. }}&lt;br /&gt;
{{News|25.01.2023|Neues Modul - [[AutomowerConnect|74_AutomowerConnect.pm]] zur Bedienung von Husqvarnas Mähroboter über Husqvarnas Open API {{Link2Forum|Topic=131661|LinkText=Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.01.2023|FHEM Version 6.2 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=131618|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|08.11.2021|FHEM Version 6.1 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=123972|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|25.05.2021|Ein weiteres Modul zur Integration von Diensten der Synology Diskstation wird per Update verteilt: [[SSFile - Integration der Synology File Station|SSFile]].}}&lt;br /&gt;
{{News|28.02.2020|Das neue Modul [[SSCal - Integration des Synology Calendar Servers| SSCal]] ermöglicht die Integration des Synology Calendar Servers.}}&lt;br /&gt;
{{News|28.01.2020|Neues Modul für die IP-Türsprechanlage [[DoorBird]] per Update verteilt.}}}}&lt;br /&gt;
{{News|26.01.2020|FHEM Version 6.0 wurde freigegeben. Updatehinweise: {{Link2Forum|Topic=107782}}}}&lt;br /&gt;
{{News|17.12.2019|Mit dem Modul [[SSChatBot - Integration des Synology Chat Servers|SSChatBot]] kann der Synology Chat Server in FHEM integriert werden. Es können Mitteilungen zwischen FHEM und Chat ausgetauscht sowie Befehle in FHEM ausgeführt werden. }}&lt;br /&gt;
{{News|23.09.2019|Das Modul [[CanOverEthernet]] ermöglicht das Empfangen von Can-Over-Ethernet Paketen von Steuerungen der Firma Technische Alternative}}&lt;br /&gt;
{{News|05.04.2019|Das [[SamsungAV]] Modul ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.}}&lt;br /&gt;
{{News|06.03.2019|Mit dem Modul [[Arlo]] ist die Einbindung von Arlo Kameras über die Arlo Cloud möglich}}&lt;br /&gt;
{{News|26.01.2019|Das [[TRÅDFRI|tradfri]] Modul erweitert die Palette der [[ZigBee]] Module.}}&lt;br /&gt;
{{News|14.01.2019|Der [[FHEM Connector für Amazon Alexa|FHEM Connector]] Skill für Amazon Alexa ist verfügbar.}}&lt;br /&gt;
{{News|02.11.2018|Das Modul [[TA_CMI_UVR16x2_UVR1611|TA_CMI_JSON]] kann Werte des C.M.I. der Firma Technische Alternative auslesen und eignet sich so optimal zum Loggen von Daten zB der UVR16x2 oder UVR1611.}}&lt;br /&gt;
{{News|11.09.2018|Mit dem Modul [[AutoShuttersControl|AutoShuttersControl]] oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.  }}&lt;br /&gt;
{{News|12.02.2018|Die Module [[Modul Babble|Babble]] und [[Talk2Fhem|Talk2Fhem]] erweitern die Sprachsteuerungsmöglichkeiten von FHEM}}&lt;br /&gt;
{{News|02.10.2017|[[FTUI eigene Widgets|Eigene Widgets für FHEM Tablet UI erstellen]]}}&lt;br /&gt;
{{News|30.08.2017|[[WINCONNECT]] - Windows PC steuern und Informationen abfragen/anzeigen. }}&lt;br /&gt;
{{News|24.08.2017|[[FHEMWEB/Widgets]] - Widgets (Frontendelemente) von FHEMWEB }}&lt;br /&gt;
{{News|24.08.2017|Neues Modul [[Modul_YAAHM|YAAHM]] wird per update verteilt. Es stellt eine Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren}}&lt;br /&gt;
{{News|24.07.2017|[[Telnet|Verbindung mit dem FHEM-Server per Telnet]]}}&lt;br /&gt;
{{News|20.07.2017|[[FHEM startet nicht - Tipps zur Fehlersuche]]}}&lt;br /&gt;
{{News|06.06.2017|[[‎Relaisplatine-Homebrew-MySensors|MySensors-Relaisplatine im Selbstbau]]}}&lt;br /&gt;
{{News|31.05.2017|[[Datenbankgestützte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_Überschußeinspeisung|Datenbankgestützte Erstellung der Energiebilanz einer PV-Anlage mit Überschußeinspeisung]]}}&lt;br /&gt;
{{News|30.04.2017|[[DoorPiBoard]]: Eine Platine zur Umsetzung des [[DoorPi_und FHEM|DoorPi-Projektes]]}}&lt;br /&gt;
{{News|21.03.2017|Artikel zum alternativen Frontend [[:Kategorie:FHEM_Tablet_UI|Tablet UI]] aktualisiert und deutlich erweitert}}&lt;br /&gt;
{{News|02.03.2017|Neues Modul zur Ansteuerung von [[LGTV_WebOS|LG-TVs mit dem Betriebssystem WebOS]] wird per update verteilt}}&lt;br /&gt;
{{News|20.02.2017|Neues Modul [[SIP-Client|SIP]], ein SIP-Client für FHEM, wird per update verteilt}}&lt;br /&gt;
{{News|19.02.2017|FHEM Version 5.8 wurde freigegeben. Updatehinweise beachten: {{Link2Forum|Topic=67419}}}}&lt;br /&gt;
{{News|18.01.2017|Neues Modul [[DOIFtools]] mit Funktionen zur Unterstützung des Benutzers im Umgang mit [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|12.01.2017|Neues Modul zur Ansteuerung des Bluetooth 4.1 BLE Pflanzensensors [[XiaomiFlowerSens|Xiaomi Flower Care Smart Monitor]] wird per update ausgeliefert}}&lt;br /&gt;
{{News|01.01.2017|Diverse neue Wiki-Artikel mit Informationen und Hilfen zu [[DOIF#Links|DOIF]] }}&lt;br /&gt;
{{News|10.12.2016|FHEM Wiki ist auf einen neuen Server umgezogen und hat eine neue Standard-Internetadresse: https://wiki.fhem.de}}&lt;br /&gt;
{{News|21.11.2016|Neues Modul [[Modul_PostMe|PostMe]] stellt eine komfortable Oberfläche zur Listenverwaltung bereit}}&lt;br /&gt;
{{News|11.10.2016|Neue Module [[NUKI|NUKIbridge und NUKIDevice]] zur Ansteuerung des Nuki Smartlock werden per update verteilt}}&lt;br /&gt;
{{News|07.10.2016|Neues Modul [[TRAFFIC]] zur Erfassung der Fahrzeiten bei aktueller Verkehrslage mittels Google Maps Directions API wird per update verteilt}}&lt;br /&gt;
{{News|19.07.2016|Neues Modul zur Unterstützung der HomeMatic-Interfaces [[HM-MOD-RPI-PCB_HomeMatic_Funkmodul_für_Raspberry_Pi|Funkmodul für Raspberry Pi]] und [[HM-LGW-O-TW-W-EU_Funk-LAN_Gateway|Funk-LAN Gateway]] wird per update verteilt }}&lt;br /&gt;
{{News|12.07.2016|Neues Modul [[DbRep - Reporting und Management von DbLog-Datenbankinhalten]] wird per update verteilt }}&lt;br /&gt;
{{News|08.02.2016|Neues Modul [[Mediaportal|MEDIAPORTAL]] (Steuerung einer Mediaportal-Installation über Wifiremote) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neues Modul [[HP1000]] (Einbindung einer HP1000 Wetterstation) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neuer FHEM Befehl [[msg]] (Intelligentes Versenden/Routing von Nachrichten der Typen Audio,Text,Mail,Push,Light,Screen) wird per update verteilt}}&lt;br /&gt;
{{News|15.11.2015|FHEM Version 5.7 wurde veröffentlicht. Unbedingt Updatehinweise beachten: {{Link2Forum|Topic=44094}}}}&lt;br /&gt;
{{News|30.10.2015|FHEM Wiki unterstützt nun [[Syntax Highlighting]]}}&lt;br /&gt;
{{News|18.10.2015|Neues Modul [[TechemHKV]] (Empfang von Daten eines Techem Heizkostenverteilers) wird per update verteilt}}&lt;br /&gt;
{{News|02.10.2015|Kleiner FHEM-Einsteiger-Kurs als Wiki Artikel unter [[Erste_Schritte_in_fhem|Erste Schritte in FHEM]]}}&lt;br /&gt;
{{News|24.09.2015|Umfangreiche Überarbeitung der Wiki Artikel über [[:Kategorie:panStamp|panStamp Hardware und Software]]}}&lt;br /&gt;
{{News|11.09.2015|Neues Modul [[AMAD]] (Steuern und Informationsanzeige von Android-Geräten) wird per update verteilt}}&lt;br /&gt;
{{News|15.06.2015|Neues Modul [[yowsup]] (WhatsApp Unterstützung) wird per update verteilt}}&lt;br /&gt;
{{News|03.04.2015|Neues Geräte-Modul [[JawboneUp]] wird per update verteilt}}&lt;br /&gt;
{{News|23.03.2015|Neue Geräte-Module [[Modbus]], [[ModbusAttr]] und [[Modbus#Writing_modules_for_devices_using_this_module_as_a_library|ModbusSET]] werden per update verteilt}}&lt;br /&gt;
{{News|10.02.2015|FHEM Wiki ist auf einen neuen Server umgezogen und [[FHEMWiki:Interna#Offene_Probleme|Aktualisierung der MediaWiki-Software]]}}&lt;br /&gt;
{{News|31.01.2015|Neues Geräte-Modul [[Pushbullet]] wird per update verteilt}}&lt;br /&gt;
{{News|14.01.2015|Neues Hilfs-Modul [[CALVIEW]] wird per update verteilt}}&lt;br /&gt;
{{News|08.01.2015|Neues Geräte-Modul [[Buderus_Web_Gateway|km200]] zur Anbindung eines Buderus Web-Gateways wird per update verteilt}}&lt;br /&gt;
{{News|18.12.2014|Neues Geräte-Modul [[SONOS]] wird per update verteilt}}&lt;br /&gt;
{{News|15.12.2014|Überarbeitetes und erweitertes Geräte-Modul [[HTTPMOD]] wird per update verteilt}}&lt;br /&gt;
{{News|10.12.2014|Neues Geräte-Modul [[Vitotronic_200_(Viessmann_Heizungssteuerung)|VCONTROL]] zur Anbindung einer Viessmann Heizung wird per update verteilt}}&lt;br /&gt;
{{News|17.11.2014|Neues Hilfs-Modul [[logProxy]] wird per update verteilt}}&lt;br /&gt;
{{News|09.11.2014|FHEM Version 5.6 wurde veröffentlicht}}&lt;br /&gt;
{{News|27.10.2014|Neues Geräte-Modul [[harmony]] zur FHEM-Anbindung Logitech Harmony Hub basierter Fernbedienungen wird per update verteilt}}&lt;br /&gt;
{{News|25.10.2014|Neues Geräte-Modul [[KostalPiko|KOSTALPIKO]] wird per update verteilt}}&lt;br /&gt;
{{News|24.10.2014|Neues Hilfs-Modul [[HourCounter]] wird per update verteilt}}&lt;br /&gt;
{{News|06.09.2014|Neues Hilfs-Modul [[CustomReadings]] per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Neues Hilfs-Modul [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Der Befehl [[update]] wurde überarbeitet: {{Link2Forum|Topic=26311}} }}&lt;br /&gt;
{{News|13.08.2014|Zusätzliche Domäne fhem.org aktiviert: {{Link2Forum|Topic=26113}} }}&lt;br /&gt;
{{News|29.09.2013|FHEM Version 5.5 wurde veröffentlicht}}&lt;br /&gt;
{{News|11.05.2013|Die meisten Daten aus dem FhemWiki sind wieder hergestellt.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki wird neu aufgebaut.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki Update zu  [[Special:Version|MediaWiki 1.20.5]].}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategorie:Vorlage]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=40598</id>
		<title>Vorlage:FHEMWiki News</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=40598"/>
		<updated>2025-12-28T12:06:58Z</updated>

		<summary type="html">&lt;p&gt;Krikan: FHEM 6.4 Ankündigung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|29.03.2025|FHEM Version 6.4 wurde freigegeben. {{Link2Forum|Topic=141252|LinkText=Ankündigung}}.}}&lt;br /&gt;
{{News|04.04.2024|Umstellung des FHEMWiki-Standardskin (&amp;quot;Style&amp;quot;) von &#039;Vector alt (2010)&#039; auf &#039;Vector (2022)&#039; um eine bessere Benutzbarkeit auf mobilen Geräten bei nicht registrierten Benutzern zu erreichen. Registrierte Benutzer können unter Einstellungen/Aussehen den Skin selbst ändern. {{Link2Forum|Topic=137399}}}}&lt;br /&gt;
{{News|28.01.2024|FHEM Version 6.3 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=136851|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.08.2023|[[AutomowerConnect#Tablet-UI%3FFTUI_Version_3|FTUI3 AutomowerConnect]] Karte des Mähbereiches einbinden. }}&lt;br /&gt;
{{News|28.06.2023|[[AutomowerConnect#Tablet-UI%2FFTUI_Version_2|FTUI2 Widget &#039;automowerconnect&#039;]] für das Modul 74_AutomowerConnect.pm. }}&lt;br /&gt;
{{News|06.04.2023|FHEM Wiki ist auf einen neuen Server umgezogen und läuft jetzt auf aktueller Software. Es gibt neue Skins für Mobilgeräte Unterstützung. }}&lt;br /&gt;
{{News|25.01.2023|Neues Modul - [[AutomowerConnect|74_AutomowerConnect.pm]] zur Bedienung von Husqvarnas Mähroboter über Husqvarnas Open API {{Link2Forum|Topic=131661|LinkText=Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.01.2023|FHEM Version 6.2 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=131618|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|08.11.2021|FHEM Version 6.1 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=123972|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|25.05.2021|Ein weiteres Modul zur Integration von Diensten der Synology Diskstation wird per Update verteilt: [[SSFile - Integration der Synology File Station|SSFile]].}}&lt;br /&gt;
{{News|28.02.2020|Das neue Modul [[SSCal - Integration des Synology Calendar Servers| SSCal]] ermöglicht die Integration des Synology Calendar Servers.}}&lt;br /&gt;
{{News|28.01.2020|Neues Modul für die IP-Türsprechanlage [[DoorBird]] per Update verteilt.}}}}&lt;br /&gt;
{{News|26.01.2020|FHEM Version 6.0 wurde freigegeben. Updatehinweise: {{Link2Forum|Topic=107782}}}}&lt;br /&gt;
{{News|17.12.2019|Mit dem Modul [[SSChatBot - Integration des Synology Chat Servers|SSChatBot]] kann der Synology Chat Server in FHEM integriert werden. Es können Mitteilungen zwischen FHEM und Chat ausgetauscht sowie Befehle in FHEM ausgeführt werden. }}&lt;br /&gt;
{{News|23.09.2019|Das Modul [[CanOverEthernet]] ermöglicht das Empfangen von Can-Over-Ethernet Paketen von Steuerungen der Firma Technische Alternative}}&lt;br /&gt;
{{News|05.04.2019|Das [[SamsungAV]] Modul ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.}}&lt;br /&gt;
{{News|06.03.2019|Mit dem Modul [[Arlo]] ist die Einbindung von Arlo Kameras über die Arlo Cloud möglich}}&lt;br /&gt;
{{News|26.01.2019|Das [[TRÅDFRI|tradfri]] Modul erweitert die Palette der [[ZigBee]] Module.}}&lt;br /&gt;
{{News|14.01.2019|Der [[FHEM Connector für Amazon Alexa|FHEM Connector]] Skill für Amazon Alexa ist verfügbar.}}&lt;br /&gt;
{{News|02.11.2018|Das Modul [[TA_CMI_UVR16x2_UVR1611|TA_CMI_JSON]] kann Werte des C.M.I. der Firma Technische Alternative auslesen und eignet sich so optimal zum Loggen von Daten zB der UVR16x2 oder UVR1611.}}&lt;br /&gt;
{{News|11.09.2018|Mit dem Modul [[AutoShuttersControl|AutoShuttersControl]] oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.  }}&lt;br /&gt;
{{News|12.02.2018|Die Module [[Modul Babble|Babble]] und [[Talk2Fhem|Talk2Fhem]] erweitern die Sprachsteuerungsmöglichkeiten von FHEM}}&lt;br /&gt;
{{News|02.10.2017|[[FTUI eigene Widgets|Eigene Widgets für FHEM Tablet UI erstellen]]}}&lt;br /&gt;
{{News|30.08.2017|[[WINCONNECT]] - Windows PC steuern und Informationen abfragen/anzeigen. }}&lt;br /&gt;
{{News|24.08.2017|[[FHEMWEB/Widgets]] - Widgets (Frontendelemente) von FHEMWEB }}&lt;br /&gt;
{{News|24.08.2017|Neues Modul [[Modul_YAAHM|YAAHM]] wird per update verteilt. Es stellt eine Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren}}&lt;br /&gt;
{{News|24.07.2017|[[Telnet|Verbindung mit dem FHEM-Server per Telnet]]}}&lt;br /&gt;
{{News|20.07.2017|[[FHEM startet nicht - Tipps zur Fehlersuche]]}}&lt;br /&gt;
{{News|06.06.2017|[[‎Relaisplatine-Homebrew-MySensors|MySensors-Relaisplatine im Selbstbau]]}}&lt;br /&gt;
{{News|31.05.2017|[[Datenbankgestützte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_Überschußeinspeisung|Datenbankgestützte Erstellung der Energiebilanz einer PV-Anlage mit Überschußeinspeisung]]}}&lt;br /&gt;
{{News|30.04.2017|[[DoorPiBoard]]: Eine Platine zur Umsetzung des [[DoorPi_und FHEM|DoorPi-Projektes]]}}&lt;br /&gt;
{{News|21.03.2017|Artikel zum alternativen Frontend [[:Kategorie:FHEM_Tablet_UI|Tablet UI]] aktualisiert und deutlich erweitert}}&lt;br /&gt;
{{News|02.03.2017|Neues Modul zur Ansteuerung von [[LGTV_WebOS|LG-TVs mit dem Betriebssystem WebOS]] wird per update verteilt}}&lt;br /&gt;
{{News|20.02.2017|Neues Modul [[SIP-Client|SIP]], ein SIP-Client für FHEM, wird per update verteilt}}&lt;br /&gt;
{{News|19.02.2017|FHEM Version 5.8 wurde freigegeben. Updatehinweise beachten: {{Link2Forum|Topic=67419}}}}&lt;br /&gt;
{{News|18.01.2017|Neues Modul [[DOIFtools]] mit Funktionen zur Unterstützung des Benutzers im Umgang mit [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|12.01.2017|Neues Modul zur Ansteuerung des Bluetooth 4.1 BLE Pflanzensensors [[XiaomiFlowerSens|Xiaomi Flower Care Smart Monitor]] wird per update ausgeliefert}}&lt;br /&gt;
{{News|01.01.2017|Diverse neue Wiki-Artikel mit Informationen und Hilfen zu [[DOIF#Links|DOIF]] }}&lt;br /&gt;
{{News|10.12.2016|FHEM Wiki ist auf einen neuen Server umgezogen und hat eine neue Standard-Internetadresse: https://wiki.fhem.de}}&lt;br /&gt;
{{News|21.11.2016|Neues Modul [[Modul_PostMe|PostMe]] stellt eine komfortable Oberfläche zur Listenverwaltung bereit}}&lt;br /&gt;
{{News|11.10.2016|Neue Module [[NUKI|NUKIbridge und NUKIDevice]] zur Ansteuerung des Nuki Smartlock werden per update verteilt}}&lt;br /&gt;
{{News|07.10.2016|Neues Modul [[TRAFFIC]] zur Erfassung der Fahrzeiten bei aktueller Verkehrslage mittels Google Maps Directions API wird per update verteilt}}&lt;br /&gt;
{{News|19.07.2016|Neues Modul zur Unterstützung der HomeMatic-Interfaces [[HM-MOD-RPI-PCB_HomeMatic_Funkmodul_für_Raspberry_Pi|Funkmodul für Raspberry Pi]] und [[HM-LGW-O-TW-W-EU_Funk-LAN_Gateway|Funk-LAN Gateway]] wird per update verteilt }}&lt;br /&gt;
{{News|12.07.2016|Neues Modul [[DbRep - Reporting und Management von DbLog-Datenbankinhalten]] wird per update verteilt }}&lt;br /&gt;
{{News|08.02.2016|Neues Modul [[Mediaportal|MEDIAPORTAL]] (Steuerung einer Mediaportal-Installation über Wifiremote) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neues Modul [[HP1000]] (Einbindung einer HP1000 Wetterstation) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neuer FHEM Befehl [[msg]] (Intelligentes Versenden/Routing von Nachrichten der Typen Audio,Text,Mail,Push,Light,Screen) wird per update verteilt}}&lt;br /&gt;
{{News|15.11.2015|FHEM Version 5.7 wurde veröffentlicht. Unbedingt Updatehinweise beachten: {{Link2Forum|Topic=44094}}}}&lt;br /&gt;
{{News|30.10.2015|FHEM Wiki unterstützt nun [[Syntax Highlighting]]}}&lt;br /&gt;
{{News|18.10.2015|Neues Modul [[TechemHKV]] (Empfang von Daten eines Techem Heizkostenverteilers) wird per update verteilt}}&lt;br /&gt;
{{News|02.10.2015|Kleiner FHEM-Einsteiger-Kurs als Wiki Artikel unter [[Erste_Schritte_in_fhem|Erste Schritte in FHEM]]}}&lt;br /&gt;
{{News|24.09.2015|Umfangreiche Überarbeitung der Wiki Artikel über [[:Kategorie:panStamp|panStamp Hardware und Software]]}}&lt;br /&gt;
{{News|11.09.2015|Neues Modul [[AMAD]] (Steuern und Informationsanzeige von Android-Geräten) wird per update verteilt}}&lt;br /&gt;
{{News|15.06.2015|Neues Modul [[yowsup]] (WhatsApp Unterstützung) wird per update verteilt}}&lt;br /&gt;
{{News|03.04.2015|Neues Geräte-Modul [[JawboneUp]] wird per update verteilt}}&lt;br /&gt;
{{News|23.03.2015|Neue Geräte-Module [[Modbus]], [[ModbusAttr]] und [[Modbus#Writing_modules_for_devices_using_this_module_as_a_library|ModbusSET]] werden per update verteilt}}&lt;br /&gt;
{{News|10.02.2015|FHEM Wiki ist auf einen neuen Server umgezogen und [[FHEMWiki:Interna#Offene_Probleme|Aktualisierung der MediaWiki-Software]]}}&lt;br /&gt;
{{News|31.01.2015|Neues Geräte-Modul [[Pushbullet]] wird per update verteilt}}&lt;br /&gt;
{{News|14.01.2015|Neues Hilfs-Modul [[CALVIEW]] wird per update verteilt}}&lt;br /&gt;
{{News|08.01.2015|Neues Geräte-Modul [[Buderus_Web_Gateway|km200]] zur Anbindung eines Buderus Web-Gateways wird per update verteilt}}&lt;br /&gt;
{{News|18.12.2014|Neues Geräte-Modul [[SONOS]] wird per update verteilt}}&lt;br /&gt;
{{News|15.12.2014|Überarbeitetes und erweitertes Geräte-Modul [[HTTPMOD]] wird per update verteilt}}&lt;br /&gt;
{{News|10.12.2014|Neues Geräte-Modul [[Vitotronic_200_(Viessmann_Heizungssteuerung)|VCONTROL]] zur Anbindung einer Viessmann Heizung wird per update verteilt}}&lt;br /&gt;
{{News|17.11.2014|Neues Hilfs-Modul [[logProxy]] wird per update verteilt}}&lt;br /&gt;
{{News|09.11.2014|FHEM Version 5.6 wurde veröffentlicht}}&lt;br /&gt;
{{News|27.10.2014|Neues Geräte-Modul [[harmony]] zur FHEM-Anbindung Logitech Harmony Hub basierter Fernbedienungen wird per update verteilt}}&lt;br /&gt;
{{News|25.10.2014|Neues Geräte-Modul [[KostalPiko|KOSTALPIKO]] wird per update verteilt}}&lt;br /&gt;
{{News|24.10.2014|Neues Hilfs-Modul [[HourCounter]] wird per update verteilt}}&lt;br /&gt;
{{News|06.09.2014|Neues Hilfs-Modul [[CustomReadings]] per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Neues Hilfs-Modul [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Der Befehl [[update]] wurde überarbeitet: {{Link2Forum|Topic=26311}} }}&lt;br /&gt;
{{News|13.08.2014|Zusätzliche Domäne fhem.org aktiviert: {{Link2Forum|Topic=26113}} }}&lt;br /&gt;
{{News|29.09.2013|FHEM Version 5.5 wurde veröffentlicht}}&lt;br /&gt;
{{News|11.05.2013|Die meisten Daten aus dem FhemWiki sind wieder hergestellt.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki wird neu aufgebaut.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki Update zu  [[Special:Version|MediaWiki 1.20.5]].}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategorie:Vorlage]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40597</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40597"/>
		<updated>2025-12-28T11:48:04Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Installation per Skript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
==Manuelle Installation==&lt;br /&gt;
===Grundinstallation===&lt;br /&gt;
====Installation FHEM====&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Installation Perl====&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Start von FHEM====&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
====Aufruf des FHEM-Webinterfaces (FHEMWEB)====&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
====Update von FHEM====&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
===Installations-Optionen===&lt;br /&gt;
====Installation von FHEM als Dienst====&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Installation per Skript==&lt;br /&gt;
Folgendes Skript &amp;quot;fhem_install.bat&amp;quot; installiert FHEM mit allen Installationsoptionen (PATH-Erweiterung, Dienstinstallation) auf dem internen Laufwerk C. Das Skript muss mit Administratorrechten ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_install.bat&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis (sollte keine Leer- oder Sonderzeichen enthalten und nicht zu lang sein) und Download-URLs festlegen&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
set &amp;quot;FHEMURL=https://fhem.de/fhem-6.4.zip&amp;quot;&lt;br /&gt;
set &amp;quot;STRAWBERRYPERLURL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis anlegen&lt;br /&gt;
if exist &amp;quot;%INSTALLDIR%&amp;quot; (&lt;br /&gt;
  echo Fehler: Installationsverzeichnis &amp;quot;%INSTALLDIR%&amp;quot; existiert bereits. Abbruch.&lt;br /&gt;
  exit /b 1&lt;br /&gt;
)&lt;br /&gt;
md %INSTALLDIR%&lt;br /&gt;
cd %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM download and install&lt;br /&gt;
curl -o &amp;quot;fhem.zip&amp;quot; %FHEMURL%&lt;br /&gt;
tar -xf fhem.zip --strip-components=1&lt;br /&gt;
del fhem.zip&lt;br /&gt;
&lt;br /&gt;
rem -- strawberryperl download and install&lt;br /&gt;
curl -L -o &amp;quot;perl.zip&amp;quot; %STRAWBERRYPERLURL%&lt;br /&gt;
tar -xf perl.zip&lt;br /&gt;
del perl.zip&lt;br /&gt;
&lt;br /&gt;
rem -- Alle folgenden Abschnitte benötigen zwingend Admin-Rechte!&lt;br /&gt;
&lt;br /&gt;
rem -- Firewall-Regeln anlegen&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=TCP&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=UDP&lt;br /&gt;
&lt;br /&gt;
rem -- PATH Umgebungsvariable für strawberryperl (dauerhaft) erweitern statt portableshell.bat zu starten&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM-Dienst installieren und starten&lt;br /&gt;
set PATH=%PATH%;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&lt;br /&gt;
perl fhem.pl fhem.cfg -i&lt;br /&gt;
net start fhem&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Ausführung des Skriptes kann FHEM direkt genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Das nachfolgende als Administrator auszuführende Skript &amp;quot;fhem_uninstall.bat&amp;quot; entfernt die Installation von FHEM und alle geänderten Einstellungen in Windows wieder. ACHTUNG: Datensicherung vorab nicht vergessen. Das Skript entfernt alles ohne Sicherheitsabfragen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_uninstall.bat&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM Dienst stoppen und entfernen&lt;br /&gt;
perl fhem.pl -u&lt;br /&gt;
net stop fhem&lt;br /&gt;
sc delete fhem&lt;br /&gt;
  &lt;br /&gt;
rem -- Firewall-Regeln entfernen&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot;&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- PowerShell: PATH für aktuelle Session und machine-Umgebungsvariable zurücksetzen&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$oldPaths = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = $machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$filtered = $parts | Where-Object { $_ -notin $oldPaths.Split(&#039;;&#039;) };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $filtered -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Process&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM/Perl-Verzeichnisse und Dateien löschen&lt;br /&gt;
rmdir /s /q %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40596</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40596"/>
		<updated>2025-12-28T11:47:31Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Installation per Skript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
==Manuelle Installation==&lt;br /&gt;
===Grundinstallation===&lt;br /&gt;
====Installation FHEM====&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Installation Perl====&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Start von FHEM====&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
====Aufruf des FHEM-Webinterfaces (FHEMWEB)====&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
====Update von FHEM====&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
===Installations-Optionen===&lt;br /&gt;
====Installation von FHEM als Dienst====&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Installation per Skript==&lt;br /&gt;
Folgendes Skript &amp;quot;fhem_install.bat&amp;quot; installiert FHEM mit allen Installationsoptionen (PATH-Erweiterung, Dienstinstallation) auf dem internen Laufwerk C. Das Skript muss mit Administratorrechten ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_install.bat&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis (sollte keine Leer- oder Sonderzeichen enthalten und nicht zu lang sein) und Download-URLs festlegen&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
set &amp;quot;FHEMURL=https://fhem.de/fhem-6.4.zip&amp;quot;&lt;br /&gt;
set &amp;quot;STRAWBERRYPERLURL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis anlegen&lt;br /&gt;
if exist &amp;quot;%INSTALLDIR%&amp;quot; (&lt;br /&gt;
  echo Fehler: Installationsverzeichnis &amp;quot;%INSTALLDIR%&amp;quot; existiert bereits. Abbruch.&lt;br /&gt;
  exit /b 1&lt;br /&gt;
)&lt;br /&gt;
md %INSTALLDIR%&lt;br /&gt;
cd %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM download and install&lt;br /&gt;
curl -o &amp;quot;fhem.zip&amp;quot; %FHEMURL%&lt;br /&gt;
tar -xf fhem.zip --strip-components=1&lt;br /&gt;
del fhem.zip&lt;br /&gt;
&lt;br /&gt;
rem -- strawberryperl download and install&lt;br /&gt;
curl -L -o &amp;quot;perl.zip&amp;quot; %STRAWBERRYPERLURL%&lt;br /&gt;
tar -xf perl.zip&lt;br /&gt;
del perl.zip&lt;br /&gt;
&lt;br /&gt;
rem -- Alle folgenden Abschnitte benötigen zwingend Admin-Rechte!&lt;br /&gt;
&lt;br /&gt;
rem -- Firewall-Regeln anlegen&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=TCP&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=UDP&lt;br /&gt;
&lt;br /&gt;
rem -- PATH Umgebungsvariable für strawberryperl (dauerhaft) erweitern statt portableshell.bat zu starten&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM-Dienst installieren und starten&lt;br /&gt;
set PATH=%PATH%;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&lt;br /&gt;
perl fhem.pl fhem.cfg -i&lt;br /&gt;
net start fhem&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Ausführung des Skriptes kann FHEM direkt genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Das nachfolgende als Administrator auszuführende Skript &amp;quot;fhem_uninstall.bat&amp;quot; entfernt die Installation von FHEM und alle geänderten Einstellungen in Windows wieder. ACHTUNG: Datensicherung vorab nicht vergessen. Das Skript entfernt alles ohne Sicherheitsabfragen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
rem fhem_uninstall.bat&lt;br /&gt;
&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM Dienst stoppen und entfernen&lt;br /&gt;
perl fhem.pl -u&lt;br /&gt;
net stop fhem&lt;br /&gt;
sc delete fhem&lt;br /&gt;
  &lt;br /&gt;
rem -- Firewall-Regeln entfernen&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot;&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- PowerShell: PATH für aktuelle Session und machine-Umgebungsvariable zurücksetzen&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$oldPaths = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = $machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$filtered = $parts | Where-Object { $_ -notin $oldPaths.Split(&#039;;&#039;) };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $filtered -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Process&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM/Perl-Verzeichnisse und Dateien löschen&lt;br /&gt;
rmdir /s /q %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows/en&amp;diff=40595</id>
		<title>FHEM Installation Windows/en</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows/en&amp;diff=40595"/>
		<updated>2025-12-28T11:34:57Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Installation FHEM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; describes the installation of FHEM as a portable software for Windows (no intervention in the registration database). The instructions are applicable for installation on a removable disk, for example a USB stick, and on an internal drive.   When installed on an internal drive, you can register FHEM as a service.&lt;br /&gt;
&lt;br /&gt;
==basic Installation==&lt;br /&gt;
===Installation FHEM===&lt;br /&gt;
Download the current [https://fhem.de/#Download fhem-X.Y.zip package] (currently fhem-6.4.zip).&lt;br /&gt;
&lt;br /&gt;
Create a new folder for FHEM. For this article the folder  &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; was created.&lt;br /&gt;
&lt;br /&gt;
Extract the entire content of the folder &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; from the .zip-package to &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For control:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; there is the file &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Installation Perl===&lt;br /&gt;
Download a current [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] and extract it in the FHEM folder. &lt;br /&gt;
&lt;br /&gt;
In this case, the content of the package &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; was extracted to &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For control:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; there is now an additional folder &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Start of FHEM===&lt;br /&gt;
Open a command prompt (cmd), change to the previously created folder, and start FHEM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now a Windows security alert appears that Windows Firewall is blocking the Perl interpreter. To access FHEM, you must set up a firewall exception. For this purpose, the security note must be terminated with the button {{Taste|Allow Access}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; There is no visible output and the command won&#039;t terminate. The command prompt cannot be closed as long as FHEM is running.&lt;br /&gt;
&lt;br /&gt;
===Calling the FHEM Web Interface (FHEMWEB)===&lt;br /&gt;
Start a browser (Firefox, Chrome and Safari are recommended) and open:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The FHEM main page appears:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
===Update of FHEM===&lt;br /&gt;
FHEM is continuously being developed. Therefore, an update should be made to get the most recent version.&lt;br /&gt;
&lt;br /&gt;
In the command input field of FHEM, this is the white, rectangular text input field to the right of the FHEM logo. Type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then press {{Taste|Enter}}.&lt;br /&gt;
&lt;br /&gt;
It starts the update process, which can take a while. FHEM is showing progress. At the end of the update process, FHEM prompts for a &amp;quot;shutdown restart&amp;quot;. Please ignore this and type in the command input field only&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
followed by {{Taste|Enter}} to exit FHEM.&lt;br /&gt;
&lt;br /&gt;
Now return to the command prompt window. Restart the updated FHEM; For example by the {{Taste|arrow up}} followed by {{Taste|Enter}} or re-entering&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This completes the installation of FHEM and [[First steps in FHEM]] invites you to try it out.&lt;br /&gt;
&lt;br /&gt;
==Installations Options==&lt;br /&gt;
===Installation of FHEM as a service===&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Setting up FHEM as a service requires an entry in the registration database created automatically in the following installation process.&lt;br /&gt;
&lt;br /&gt;
Exit FHEM by entering &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; in the command input field. &lt;br /&gt;
&lt;br /&gt;
Run an command prompt as administrator and install FHEM as a service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Windows Administration Tool &amp;quot;services&amp;quot;, the FHEM service is listed with the name &amp;quot;fhem server&amp;quot; after it has been successfully set up. After installation as a service FHEM starts invisible (without opened command prompt) during Windows startup.&lt;br /&gt;
&lt;br /&gt;
Unlike the start of FHEM via the command line, the &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; command can be successfully executes with FHEM as a service.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s next?==&lt;br /&gt;
[[First steps in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows/en&amp;diff=40594</id>
		<title>FHEM Installation Windows/en</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows/en&amp;diff=40594"/>
		<updated>2025-12-28T10:08:42Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Aktualisierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; describes the installation of FHEM as a portable software for Windows (no intervention in the registration database). The instructions are applicable for installation on a removable disk, for example a USB stick, and on an internal drive.   When installed on an internal drive, you can register FHEM as a service.&lt;br /&gt;
&lt;br /&gt;
==basic Installation==&lt;br /&gt;
===Installation FHEM===&lt;br /&gt;
Download the current [https://fhem.de/#Download fhem-X.Y.zip package] (currently fhem-6.4.zip).&lt;br /&gt;
&lt;br /&gt;
Create a new folder for FHEM. For this article the folder  &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; was created.&lt;br /&gt;
&lt;br /&gt;
Extract the entire content of the folder &amp;lt;code&amp;gt;fhem-6.0\fhem-6.0&amp;lt;/code&amp;gt; from the .zip-package to &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For control:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; there is the file &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Installation Perl===&lt;br /&gt;
Download a current [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] and extract it in the FHEM folder. &lt;br /&gt;
&lt;br /&gt;
In this case, the content of the package &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; was extracted to &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For control:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; there is now an additional folder &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Start of FHEM===&lt;br /&gt;
Open a command prompt (cmd), change to the previously created folder, and start FHEM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now a Windows security alert appears that Windows Firewall is blocking the Perl interpreter. To access FHEM, you must set up a firewall exception. For this purpose, the security note must be terminated with the button {{Taste|Allow Access}}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; There is no visible output and the command won&#039;t terminate. The command prompt cannot be closed as long as FHEM is running.&lt;br /&gt;
&lt;br /&gt;
===Calling the FHEM Web Interface (FHEMWEB)===&lt;br /&gt;
Start a browser (Firefox, Chrome and Safari are recommended) and open:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The FHEM main page appears:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
===Update of FHEM===&lt;br /&gt;
FHEM is continuously being developed. Therefore, an update should be made to get the most recent version.&lt;br /&gt;
&lt;br /&gt;
In the command input field of FHEM, this is the white, rectangular text input field to the right of the FHEM logo. Type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then press {{Taste|Enter}}.&lt;br /&gt;
&lt;br /&gt;
It starts the update process, which can take a while. FHEM is showing progress. At the end of the update process, FHEM prompts for a &amp;quot;shutdown restart&amp;quot;. Please ignore this and type in the command input field only&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
followed by {{Taste|Enter}} to exit FHEM.&lt;br /&gt;
&lt;br /&gt;
Now return to the command prompt window. Restart the updated FHEM; For example by the {{Taste|arrow up}} followed by {{Taste|Enter}} or re-entering&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This completes the installation of FHEM and [[First steps in FHEM]] invites you to try it out.&lt;br /&gt;
&lt;br /&gt;
==Installations Options==&lt;br /&gt;
===Installation of FHEM as a service===&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Setting up FHEM as a service requires an entry in the registration database created automatically in the following installation process.&lt;br /&gt;
&lt;br /&gt;
Exit FHEM by entering &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; in the command input field. &lt;br /&gt;
&lt;br /&gt;
Run an command prompt as administrator and install FHEM as a service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Windows Administration Tool &amp;quot;services&amp;quot;, the FHEM service is listed with the name &amp;quot;fhem server&amp;quot; after it has been successfully set up. After installation as a service FHEM starts invisible (without opened command prompt) during Windows startup.&lt;br /&gt;
&lt;br /&gt;
Unlike the start of FHEM via the command line, the &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; command can be successfully executes with FHEM as a service.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s next?==&lt;br /&gt;
[[First steps in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40593</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40593"/>
		<updated>2025-12-28T09:45:25Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Überarbeitung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
==Manuelle Installation==&lt;br /&gt;
===Grundinstallation===&lt;br /&gt;
====Installation FHEM====&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Installation Perl====&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Start von FHEM====&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
====Aufruf des FHEM-Webinterfaces (FHEMWEB)====&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
====Update von FHEM====&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
===Installations-Optionen===&lt;br /&gt;
====Installation von FHEM als Dienst====&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;F:\my-fhem\perl\site\bin;F:\my-fhem\perl\bin;F:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Installation per Skript==&lt;br /&gt;
Folgendes Skript &amp;quot;fhem_install.bat&amp;quot; installiert FHEM mit allen Installationsoptionen (PATH-Erweiterung, Dienstinstallation) auf dem internen Laufwerk C. Das Skript muss mit Administratorrechten ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis (sollte keine Leer- oder Sonderzeichen enthalten und nicht zu lang sein) und Download-URLs festlegen&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
set &amp;quot;FHEMURL=https://fhem.de/fhem-6.4.zip&amp;quot;&lt;br /&gt;
set &amp;quot;STRAWBERRYPERLURL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis anlegen&lt;br /&gt;
if exist &amp;quot;%INSTALLDIR%&amp;quot; (&lt;br /&gt;
  echo Fehler: Installationsverzeichnis &amp;quot;%INSTALLDIR%&amp;quot; existiert bereits. Abbruch.&lt;br /&gt;
  exit /b 1&lt;br /&gt;
)&lt;br /&gt;
md %INSTALLDIR%&lt;br /&gt;
cd %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM download and install&lt;br /&gt;
curl -o &amp;quot;fhem.zip&amp;quot; %FHEMURL%&lt;br /&gt;
tar -xf fhem.zip --strip-components=1&lt;br /&gt;
del fhem.zip&lt;br /&gt;
&lt;br /&gt;
rem -- strawberryperl download and install&lt;br /&gt;
curl -L -o &amp;quot;perl.zip&amp;quot; %STRAWBERRYPERLURL%&lt;br /&gt;
tar -xf perl.zip&lt;br /&gt;
del perl.zip&lt;br /&gt;
&lt;br /&gt;
rem -- Alle folgenden Abschnitte benötigen zwingend Admin-Rechte!&lt;br /&gt;
&lt;br /&gt;
rem -- Firewall-Regeln anlegen&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=TCP&lt;br /&gt;
netsh advfirewall firewall add rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot; dir=in action=allow program=&amp;quot;%INSTALLDIR%\perl\bin\perl.exe&amp;quot; profile=private protocol=UDP&lt;br /&gt;
&lt;br /&gt;
rem -- PATH Umgebungsvariable für strawberryperl (dauerhaft) erweitern statt portableshell.bat zu starten&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM-Dienst installieren und starten&lt;br /&gt;
set PATH=%PATH%;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&lt;br /&gt;
perl fhem.pl fhem.cfg -i&lt;br /&gt;
net start fhem&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Ausführung des Skriptes kann FHEM direkt genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Das nachfolgende als Administrator auszuführende Skript &amp;quot;fhem_uninstall.bat&amp;quot; entfernt die Installation von FHEM und alle geänderten Einstellungen in Windows wieder. ACHTUNG: Datensicherung vorab nicht vergessen. Das Skript entfernt alles ohne Sicherheitsabfragen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
setlocal&lt;br /&gt;
&lt;br /&gt;
rem -- Installationsverzeichnis&lt;br /&gt;
set &amp;quot;INSTALLDIR=C:\my-fhem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM Dienst stoppen und entfernen&lt;br /&gt;
perl fhem.pl -u&lt;br /&gt;
net stop fhem&lt;br /&gt;
sc delete fhem&lt;br /&gt;
  &lt;br /&gt;
rem -- Firewall-Regeln entfernen&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter TCP&amp;quot;&lt;br /&gt;
netsh advfirewall firewall delete rule name=&amp;quot;FHEM Perl interpreter UDP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- PowerShell: PATH für aktuelle Session und machine-Umgebungsvariable zurücksetzen&lt;br /&gt;
powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$oldPaths = &#039;%INSTALLDIR%\perl\site\bin;%INSTALLDIR%\perl\bin;%INSTALLDIR%\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = $machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$filtered = $parts | Where-Object { $_ -notin $oldPaths.Split(&#039;;&#039;) };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $filtered -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Process&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rem -- FHEM/Perl-Verzeichnisse und Dateien löschen&lt;br /&gt;
rmdir /s /q %INSTALLDIR%&lt;br /&gt;
&lt;br /&gt;
endlocal&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40555</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40555"/>
		<updated>2025-12-20T17:22:36Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Akualisierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
&lt;br /&gt;
==Grundinstallation==&lt;br /&gt;
===Installation FHEM===&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Installation Perl===&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Start von FHEM===&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
===Aufruf des FHEM-Webinterfaces (FHEMWEB)===&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
===Update von FHEM===&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
==Installations-Optionen==&lt;br /&gt;
===Installation von FHEM als Dienst===&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;C:\my-fhem\perl\site\bin;C:\my-fhem\perl\bin;C:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40554</id>
		<title>FHEM Installation Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Installation_Windows&amp;diff=40554"/>
		<updated>2025-12-20T17:09:05Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Aktualisierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039; beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.&lt;br /&gt;
&lt;br /&gt;
==Grundinstallation==&lt;br /&gt;
===Installation FHEM===&lt;br /&gt;
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.&lt;br /&gt;
&lt;br /&gt;
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
Den gesamten Inhalt des Ordners &amp;lt;code&amp;gt;fhem-6.4\fhem-6.4&amp;lt;/code&amp;gt; aus dem .zip-Paket nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpacken. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; befindet sich anschließend unter anderem die Datei &amp;lt;code&amp;gt;fhem.pl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Installation Perl===&lt;br /&gt;
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken. &lt;br /&gt;
&lt;br /&gt;
Hier wurde der Inhalt des Pakets &amp;quot;strawberry-perl-5.42.0.1-64bit-portable.zip&amp;quot; nach &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; entpackt. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Zur Kontrolle:&#039;&#039; In &amp;lt;code&amp;gt;f:\my-fhem&amp;lt;/code&amp;gt; existiert anschließend unter anderem ein zusätzlicher Ordner &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Start von FHEM===&lt;br /&gt;
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln und FHEM starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
C:\&amp;gt; cd f:\my-fhem&lt;br /&gt;
F:\my-fhem&amp;gt; portableshell.bat&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button {{Taste|Zugriff zulassen}} zu beenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.&lt;br /&gt;
&lt;br /&gt;
===Aufruf des FHEM-Webinterfaces (FHEMWEB)===&lt;br /&gt;
Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://localhost:8083/fhem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich die FHEM-Hauptseite:&lt;br /&gt;
&lt;br /&gt;
[[Datei:ErsteSchritteInFhem01.png]]&lt;br /&gt;
&lt;br /&gt;
===Update von FHEM===&lt;br /&gt;
FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
eingeben und mit {{Taste|Enter}} abschließen.&lt;br /&gt;
&lt;br /&gt;
Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem &amp;quot;shutdown restart&amp;quot; auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gefolgt von {{Taste|Enter}} zum Beenden von FHEM eingeben.&lt;br /&gt;
&lt;br /&gt;
Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch {{Taste|Pfeil hoch}} gefolgt von {{Taste|Enter}} oder erneute Eingabe von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;F:\my-fhem&amp;gt; perl\bin\perl fhem.pl fhem.cfg&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und [[Erste Schritte in FHEM]] lädt zum Ausprobieren ein.&lt;br /&gt;
&lt;br /&gt;
==Installations-Optionen==&lt;br /&gt;
===Installation von FHEM als Dienst===&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.&lt;br /&gt;
&lt;br /&gt;
FHEM durch Eingabe von &amp;lt;code&amp;gt;shutdown&amp;lt;/code&amp;gt; im Befehls-Eingabefeld beenden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%&lt;br /&gt;
F:\my-fhem&amp;gt; powershell -NoProfile -Command ^&lt;br /&gt;
  &amp;quot;$new = &#039;C:\my-fhem\perl\site\bin;C:\my-fhem\perl\bin;C:\my-fhem\c\bin&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$machine = [Environment]::GetEnvironmentVariable(&#039;Path&#039;,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;if(-not $machine){ $machine = &#039;&#039; };&amp;quot; ^&lt;br /&gt;
  &amp;quot;$parts = ($machine.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne &#039;&#039; }) + ($new.Split(&#039;;&#039;) | ForEach-Object { $_.Trim() });&amp;quot; ^&lt;br /&gt;
  &amp;quot;$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;&amp;quot; ^&lt;br /&gt;
  &amp;quot;$final = $uniq -join &#039;;&#039;;&amp;quot; ^&lt;br /&gt;
  &amp;quot;[Environment]::SetEnvironmentVariable(&#039;Path&#039;,$final,&#039;Machine&#039;);&amp;quot; ^&lt;br /&gt;
  &amp;quot;Write-Output &#039;PATH updated&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Eingabeaufforderung als Administrator öffnen und FHEM als Dienst installieren und den Dienst starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;doscon&amp;quot;&amp;gt;&lt;br /&gt;
F:\my-fhem&amp;gt; perl fhem.pl fhem.cfg -i&lt;br /&gt;
F:\my-fhem&amp;gt; net start fhem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Windows-Verwaltungswerkzeug &amp;quot;Dienste&amp;quot; wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen &amp;quot;fhem server&amp;quot; aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund. &lt;br /&gt;
&lt;br /&gt;
Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem &amp;lt;code&amp;gt;update&amp;lt;/code&amp;gt; der Befehl &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; erfolgreich ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
==Wie geht es weiter?==&lt;br /&gt;
[[Erste Schritte in FHEM]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEMWiki:Impressum&amp;diff=39390</id>
		<title>FHEMWiki:Impressum</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEMWiki:Impressum&amp;diff=39390"/>
		<updated>2024-07-31T09:46:02Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Impressum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Randnotiz|RNTyp=Info|RNText=Bei Fragen technischer oder administrativer Art zum Wiki wendet Euch bitte nach Möglichkeit direkt an &lt;br /&gt;
* einen der [[FHEMWiki:Administratoren|Administratoren]] oder &lt;br /&gt;
* einen [https://verein.fhem.de/?action=*Zustaendigkeiten Zuständigen des FHEM e.V.]&lt;br /&gt;
per Diskussionseite, Forum oder Mail. Vielen Dank.}}&lt;br /&gt;
== Impressum ==&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
FHEM e.V.&amp;lt;BR&amp;gt;&lt;br /&gt;
Neuwiesenstraße 10&amp;lt;BR&amp;gt;&lt;br /&gt;
60528 Frankfurt am Main&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vertreten durch den einzelvertretungsberechtigten Vorstand:&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
Rudolf König&amp;lt;BR&amp;gt;&lt;br /&gt;
Neuwiesenstraße 10&amp;lt;BR&amp;gt;&lt;br /&gt;
60528 Frankfurt am Main&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontakt:&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
Mail: [[Datei:VorstandMail.png]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Registereintrag:&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
Registergericht: Frankfurt am Main&amp;lt;BR&amp;gt;&lt;br /&gt;
Registernummer: VR 15827&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Haftungsausschluss: ==&lt;br /&gt;
&lt;br /&gt;
=== Haftung für Inhalte ===&lt;br /&gt;
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.&lt;br /&gt;
Haftung für Links&lt;br /&gt;
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.&lt;br /&gt;
Urheberrecht&lt;br /&gt;
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz === &lt;br /&gt;
Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.&lt;br /&gt;
Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.&lt;br /&gt;
Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=39283</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=39283"/>
		<updated>2024-04-24T09:15:50Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Vorbereitung */  -&amp;gt; Aktualisierung nach https://forum.fhem.de/index.php?topic=138013.0&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 1400 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;)[https://web.archive.org/web/20160319202135/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 [https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 10/2017 das SDK 6.7x, 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 höher) 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. Den ZWave-Geräten liegen teilweise nur gekürzte, gedruckte Fassungen der Handbücher bei. Man sollte bei allen Produkten auf folgenden Seiten nach eventuellen ausführlicheren Informationen suchen:&lt;br /&gt;
* Herstellerseite des ZWave-Gerätes&lt;br /&gt;
* https://products.z-wavealliance.org (englisch)&lt;br /&gt;
* https://devices.zwave-js.io/ oder https://github.com/zwave-js/node-zwave-js/tree/master/packages/config/config/devices (werden wohl im Wesentlichen aus den Daten von products.z-wavealliance.org erzeugt)&lt;br /&gt;
* https://opensmarthouse.org/zwavedatabase/&lt;br /&gt;
Insbesondere auf https://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;
Z-Wave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Weitere Informationen im [[ZWCUL]] - Artikel.}}&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=78248|Message=702044}})&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 das zugehörige FHEM-Device nach dem Namensschema &amp;lt;code&amp;gt;ZWDongle_&amp;lt;[https://forum.fhem.de/index.php/topic,92885.msg854533.html#msg854533 Anhang]&amp;gt;&amp;lt;/code&amp;gt; angelegt. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. &lt;br /&gt;
&lt;br /&gt;
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;). &lt;br /&gt;
&lt;br /&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/ttyUSB1@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/ttyACM1@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;
Bei einem statischen Controller wird die Einrichtung als SUC -sofern der Controller als solcher nicht bei Auslieferung eingerichtet ist- vor der ersten Inklusion von Geräten empfohlen.&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 (&amp;lt;ZWDongle&amp;gt; ist im folgenden durch den Namen des FHEM-Devices des eigenen Gateways zu ersetzen):&lt;br /&gt;
 get &amp;lt;ZWDongle&amp;gt; homeId&lt;br /&gt;
ergibt beispielsweise bei einem Gateway mit dem FHEM-Devicenamen ZWDongle_1:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
In diesem Beispiel ist die Home-Id des Gateways ZWDongle_1 e345c456 und das Gateway hat die Node-Id 1.&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 &amp;lt;ZWDongle&amp;gt; nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 {{Link2CmdRef|Anker=rename|Label=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 &amp;lt;ZWDongle&amp;gt; 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;ZWave-Devicename&amp;gt; neighborUpdate&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 (&amp;lt;ZWDongle&amp;gt;-Device, &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://devel.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://devel.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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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. 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 &amp;lt;ZWDongle&amp;gt; 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://devel.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;
&lt;br /&gt;
== Geräte-Vergleich ==&lt;br /&gt;
=== Doppel-Relais ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Eigenschaft !! FIBARO Double Switch 2-FGS-223 !! Qubino Flush 2 relays  !! Philio-PAN04 1&lt;br /&gt;
|-&lt;br /&gt;
| Funktion || Doppel-Relais || Doppel-Relais || Doppel-Relais&lt;br /&gt;
|-&lt;br /&gt;
| Standby-Leistung || ca. 0.4W || ca. 0.4W || ca. 0.5W&lt;br /&gt;
|-&lt;br /&gt;
| Reaktion beim Schalten am Tastereingang || schnell, kaum merkliche Verzögerung ||  schnell, kaum merkliche Verzögerung || langsam, unangenehm langes drücken des Tasters nötig &amp;gt;1 Sekunde &lt;br /&gt;
|-&lt;br /&gt;
| Geräte in FHEM || 3 &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 3  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 4  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 &amp;lt;br&amp;gt; x.03 Summengerät (ähnlich Hauptgerät, überflüssig)&lt;br /&gt;
|-&lt;br /&gt;
| Zustand Hauptgerät || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais&lt;br /&gt;
|-&lt;br /&gt;
| Statuswechsel Report vom Gerät zum FHEM || ca. 1 Sekunde || ca. 3 Sekunden || ca. 3-4 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| Empfänger des Status Reports || Hauptgerät und Untergeräte || Hauptgerät und Untergeräte  || Nur Hauptgerät &amp;lt;br&amp;gt;Aktualisierung der Untergeräte nur bei aktiver Abfrage &lt;br /&gt;
|-&lt;br /&gt;
| Leistungsmessung || Separat für Untergeräte || Separat für Untergeräte || Nur Summe&lt;br /&gt;
|-&lt;br /&gt;
| Sicherung nötig / Strom || ja, 2x 6.5A, Summe max 10A || ja, max 2x 4A  || nein, 2x 6.5A&lt;br /&gt;
|}&lt;br /&gt;
Beim Qubino Flush 2 relays muss eine MULTI_CHANNEL_ASSOCIATION mit dem Controller (Endpoint root) statt einer &amp;quot;normalen&amp;quot; Assoziation gesetzt werden, damit die Status der Untergeräte einzeln signalisert werden:&lt;br /&gt;
&lt;br /&gt;
 set associationDel 1 &amp;lt;controllerNodeId&amp;gt; &lt;br /&gt;
 set &amp;lt;device&amp;gt; mcaAdd 1 0 &amp;lt;controllerNodeId&amp;gt; 0 &lt;br /&gt;
&lt;br /&gt;
Bei einem FHEM-Updatestand ab 20.09.2019 erfolgt diese Einstellung automatisch.&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]{{Randnotiz|Links teilweise nicht mehr aktuell|RNText=zwave.de existiert nicht mehr. Es erfolgt ein Forward auf zwave.eu/de. Die hier angegebenen Links darauf werden aber nicht abgebildet und liefern einen 404. Ich ([[Benutzer Diskussion:AlanBlack]]) suche noch nach den korrekten Seiten.|RNTyp=Fehl}}&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/ (englisch)&lt;br /&gt;
** http://www.zwaveeurope.com/ (englisch)&lt;br /&gt;
** 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;{{Link2CmdRef|Anker=stateFormat|Label=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 {{Link2CmdRef|Anker=ZWaveget}}). 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;
{{Randnotiz|RNText=FHEM unterstützt derzeit ausschließlich SECURITY 1 und nicht das mit dem SDK 6.7 neu eingeführte SECURITY 2 (S2). Soweit bekannt, sind S2-Geräte rückwärtskompatibel zu SECURITY 1.}}&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 {{Link2CmdRef}} 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 zunächst nicht erneut vergeben. Diese frei gewordenen NodeIds werden bei Inklusionen in aufsteigender Reihenfolge erst wieder vergeben, nachdem die höchste verfügbare NodeId (232?) inkludiert wurde. Sie sind somit grundsätzlich nicht verloren.&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/beta/resources/openzwaved/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 {{Link2CmdRef}} - 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;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39282</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39282"/>
		<updated>2024-04-24T09:08:01Z</updated>

		<summary type="html">&lt;p&gt;Krikan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für wichtige Mitteilungen ---------              &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf FHEM-Dienste (Forum, SVN, Wiki, fhem.de, Alexa FHEM Connector) kommen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;h1 style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Datei:Info_green.png|20px]][https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM][[Datei:Info_green.png|20px]]&amp;lt;br /&amp;gt;DAS Einsteiger-PDF. &#039;&#039;&#039;Pflichtlektüre!&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|FHEM-Haupt-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39281</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39281"/>
		<updated>2024-04-24T09:05:52Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Änderungen von Krikan (Diskussion) wurden auf die letzte Version von Ph1959de zurückgesetzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: grey; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
[[Datei:StyleVector2022.png|links|mini|100px|Vector2022]]&lt;br /&gt;
[[Datei:StyleMinervaNeue.png|rechts|mini|100px|MinervaNeue]]&lt;br /&gt;
&#039;&#039;&#039;Wiki Benutzeroberfläche&#039;&#039;&#039;: um eine bessere Benutzbarkeit auf mobilen Geräten zu erreichen, wird die Standard Einstellung für die Benutzeroberfläche (&amp;quot;Style&amp;quot;) in den nächsten Tagen auf &amp;quot;Vector 2022&amp;quot; oder &amp;quot;MinervaNeue&amp;quot; (siehe Darstellungsbeispiele links und rechts) umgestellt. Kommentare, Kritik, Anregungen dazu bitte im Forenbereich &amp;quot;Wiki&amp;quot; in den Thread &#039;&#039;&#039;{{Link2Forum|Topic=137399|LinkText=&amp;quot;Wiki Style&amp;quot;}}&#039;&#039;&#039; stellen.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für wichtige Mitteilungen ---------              &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf FHEM-Dienste (Forum, SVN, Wiki, fhem.de, Alexa FHEM Connector) kommen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;h1 style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Datei:Info_green.png|20px]][https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM][[Datei:Info_green.png|20px]]&amp;lt;br /&amp;gt;DAS Einsteiger-PDF. &#039;&#039;&#039;Pflichtlektüre!&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|FHEM-Haupt-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39280</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39280"/>
		<updated>2024-04-24T05:44:33Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Wartungsmeldung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf die FHEM-Dienste Wiki und fhem.de bis ca. 12 Uhr kommen.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;h1 style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Datei:Info_green.png|20px]][https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM][[Datei:Info_green.png|20px]]&amp;lt;br /&amp;gt;DAS Einsteiger-PDF. &#039;&#039;&#039;Pflichtlektüre!&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|FHEM-Haupt-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=39218</id>
		<title>Vorlage:FHEMWiki News</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=39218"/>
		<updated>2024-04-04T16:27:19Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Umstellung auf aktuellen Standardskin Vector (2022)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|04.04.2024|Umstellung des FHEMWiki-Standardskin (&amp;quot;Style&amp;quot;) von &#039;Vector alt (2010)&#039; auf &#039;Vector (2022)&#039; um eine bessere Benutzbarkeit auf mobilen Geräten bei nicht registrierten Benutzern zu erreichen. Registrierte Benutzer können unter Einstellungen/Aussehen den Skins selbst ändern. {{Link2Forum|Topic=137399}}}}&lt;br /&gt;
{{News|28.01.2024|FHEM Version 6.3 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=136851|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.08.2023|[[AutomowerConnect#Tablet-UI%3FFTUI_Version_3|FTUI3 AutomowerConnect]] Karte des Mähbereiches einbinden. }}&lt;br /&gt;
{{News|28.06.2023|[[AutomowerConnect#Tablet-UI%2FFTUI_Version_2|FTUI2 Widget &#039;automowerconnect&#039;]] für das Modul 74_AutomowerConnect.pm. }}&lt;br /&gt;
{{News|06.04.2023|FHEM Wiki ist auf einen neuen Server umgezogen und läuft jetzt auf aktueller Software. Es gibt neue Skins für Mobilgeräte Unterstützung. }}&lt;br /&gt;
{{News|25.01.2023|Neues Modul - [[AutomowerConnect|74_AutomowerConnect.pm]] zur Bedienung von Husqvarnas Mähroboter über Husqvarnas Open API {{Link2Forum|Topic=131661|LinkText=Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.01.2023|FHEM Version 6.2 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=131618|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|08.11.2021|FHEM Version 6.1 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=123972|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|25.05.2021|Ein weiteres Modul zur Integration von Diensten der Synology Diskstation wird per Update verteilt: [[SSFile - Integration der Synology File Station|SSFile]].}}&lt;br /&gt;
{{News|28.02.2020|Das neue Modul [[SSCal - Integration des Synology Calendar Servers| SSCal]] ermöglicht die Integration des Synology Calendar Servers.}}&lt;br /&gt;
{{News|28.01.2020|Neues Modul für die IP-Türsprechanlage [[DoorBird]] per Update verteilt.}}}}&lt;br /&gt;
{{News|26.01.2020|FHEM Version 6.0 wurde freigegeben. Updatehinweise: {{Link2Forum|Topic=107782}}}}&lt;br /&gt;
{{News|17.12.2019|Mit dem Modul [[SSChatBot - Integration des Synology Chat Servers|SSChatBot]] kann der Synology Chat Server in FHEM integriert werden. Es können Mitteilungen zwischen FHEM und Chat ausgetauscht sowie Befehle in FHEM ausgeführt werden. }}&lt;br /&gt;
{{News|23.09.2019|Das Modul [[CanOverEthernet]] ermöglicht das Empfangen von Can-Over-Ethernet Paketen von Steuerungen der Firma Technische Alternative}}&lt;br /&gt;
{{News|05.04.2019|Das [[SamsungAV]] Modul ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.}}&lt;br /&gt;
{{News|06.03.2019|Mit dem Modul [[Arlo]] ist die Einbindung von Arlo Kameras über die Arlo Cloud möglich}}&lt;br /&gt;
{{News|26.01.2019|Das [[TRÅDFRI|tradfri]] Modul erweitert die Palette der [[ZigBee]] Module.}}&lt;br /&gt;
{{News|14.01.2019|Der [[FHEM Connector für Amazon Alexa|FHEM Connector]] Skill für Amazon Alexa ist verfügbar.}}&lt;br /&gt;
{{News|02.11.2018|Das Modul [[TA_CMI_UVR16x2_UVR1611|TA_CMI_JSON]] kann Werte des C.M.I. der Firma Technische Alternative auslesen und eignet sich so optimal zum Loggen von Daten zB der UVR16x2 oder UVR1611.}}&lt;br /&gt;
{{News|11.09.2018|Mit dem Modul [[AutoShuttersControl|AutoShuttersControl]] oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.  }}&lt;br /&gt;
{{News|12.02.2018|Die Module [[Modul Babble|Babble]] und [[Talk2Fhem|Talk2Fhem]] erweitern die Sprachsteuerungsmöglichkeiten von FHEM}}&lt;br /&gt;
{{News|02.10.2017|[[FTUI eigene Widgets|Eigene Widgets für FHEM Tablet UI erstellen]]}}&lt;br /&gt;
{{News|30.08.2017|[[WINCONNECT]] - Windows PC steuern und Informationen abfragen/anzeigen. }}&lt;br /&gt;
{{News|24.08.2017|[[FHEMWEB/Widgets]] - Widgets (Frontendelemente) von FHEMWEB }}&lt;br /&gt;
{{News|24.08.2017|Neues Modul [[Modul_YAAHM|YAAHM]] wird per update verteilt. Es stellt eine Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren}}&lt;br /&gt;
{{News|24.07.2017|[[Telnet|Verbindung mit dem FHEM-Server per Telnet]]}}&lt;br /&gt;
{{News|20.07.2017|[[FHEM startet nicht - Tipps zur Fehlersuche]]}}&lt;br /&gt;
{{News|06.06.2017|[[‎Relaisplatine-Homebrew-MySensors|MySensors-Relaisplatine im Selbstbau]]}}&lt;br /&gt;
{{News|31.05.2017|[[Datenbankgestützte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_Überschußeinspeisung|Datenbankgestützte Erstellung der Energiebilanz einer PV-Anlage mit Überschußeinspeisung]]}}&lt;br /&gt;
{{News|30.04.2017|[[DoorPiBoard]]: Eine Platine zur Umsetzung des [[DoorPi_und FHEM|DoorPi-Projektes]]}}&lt;br /&gt;
{{News|21.03.2017|Artikel zum alternativen Frontend [[:Kategorie:FHEM_Tablet_UI|Tablet UI]] aktualisiert und deutlich erweitert}}&lt;br /&gt;
{{News|02.03.2017|Neues Modul zur Ansteuerung von [[LGTV_WebOS|LG-TVs mit dem Betriebssystem WebOS]] wird per update verteilt}}&lt;br /&gt;
{{News|20.02.2017|Neues Modul [[SIP-Client|SIP]], ein SIP-Client für FHEM, wird per update verteilt}}&lt;br /&gt;
{{News|19.02.2017|FHEM Version 5.8 wurde freigegeben. Updatehinweise beachten: {{Link2Forum|Topic=67419}}}}&lt;br /&gt;
{{News|18.01.2017|Neues Modul [[DOIFtools]] mit Funktionen zur Unterstützung des Benutzers im Umgang mit [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|12.01.2017|Neues Modul zur Ansteuerung des Bluetooth 4.1 BLE Pflanzensensors [[XiaomiFlowerSens|Xiaomi Flower Care Smart Monitor]] wird per update ausgeliefert}}&lt;br /&gt;
{{News|01.01.2017|Diverse neue Wiki-Artikel mit Informationen und Hilfen zu [[DOIF#Links|DOIF]] }}&lt;br /&gt;
{{News|10.12.2016|FHEM Wiki ist auf einen neuen Server umgezogen und hat eine neue Standard-Internetadresse: https://wiki.fhem.de}}&lt;br /&gt;
{{News|21.11.2016|Neues Modul [[Modul_PostMe|PostMe]] stellt eine komfortable Oberfläche zur Listenverwaltung bereit}}&lt;br /&gt;
{{News|11.10.2016|Neue Module [[NUKI|NUKIbridge und NUKIDevice]] zur Ansteuerung des Nuki Smartlock werden per update verteilt}}&lt;br /&gt;
{{News|07.10.2016|Neues Modul [[TRAFFIC]] zur Erfassung der Fahrzeiten bei aktueller Verkehrslage mittels Google Maps Directions API wird per update verteilt}}&lt;br /&gt;
{{News|19.07.2016|Neues Modul zur Unterstützung der HomeMatic-Interfaces [[HM-MOD-RPI-PCB_HomeMatic_Funkmodul_für_Raspberry_Pi|Funkmodul für Raspberry Pi]] und [[HM-LGW-O-TW-W-EU_Funk-LAN_Gateway|Funk-LAN Gateway]] wird per update verteilt }}&lt;br /&gt;
{{News|12.07.2016|Neues Modul [[DbRep - Reporting und Management von DbLog-Datenbankinhalten]] wird per update verteilt }}&lt;br /&gt;
{{News|08.02.2016|Neues Modul [[Mediaportal|MEDIAPORTAL]] (Steuerung einer Mediaportal-Installation über Wifiremote) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neues Modul [[HP1000]] (Einbindung einer HP1000 Wetterstation) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neuer FHEM Befehl [[msg]] (Intelligentes Versenden/Routing von Nachrichten der Typen Audio,Text,Mail,Push,Light,Screen) wird per update verteilt}}&lt;br /&gt;
{{News|15.11.2015|FHEM Version 5.7 wurde veröffentlicht. Unbedingt Updatehinweise beachten: {{Link2Forum|Topic=44094}}}}&lt;br /&gt;
{{News|30.10.2015|FHEM Wiki unterstützt nun [[Syntax Highlighting]]}}&lt;br /&gt;
{{News|18.10.2015|Neues Modul [[TechemHKV]] (Empfang von Daten eines Techem Heizkostenverteilers) wird per update verteilt}}&lt;br /&gt;
{{News|02.10.2015|Kleiner FHEM-Einsteiger-Kurs als Wiki Artikel unter [[Erste_Schritte_in_fhem|Erste Schritte in FHEM]]}}&lt;br /&gt;
{{News|24.09.2015|Umfangreiche Überarbeitung der Wiki Artikel über [[:Kategorie:panStamp|panStamp Hardware und Software]]}}&lt;br /&gt;
{{News|11.09.2015|Neues Modul [[AMAD]] (Steuern und Informationsanzeige von Android-Geräten) wird per update verteilt}}&lt;br /&gt;
{{News|15.06.2015|Neues Modul [[yowsup]] (WhatsApp Unterstützung) wird per update verteilt}}&lt;br /&gt;
{{News|03.04.2015|Neues Geräte-Modul [[JawboneUp]] wird per update verteilt}}&lt;br /&gt;
{{News|23.03.2015|Neue Geräte-Module [[Modbus]], [[ModbusAttr]] und [[Modbus#Writing_modules_for_devices_using_this_module_as_a_library|ModbusSET]] werden per update verteilt}}&lt;br /&gt;
{{News|10.02.2015|FHEM Wiki ist auf einen neuen Server umgezogen und [[FHEMWiki:Interna#Offene_Probleme|Aktualisierung der MediaWiki-Software]]}}&lt;br /&gt;
{{News|31.01.2015|Neues Geräte-Modul [[Pushbullet]] wird per update verteilt}}&lt;br /&gt;
{{News|14.01.2015|Neues Hilfs-Modul [[CALVIEW]] wird per update verteilt}}&lt;br /&gt;
{{News|08.01.2015|Neues Geräte-Modul [[Buderus_Web_Gateway|km200]] zur Anbindung eines Buderus Web-Gateways wird per update verteilt}}&lt;br /&gt;
{{News|18.12.2014|Neues Geräte-Modul [[SONOS]] wird per update verteilt}}&lt;br /&gt;
{{News|15.12.2014|Überarbeitetes und erweitertes Geräte-Modul [[HTTPMOD]] wird per update verteilt}}&lt;br /&gt;
{{News|10.12.2014|Neues Geräte-Modul [[Vitotronic_200_(Viessmann_Heizungssteuerung)|VCONTROL]] zur Anbindung einer Viessmann Heizung wird per update verteilt}}&lt;br /&gt;
{{News|17.11.2014|Neues Hilfs-Modul [[logProxy]] wird per update verteilt}}&lt;br /&gt;
{{News|09.11.2014|FHEM Version 5.6 wurde veröffentlicht}}&lt;br /&gt;
{{News|27.10.2014|Neues Geräte-Modul [[harmony]] zur FHEM-Anbindung Logitech Harmony Hub basierter Fernbedienungen wird per update verteilt}}&lt;br /&gt;
{{News|25.10.2014|Neues Geräte-Modul [[KostalPiko|KOSTALPIKO]] wird per update verteilt}}&lt;br /&gt;
{{News|24.10.2014|Neues Hilfs-Modul [[HourCounter]] wird per update verteilt}}&lt;br /&gt;
{{News|06.09.2014|Neues Hilfs-Modul [[CustomReadings]] per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Neues Hilfs-Modul [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Der Befehl [[update]] wurde überarbeitet: {{Link2Forum|Topic=26311}} }}&lt;br /&gt;
{{News|13.08.2014|Zusätzliche Domäne fhem.org aktiviert: {{Link2Forum|Topic=26113}} }}&lt;br /&gt;
{{News|29.09.2013|FHEM Version 5.5 wurde veröffentlicht}}&lt;br /&gt;
{{News|11.05.2013|Die meisten Daten aus dem FhemWiki sind wieder hergestellt.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki wird neu aufgebaut.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki Update zu  [[Special:Version|MediaWiki 1.20.5]].}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategorie:Vorlage]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39217</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Hauptseite&amp;diff=39217"/>
		<updated>2024-04-04T16:14:33Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Ankündigung Umstellung Wiki-Default-Skin entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Banner für aktuelle Mitteilungen ---------            &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: green; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Neue Mindestlänge für Passwörter&#039;&#039;&#039;: bedingt durch den Umzug auf einen neuen Server und die aktuelle Version von MediaWiki ist die Mindestlänge von Benutzerpasswörtern auf 10 angehoben worden. Bitte bei entsprechender Aufforderung beim Login ein mindestens zehnstelliges Passwort setzen.&amp;lt;/div&amp;gt;&lt;br /&gt;
 Ende von Banner für aktuelle Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Banner für wichtige Mitteilungen ---------              &lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: red; border: 1px solid maroon; border-radius: 8px; padding: 0 1em 1em 1em; font-size: bigger; text-align: center; color: white;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Es finden aktuell Wartungsarbeiten an der FHEM-Infrastruktur statt. Es kann daher zu kurzzeitigen Ausfällen und Beeinträchtigungen beim Zugriff auf FHEM-Dienste (Forum, SVN, Wiki, fhem.de, Alexa FHEM Connector) kommen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wir bitten um etwas Geduld. Sämtliche FHEM-Dienste werden im Laufe des Tages wieder wie gewohnt zur Verfügung stehen.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
     Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Ende von Banner für wichtige Mitteilungen --------  --&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;h1 style=&amp;quot;font-family:sans-serif; font-size: 1.8em; border: none; text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;FHEM Wiki - Informationsportal zum FHEM SmartHome-Server&#039;&#039;&#039;&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;flexbox&amp;quot;&amp;gt; &amp;lt;!-- Beginn der Inhaltsboxen --&amp;gt;&lt;br /&gt;
&amp;lt;div  class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 1; flex: 1 1 80%; background-color:#cce5ff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM?&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM&#039;&#039;&#039; ([https://register.dpma.de/DPMAregister/marke/register/3020152110040/DE R]) ist ein in Perl geschriebener, GPL v2 lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.B. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.&lt;br /&gt;
&lt;br /&gt;
Das Programm läuft als Server, man kann es über WEB, dedizierte Smartphone Apps oder telnet bedienen, TCP Schnittstellen für JSON und XML existieren ebenfalls.&lt;br /&gt;
&lt;br /&gt;
Um es zu verwenden, benötigt man einen 24/7 Rechner (NAS, RPi, PC, MacMini, etc) mit einem Perl Interpreter und angeschlossene Interfaces wie CUL-, EnOcean-, Z-Wave-USB-Stick etc. für einen Zugang zu den Aktoren und Sensoren.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 4; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wie fange ich an?&#039;&#039;&#039;&lt;br /&gt;
* [[Datei:Info_green.png|20px]][https://fhem.de/Heimautomatisierung-mit-fhem.pdf Heimautomatisierung mit FHEM][[Datei:Info_green.png|20px]]&amp;lt;br /&amp;gt;DAS Einsteiger-PDF. &#039;&#039;&#039;Pflichtlektüre!&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[Quick-Start]], english version: [[Quick-Start/en|Quick-Start]] &lt;br /&gt;
* kleiner FHEM-Kurs, benötigt keine Hardware: [[Erste Schritte in FHEM]] / [[First steps in FHEM]]&lt;br /&gt;
* [[Systemübersicht]]&lt;br /&gt;
* Phasen eines FHEM-Projekts:&lt;br /&gt;
** [[Planung]]&lt;br /&gt;
** [[Umsetzung]] (Implementierung)&lt;br /&gt;
** [[Betrieb]] (&amp;quot;Produktion&amp;quot;)&lt;br /&gt;
* [[:Kategorie:Glossary|Glossar]] (Erklärung für bestimmte Begriffe)&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:HOWTOS|Verschiedene HowTos]]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [[:Kategorie:FAQ|Frequently asked Questions - Häufig gestellte Fragen mit Antworten]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Verlinkte Wiki-Seite für Anfänger ist leer, darum auskommentiert&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[Help:Reading|How to read FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 6; background-color:#fff0e0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Unterstützte Hardware (Auszug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Hardware Typen|Hardware Typen]] - Funktionsbezogene Übersicht (z.B. [[:Kategorie:Unterhaltungselektronik|Unterhaltungselektronik / Multimedia]], [[:Kategorie:Heizungssteuerung|Heizungssteuerung]], [[:Kategorie:Energieverbrauchsmessung|Energieverbrauchsmessung]], etc.)&lt;br /&gt;
* [[:Kategorie:Server Hardware|Server Hardware]] - Hardware, auf der FHEM installiert werden kann&lt;br /&gt;
* [[:Kategorie:EMS Components|EMS]], [[:Kategorie:FHT Components|FHT]], [[:Kategorie:HMS Components|HMS]] Komponenten&lt;br /&gt;
* [[:Kategorie:1-Wire|1-Wire System]]&lt;br /&gt;
* [[:Kategorie:EIB/KNX|EIB/KNX Komponenten]]&lt;br /&gt;
* [[:Kategorie:FS20 Components|FS20 Komponenten]]&lt;br /&gt;
* [[:Kategorie:EnOcean Components|EnOcean Komponenten]]&lt;br /&gt;
* [[:Kategorie:HomeMatic Components|HomeMatic Komponenten]]&lt;br /&gt;
* [[:Kategorie:MAX|MAX! Komponenten]]&lt;br /&gt;
* [[:Kategorie:panStamp|panStamp Komponenten]]&lt;br /&gt;
* [[:Kategorie:Z-Wave Components|Z-Wave Komponenten]]&lt;br /&gt;
* [[:Kategorie:ZigBee|Zigbee Komponenten]]&lt;br /&gt;
* [[:Kategorie:IP Components|Geräte mit Webinterface (&amp;quot;IP&amp;quot;)]]&lt;br /&gt;
* [[:Kategorie:Other Components|Andere Komponenten / Sonstige Systeme]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Hardware|Alle Hardware-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 5; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Ideen und Lösungen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[:Kategorie:Code_Snippets|Verschiedene kommentierte Lösungen und Code-Schnippsel]]&lt;br /&gt;
* [[:Kategorie:Examples|Beispielanwendungen - Hardwarelösungen - Fremdsystemanbindungen]]&lt;br /&gt;
* [[Anwendungsszenarien]]&lt;br /&gt;
* [[Trick der Woche|Tipp der Woche]]&lt;br /&gt;
* [[Wie kann ich...]]?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:FHEM|FHEM-Haupt-Kategorien]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 7; background-color:#FFFFE7;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Developers Corner&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Informationen zur Modul-Entwicklung:&lt;br /&gt;
** [[DevelopmentModuleIntro|Development Module Introduction]]&lt;br /&gt;
** [[Meta|Development Module and Package Meta Data]]&lt;br /&gt;
** [[DevelopmentModuleAPI|Development Module API]]&lt;br /&gt;
** [[DevelopmentFHEMWEB-API|Development FHEMWEB API]]&lt;br /&gt;
** [[Blocking Call]]&lt;br /&gt;
** [[CoProcess]]&lt;br /&gt;
** [[HttpUtils]]&lt;br /&gt;
** [[DevIo]]&lt;br /&gt;
** [[Guidelines zur Dokumentation]]&lt;br /&gt;
** [[DevelopmentGuidelinesAV|Development Guidelines AV-Module]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organisatorisches:&lt;br /&gt;
** [[How to write a patch]]&lt;br /&gt;
** [[SVN Nutzungsregeln]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;[[:Kategorie:Development|Alle Artikel zu Development]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 3; background-color:#d7ffff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;FHEM Wiki News&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20em;overflow:scroll;overflow-x:hidden;&amp;quot;&amp;gt;{{FHEMWiki_News}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:News|News]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 2; background-color:#e7f8ff;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Was ist FHEM Wiki?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;FHEM Wiki&#039;&#039;&#039; ergänzt die stets tagesaktuelle, von den zuständigen Entwicklern gepflegte {{Link2CmdRef}} (Befehls-Referenz) um weitergehende Informationen rund um FHEM. Im Wiki arbeiten Nutzer und Entwickler gemeinsam an zusätzlicher Dokumentation von FHEM und damit zusammenhängenden Themen.&lt;br /&gt;
&lt;br /&gt;
Das FHEMWiki stellt neben der {{Link2CmdRef}}, dem [http://forum.fhem.de/ Forum] und der [http://www.fhem.de FHEM] Seite die zentrale Informationsquelle rund um FHEM dar. Bedeutung und Zusammenspiel dieser Elemente [[Dokumentationsstruktur|ist hier]] erläutert. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{NUMBEROFUSERS}} [[Special:Listusers|Benutzer]] haben sich seit Mai 2013 registriert und {{NUMBEROFARTICLES}} Artikel geschrieben. ({{NUMBEROFEDITS}} Seitenänderungen bislang).--&amp;gt;&lt;br /&gt;
Bitte [[FHEMWiki:Support | unterstütze uns]] und hilf, [[:Kategorie:NeedsEditing| das Wiki zu erweitern]]. Vielen Dank!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[FHEMWiki:Über_FHEMWiki|über FHEMWiki]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 8; background-color:#F8F8FF;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Letzte Änderungen&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:small;color:black;&amp;quot;&amp;gt;&amp;lt;small&amp;gt;{{Special:Recentchanges/8}}&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:Recentchanges|Änderungen]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 9; flex: 1 1 80%; background-color:#FFFFAA;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die letzten fünf neuen Seiten&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;small&amp;gt;{{Special:NewPages/5}}&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;Mehr [[Special:NewPages|Neue Seiten]]&#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpagebox&amp;quot; style=&amp;quot;order: 10; background-color:#DDD68F;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Administratives zum Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Allgemeine Aktivitäten:&#039;&#039;&lt;br /&gt;
* Registrierung zur Mitarbeit: wende Dich bitte an einen [[FHEMWiki:Administratoren|Administrator]]&lt;br /&gt;
* Basiswissen über die Mitarbeit an einem Wiki erarbeiten ([http://de.wikipedia.org/wiki/Wikipedia:Beteiligen z.B. Wikipedia])&lt;br /&gt;
* Erweiterung und Korrektur von Artikeln, wo immer nötig&lt;br /&gt;
* Ein(ig)e der [[Spezial:Gewünschte Seiten|gewünschten Seiten]] erstellen &lt;br /&gt;
* Ideen aus dem [http://forum.fhem.de Forum] in bestehende oder neue Artikel einarbeiten&lt;br /&gt;
* [[Spezial:Verwaiste Seiten|verwaiste Seiten]] in sinnvoller Weise verlinken&lt;br /&gt;
* [[Spezial:Sackgassenseiten|Sackgassenseiten]] wikifizieren (Links auf andere Seiten einfügen)&lt;br /&gt;
* [[Datei:Info_red.png|20px]] &#039;&#039;&#039;Tips / Regeln / Hinweise auf &amp;quot;[[FHEMWiki:Über FHEMWiki|Über FHEMWiki]]&amp;quot; beachten!&#039;&#039;&#039; [[Datei:Info_red.png|20px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sonstiges:&#039;&#039;&lt;br /&gt;
* Zum Ausprobieren bitte die [[FHEMWiki:Sandbox]] benutzen&lt;br /&gt;
* [//meta.wikimedia.org/wiki/Help:Contents Wiki Benutzerhandbuch].&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Wiki-Konfigurationsvariablen]&lt;br /&gt;
* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [[FHEMWiki:Interna|Internes zu diesem Wiki]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- Ende der Flexbox --&amp;gt;&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=EnOcean-FUD61NPN-Funk-Universal-Dimmaktor&amp;diff=38365</id>
		<title>EnOcean-FUD61NPN-Funk-Universal-Dimmaktor</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=EnOcean-FUD61NPN-Funk-Universal-Dimmaktor&amp;diff=38365"/>
		<updated>2023-05-16T07:26:00Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Todo ergänzt: Fehlerhinweis aus Forum prüfen und ggfs. einarbeiten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|Fehlerhinweis : Hinweis aus {{Link2Forum|Topic=133487}} auf nicht funktionierenden Anlernvorgang prüfen und gegenbenenfalls Wiki-Seite anpassen. }}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Hardware&lt;br /&gt;
|Bild=PlatzHalter.png&lt;br /&gt;
|Bildbeschreibung=&lt;br /&gt;
|HWProtocol=EnOcean&lt;br /&gt;
|HWType=Aktor, Empfänger; Sender, Sensor&lt;br /&gt;
|HWCategory=EnOcean&lt;br /&gt;
|HWComm=EnOcean Funk, 868Mhz&lt;br /&gt;
|HWChannels=1  bidirektional&lt;br /&gt;
|HWVoltage=230V~&lt;br /&gt;
|HWPowerConsumption=Eigenverbrauch ca. 0,7W&lt;br /&gt;
|HWPoweredBy=230V&lt;br /&gt;
|HWSize=45x55x33mm&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#EnOcean EnOcean]&lt;br /&gt;
|HWManufacturer=Eltako&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNText=Seite gilt nur für die &#039;&#039;&#039;bidirektionale&#039;&#039;&#039; Variante des Aktors (am Beispiel Variante ab KW 11/14)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[EnOcean-FUD61NPN-Funk-Universal-Dimmaktor]]&#039;&#039;&#039; ist ein Aktor&lt;br /&gt;
* für&lt;br /&gt;
** Unterputzmontage&lt;br /&gt;
* zum&lt;br /&gt;
** Dimmen&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Dimm-Aktor für Lampen bis 300 W, dimmbare Energiesparlampen ESL und dimmbare 230 V-LED-Lampen (Details siehe Anleitung)&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
Funktionsfähigkeit erfordert, dass die Bestätigungstelegramme am Aktor eingeschaltet sind&lt;br /&gt;
&lt;br /&gt;
=== Definition/Anlernvorgang ===&lt;br /&gt;
Der Aktor kann nicht vollautomatisch per autocreate in FHEM angelegt werden. &lt;br /&gt;
Die Einbindung in FHEM kann entweder über die Nutzung der inoffiziellen, gerätespezifischen EEP (empfohlen) &#039;&#039;&#039;oder&#039;&#039;&#039; über die manuelle Vorgehensweise erfolgen.  &lt;br /&gt;
&lt;br /&gt;
===== Nutzung der inoffziellen EEP =====&lt;br /&gt;
* FHEM-Device &amp;lt;name&amp;gt; (hier: EnO_FUD61) mit dem passenden inoffiziellen EEP und der Sender-ID des FUD61 (siehe Rückseite des Aktors; hier: 01036620) durch Eingabe in das [[Konfiguration#Befehl-Eingabefeld|Befehls-Eingabefeld]] und anschließendem Auslösen von {{Taste|Enter}} definieren.&lt;br /&gt;
: Aktoren mit Produktionswoche bis ca. Mitte 2016:&lt;br /&gt;
: &amp;lt;code&amp;gt;define EnO_FUD61 EnOcean 01036620 G5-38-08&amp;lt;/code&amp;gt;&lt;br /&gt;
: Aktoren mit Produktionswoche ab ca. Mitte 2016 ({{Link2Forum|Topic=57591|Message=490825}}):&lt;br /&gt;
: &amp;lt;code&amp;gt;define EnO_FUD61 EnOcean 01036620 H5-38-08&amp;lt;/code&amp;gt;&lt;br /&gt;
: Hierdurch wird ein FHEM-Device mit allen notwendigen Attributen für den FUD61 angelegt, das nur noch am Aktor angelernt werden muss.&lt;br /&gt;
* Am Aktor &lt;br /&gt;
** Oberer Funktions-Drehschalter: auf LRN&lt;br /&gt;
** Unterer Funktions-Drehschalter: auf AUTO (zum Einlernen PC)&lt;br /&gt;
* FHEM Eingabefeld: &amp;lt;code&amp;gt;set EnO_FUD61 teach&amp;lt;/code&amp;gt;&lt;br /&gt;
* Am Aktor nach dem Einlernen beide Drehschalter in die ursprüngliche Position&lt;br /&gt;
&lt;br /&gt;
===== Alternative: manuelle Vorgehensweise =====&lt;br /&gt;
* FHEM-Device &amp;lt;name&amp;gt; (hier: EnO_FUD61) mit der Sender-ID des FUD61 (siehe Rückseite des Aktors; hier: 01036620) definieren:&lt;br /&gt;
: &amp;lt;code&amp;gt;define EnO_FUD61 EnOcean 01036620&amp;lt;/code&amp;gt;&lt;br /&gt;
* Das Attribut subDef mit einer freien SenderId des TCMs anlegen ODER falls keine freie Sender-ID bekannt ist, das Attribut komplett weglassen, damit die Vergabe automatisch durch FHEM erfolgt:&lt;br /&gt;
: &amp;lt;code&amp;gt;attr EnO_FUD61 subDef AABBCC05&amp;lt;/code&amp;gt;     &amp;lt;--- nur Anlegen, wenn eine freie SenderID des Gateways bekannt ist&lt;br /&gt;
* Die Attribute subType, gwCmd und manufID wie nachfolgend anlegen:&lt;br /&gt;
: &amp;lt;code&amp;gt; attr EnO_FUD61 subType gateway&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; attr EnO_FUD61 gwCmd dimming&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; attr EnO_FUD61 manufID 00D&amp;lt;/code&amp;gt;&lt;br /&gt;
* Bei Aktoren mit Produktionswoche ab ca. Mitte 2016 zusätzlich folgendes Attribut anlegen ({{Link2Forum|Topic=57591|Message=490825}}):&lt;br /&gt;
: &amp;lt;code&amp;gt; attr EnO_FUD61 model Eltako_TF&amp;lt;/code&amp;gt;&lt;br /&gt;
* Am Aktor&lt;br /&gt;
** Oberer Funktions-Drehschalter: auf LRN&lt;br /&gt;
** Unterer Funktions-Drehschalter: auf AUTO (zum Einlernen PC)&lt;br /&gt;
* FHEM Eingabefeld: &amp;lt;code&amp;gt;set EnO_FUD61 teach&amp;lt;/code&amp;gt;&lt;br /&gt;
* Am Aktor nach dem Einlernen beide Drehschalter in die ursprüngliche Position&lt;br /&gt;
&lt;br /&gt;
=== FHEM Config-Auszug ===&lt;br /&gt;
Ein exemplarischer Auszug aus der [[Konfiguration]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 define EnO_FUD61 EnOcean 01036620     &amp;lt;--- SenderID des FUD61NPN (Aktors)&lt;br /&gt;
 attr EnO_FUD61 subDef AABBCC05        &amp;lt;--- AABBCC05 ist eine der SenderID&#039;s des TCM&lt;br /&gt;
 attr EnO_FUD61 eep A5-38-08&lt;br /&gt;
 attr EnO_FUD61 subType gateway&lt;br /&gt;
 attr EnO_FUD61 gwCmd dimming&lt;br /&gt;
 attr EnO_FUD61 manufID 00D&lt;br /&gt;
 attr EnO_FUD61 webCmd on:off:dim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
 2015-03-29_18:32:13 EnO_FUD61 dim: 63&lt;br /&gt;
 2015-03-29_18:32:13 EnO_FUD61 dimValueLast: 63&lt;br /&gt;
 2015-03-29_18:32:13 EnO_FUD61 dimValueStored: 87&lt;br /&gt;
 2015-03-29_18:32:14 EnO_FUD61 block: unlock&lt;br /&gt;
 2015-03-29_18:32:16 EnO_FUD61 rampTime: 0&lt;br /&gt;
 2015-03-29_18:32:16 EnO_FUD61 on&lt;br /&gt;
 2015-03-29_18:32:16 EnO_FUD61 dim: 87&lt;br /&gt;
 2015-03-29_18:32:16 EnO_FUD61 dimValueLast: 87&lt;br /&gt;
 2015-03-29_18:32:19 EnO_FUD61 dimValueStored: 1&lt;br /&gt;
 2015-03-29_18:32:19 EnO_FUD61 block: unlock&lt;br /&gt;
 2015-03-29_18:32:20 EnO_FUD61 block: unlock&lt;br /&gt;
 2015-03-29_18:32:21 EnO_FUD61 off&lt;br /&gt;
 2015-03-29_18:32:22 EnO_FUD61 rampTime: 0&lt;br /&gt;
 2015-03-29_18:32:22 EnO_FUD61 off&lt;br /&gt;
 2015-03-29_18:32:22 EnO_FUD61 dim: 0&lt;br /&gt;
 2015-03-29_18:35:06 EnO_FUD61 block: unlock&lt;br /&gt;
 2015-03-29_18:35:08 EnO_FUD61 rampTime: 0&lt;br /&gt;
 2015-03-29_18:35:08 EnO_FUD61 off&lt;br /&gt;
 2015-03-29_18:35:08 EnO_FUD61 dim: 0&lt;br /&gt;
&lt;br /&gt;
== Einsatzbeispiel ==&lt;br /&gt;
=== Fahrzeit mit höherer Auflösung senden ===&lt;br /&gt;
FHEM sendet die Fahrzeit im Standard mit einer Auflösung von 1 s. Bei neueren Eltako Jalousieaktoren (FSB61 mit verschlüsseltem Funk) kann die Fahrzeit mit einer Auflösung von 1/10 s gesendet werden. Um die Fahrzeit mit höherer Genauigkeit innerhalb von FHEM zu berechnen und zu senden, ist das Attribut &amp;lt;code&amp;gt;settingAccuracy&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;high&amp;lt;/code&amp;gt; zu setzen. Die Eingabe der Fahrzeit oder der Position erfolgt weiterhin ohne Dezimalstellen!&lt;br /&gt;
&lt;br /&gt;
=== Anzeige eines alternativen Bedienelementes ===&lt;br /&gt;
[[Datei:knobwidget.JPG|thumb|right]]&lt;br /&gt;
Anstelle des standardmäßigen Sliders zur Einstellung der Dimmstufe durch den set-Befehl &amp;quot;dim&amp;quot; kann mittels des Attributs &amp;lt;code&amp;gt;widgetOverride&amp;lt;/code&amp;gt; ein anderes Bedienelement vorbelegt werden. Hier ein Beispiel für ein knob-Bedienelement:&lt;br /&gt;
&lt;br /&gt;
 attr FUD_61 widgetOverride dim:knob,min:0,max:100,step:1,linecap:round,angleOffset:-125,angleArc:250&lt;br /&gt;
 attr FUD_61 webCmd dim                             &amp;lt;------- Bedienelement wird auch in der Raumansicht angezeigt    &lt;br /&gt;
&lt;br /&gt;
Ideen und Beispiele für knob-Bedienelemente mit den notwendigen Parametern finden sich beispielsweise [http://anthonyterrien.com/knob/ hier].&lt;br /&gt;
&lt;br /&gt;
=== Ansteuerung eines ausschließlich indirekt angelernten Dimmers ===&lt;br /&gt;
Ein Dimmer bei dem keine physischen Taster direkt angelernt sind, sondern die Steuerung ausschließlich indirekt über FHEM (Taster-&amp;gt;FHEM-&amp;gt;Dimmer) erfolgt, kann folgendermaßen eingebunden werden: &lt;br /&gt;
* [[Enocean_Dimmer_mit_kurzem_und_langem_Tastendruck_ansteuern|Enocean Dimmer mit kurzem und langem Tastendruck ansteuern]]&lt;br /&gt;
Bitte auch die [[Diskussion:Enocean_Dimmer_mit_kurzem_und_langem_Tastendruck_ansteuern|Diskussionsseite]] zu den Beweggründen dieses Vorgehens beachten. Dies ist keinesfalls zwingend. Bei Ausfall des FHEM-Server ist keine Steuerung des Dimmers mehr möglich.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Datenblatt: [http://www.eltako.com/fileadmin/downloads/de/Datenblatt/FUNK_datenblatt_FUD61NPN.pdf PDF]&lt;br /&gt;
* Anleitung: [http://www.eltako.com/fileadmin/downloads/de/_bedienung/FUD61NPN_30100835-8_dt.pdf PDF]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:EnOcean Components]]&lt;br /&gt;
[[Kategorie:Dimmer]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=38197</id>
		<title>Vorlage:FHEMWiki News</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=38197"/>
		<updated>2023-03-08T14:54:55Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Freigabe FHEM 6.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|25.01.2023|Neue Module - [[AutomowerConnect|74_AutomowerConnect.pm]] und [[AutomowerConnectDevice|75_AutomowerConnectDevice.pm]] zur Bedienung von Husqvarnas Mähroboter über Husqvarnas Open API {{Link2Forum|Topic=131661|LinkText=Forenbeitrag}}.}}&lt;br /&gt;
{{News|14.01.2023|FHEM Version 6.2 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=131618|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|08.11.2021|FHEM Version 6.1 wurde freigegeben. Updatehinweise in  {{Link2Forum|Topic=123972|LinkText=diesem Forenbeitrag}}.}}&lt;br /&gt;
{{News|25.05.2021|Ein weiteres Modul zur Integration von Diensten der Synology Diskstation wird per Update verteilt: [[SSFile - Integration der Synology File Station|SSFile]].}}&lt;br /&gt;
{{News|28.02.2020|Das neue Modul [[SSCal - Integration des Synology Calendar Servers| SSCal]] ermöglicht die Integration des Synology Calendar Servers.}}&lt;br /&gt;
{{News|28.01.2020|Neues Modul für die IP-Türsprechanlage [[DoorBird]] per Update verteilt.}}}}&lt;br /&gt;
{{News|26.01.2020|FHEM Version 6.0 wurde freigegeben. Updatehinweise: {{Link2Forum|Topic=107782}}}}&lt;br /&gt;
{{News|17.12.2019|Mit dem Modul [[SSChatBot - Integration des Synology Chat Servers|SSChatBot]] kann der Synology Chat Server in FHEM integriert werden. Es können Mitteilungen zwischen FHEM und Chat ausgetauscht sowie Befehle in FHEM ausgeführt werden. }}&lt;br /&gt;
{{News|23.09.2019|Das Modul [[CanOverEthernet]] ermöglicht das Empfangen von Can-Over-Ethernet Paketen von Steuerungen der Firma Technische Alternative}}&lt;br /&gt;
{{News|05.04.2019|Das [[SamsungAV]] Modul ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.}}&lt;br /&gt;
{{News|06.03.2019|Mit dem Modul [[Arlo]] ist die Einbindung von Arlo Kameras über die Arlo Cloud möglich}}&lt;br /&gt;
{{News|26.01.2019|Das [[TRÅDFRI|tradfri]] Modul erweitert die Palette der [[ZigBee]] Module.}}&lt;br /&gt;
{{News|14.01.2019|Der [[FHEM Connector für Amazon Alexa|FHEM Connector]] Skill für Amazon Alexa ist verfügbar.}}&lt;br /&gt;
{{News|02.11.2018|Das Modul [[TA_CMI_UVR16x2_UVR1611|TA_CMI_JSON]] kann Werte des C.M.I. der Firma Technische Alternative auslesen und eignet sich so optimal zum Loggen von Daten zB der UVR16x2 oder UVR1611.}}&lt;br /&gt;
{{News|11.09.2018|Mit dem Modul [[AutoShuttersControl|AutoShuttersControl]] oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.  }}&lt;br /&gt;
{{News|12.02.2018|Die Module [[Modul Babble|Babble]] und [[Talk2Fhem|Talk2Fhem]] erweitern die Sprachsteuerungsmöglichkeiten von FHEM}}&lt;br /&gt;
{{News|02.10.2017|[[FTUI eigene Widgets|Eigene Widgets für FHEM Tablet UI erstellen]]}}&lt;br /&gt;
{{News|30.08.2017|[[WINCONNECT]] - Windows PC steuern und Informationen abfragen/anzeigen. }}&lt;br /&gt;
{{News|24.08.2017|[[FHEMWEB/Widgets]] - Widgets (Frontendelemente) von FHEMWEB }}&lt;br /&gt;
{{News|24.08.2017|Neues Modul [[Modul_YAAHM|YAAHM]] wird per update verteilt. Es stellt eine Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren}}&lt;br /&gt;
{{News|24.07.2017|[[Telnet|Verbindung mit dem FHEM-Server per Telnet]]}}&lt;br /&gt;
{{News|20.07.2017|[[FHEM startet nicht - Tipps zur Fehlersuche]]}}&lt;br /&gt;
{{News|06.06.2017|[[‎Relaisplatine-Homebrew-MySensors|MySensors-Relaisplatine im Selbstbau]]}}&lt;br /&gt;
{{News|31.05.2017|[[Datenbankgestützte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_Überschußeinspeisung|Datenbankgestützte Erstellung der Energiebilanz einer PV-Anlage mit Überschußeinspeisung]]}}&lt;br /&gt;
{{News|30.04.2017|[[DoorPiBoard]]: Eine Platine zur Umsetzung des [[DoorPi_und FHEM|DoorPi-Projektes]]}}&lt;br /&gt;
{{News|21.03.2017|Artikel zum alternativen Frontend [[:Kategorie:FHEM_Tablet_UI|Tablet UI]] aktualisiert und deutlich erweitert}}&lt;br /&gt;
{{News|02.03.2017|Neues Modul zur Ansteuerung von [[LGTV_WebOS|LG-TVs mit dem Betriebssystem WebOS]] wird per update verteilt}}&lt;br /&gt;
{{News|20.02.2017|Neues Modul [[SIP-Client|SIP]], ein SIP-Client für FHEM, wird per update verteilt}}&lt;br /&gt;
{{News|19.02.2017|FHEM Version 5.8 wurde freigegeben. Updatehinweise beachten: {{Link2Forum|Topic=67419}}}}&lt;br /&gt;
{{News|18.01.2017|Neues Modul [[DOIFtools]] mit Funktionen zur Unterstützung des Benutzers im Umgang mit [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|12.01.2017|Neues Modul zur Ansteuerung des Bluetooth 4.1 BLE Pflanzensensors [[XiaomiFlowerSens|Xiaomi Flower Care Smart Monitor]] wird per update ausgeliefert}}&lt;br /&gt;
{{News|01.01.2017|Diverse neue Wiki-Artikel mit Informationen und Hilfen zu [[DOIF#Links|DOIF]] }}&lt;br /&gt;
{{News|10.12.2016|FHEM Wiki ist auf einen neuen Server umgezogen und hat eine neue Standard-Internetadresse: https://wiki.fhem.de}}&lt;br /&gt;
{{News|21.11.2016|Neues Modul [[Modul_PostMe|PostMe]] stellt eine komfortable Oberfläche zur Listenverwaltung bereit}}&lt;br /&gt;
{{News|11.10.2016|Neue Module [[NUKI|NUKIbridge und NUKIDevice]] zur Ansteuerung des Nuki Smartlock werden per update verteilt}}&lt;br /&gt;
{{News|07.10.2016|Neues Modul [[TRAFFIC]] zur Erfassung der Fahrzeiten bei aktueller Verkehrslage mittels Google Maps Directions API wird per update verteilt}}&lt;br /&gt;
{{News|19.07.2016|Neues Modul zur Unterstützung der HomeMatic-Interfaces [[HM-MOD-RPI-PCB_HomeMatic_Funkmodul_für_Raspberry_Pi|Funkmodul für Raspberry Pi]] und [[HM-LGW-O-TW-W-EU_Funk-LAN_Gateway|Funk-LAN Gateway]] wird per update verteilt }}&lt;br /&gt;
{{News|12.07.2016|Neues Modul [[DbRep - Reporting und Management von DbLog-Datenbankinhalten]] wird per update verteilt }}&lt;br /&gt;
{{News|08.02.2016|Neues Modul [[Mediaportal|MEDIAPORTAL]] (Steuerung einer Mediaportal-Installation über Wifiremote) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neues Modul [[HP1000]] (Einbindung einer HP1000 Wetterstation) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neuer FHEM Befehl [[msg]] (Intelligentes Versenden/Routing von Nachrichten der Typen Audio,Text,Mail,Push,Light,Screen) wird per update verteilt}}&lt;br /&gt;
{{News|15.11.2015|FHEM Version 5.7 wurde veröffentlicht. Unbedingt Updatehinweise beachten: {{Link2Forum|Topic=44094}}}}&lt;br /&gt;
{{News|30.10.2015|FHEM Wiki unterstützt nun [[Syntax Highlighting]]}}&lt;br /&gt;
{{News|18.10.2015|Neues Modul [[TechemHKV]] (Empfang von Daten eines Techem Heizkostenverteilers) wird per update verteilt}}&lt;br /&gt;
{{News|02.10.2015|Kleiner FHEM-Einsteiger-Kurs als Wiki Artikel unter [[Erste_Schritte_in_fhem|Erste Schritte in FHEM]]}}&lt;br /&gt;
{{News|24.09.2015|Umfangreiche Überarbeitung der Wiki Artikel über [[:Kategorie:panStamp|panStamp Hardware und Software]]}}&lt;br /&gt;
{{News|11.09.2015|Neues Modul [[AMAD]] (Steuern und Informationsanzeige von Android-Geräten) wird per update verteilt}}&lt;br /&gt;
{{News|15.06.2015|Neues Modul [[yowsup]] (WhatsApp Unterstützung) wird per update verteilt}}&lt;br /&gt;
{{News|03.04.2015|Neues Geräte-Modul [[JawboneUp]] wird per update verteilt}}&lt;br /&gt;
{{News|23.03.2015|Neue Geräte-Module [[Modbus]], [[ModbusAttr]] und [[Modbus#Writing_modules_for_devices_using_this_module_as_a_library|ModbusSET]] werden per update verteilt}}&lt;br /&gt;
{{News|10.02.2015|FHEM Wiki ist auf einen neuen Server umgezogen und [[FHEMWiki:Interna#Offene_Probleme|Aktualisierung der MediaWiki-Software]]}}&lt;br /&gt;
{{News|31.01.2015|Neues Geräte-Modul [[Pushbullet]] wird per update verteilt}}&lt;br /&gt;
{{News|14.01.2015|Neues Hilfs-Modul [[CALVIEW]] wird per update verteilt}}&lt;br /&gt;
{{News|08.01.2015|Neues Geräte-Modul [[Buderus_Web_Gateway|km200]] zur Anbindung eines Buderus Web-Gateways wird per update verteilt}}&lt;br /&gt;
{{News|18.12.2014|Neues Geräte-Modul [[SONOS]] wird per update verteilt}}&lt;br /&gt;
{{News|15.12.2014|Überarbeitetes und erweitertes Geräte-Modul [[HTTPMOD]] wird per update verteilt}}&lt;br /&gt;
{{News|10.12.2014|Neues Geräte-Modul [[Vitotronic_200_(Viessmann_Heizungssteuerung)|VCONTROL]] zur Anbindung einer Viessmann Heizung wird per update verteilt}}&lt;br /&gt;
{{News|17.11.2014|Neues Hilfs-Modul [[logProxy]] wird per update verteilt}}&lt;br /&gt;
{{News|09.11.2014|FHEM Version 5.6 wurde veröffentlicht}}&lt;br /&gt;
{{News|27.10.2014|Neues Geräte-Modul [[harmony]] zur FHEM-Anbindung Logitech Harmony Hub basierter Fernbedienungen wird per update verteilt}}&lt;br /&gt;
{{News|25.10.2014|Neues Geräte-Modul [[KostalPiko|KOSTALPIKO]] wird per update verteilt}}&lt;br /&gt;
{{News|24.10.2014|Neues Hilfs-Modul [[HourCounter]] wird per update verteilt}}&lt;br /&gt;
{{News|06.09.2014|Neues Hilfs-Modul [[CustomReadings]] per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Neues Hilfs-Modul [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Der Befehl [[update]] wurde überarbeitet: {{Link2Forum|Topic=26311}} }}&lt;br /&gt;
{{News|13.08.2014|Zusätzliche Domäne fhem.org aktiviert: {{Link2Forum|Topic=26113}} }}&lt;br /&gt;
{{News|29.09.2013|FHEM Version 5.5 wurde veröffentlicht}}&lt;br /&gt;
{{News|11.05.2013|Die meisten Daten aus dem FhemWiki sind wieder hergestellt.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki wird neu aufgebaut.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki Update zu  [[Special:Version|MediaWiki 1.20.5]].}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Kategorie:Vorlage]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Version&amp;diff=38196</id>
		<title>Version</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Version&amp;diff=38196"/>
		<updated>2023-03-08T14:49:34Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Modulowner angwpasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SEITENTITEL:version}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Befehl zur Bestimmung der Version von FHEM-Modulen&lt;br /&gt;
|ModType=cmd&lt;br /&gt;
|ModCmdRef=version&lt;br /&gt;
|ModForumArea=Sonstiges&lt;br /&gt;
|ModTechName=98_version.pm&lt;br /&gt;
|ModOwner={{Link2FU|14770|betateilchen}}&lt;br /&gt;
}}&lt;br /&gt;
[[version]] ist ein Befehl zur Bestimmung der Versionsnummer und des Aktualisierungsdatums einzelner oder aller benutzen Module. Dieser Befehl war vor Revision 10462 direkt in fhem.pl integriert. Seit dieser Revision ist version nun ein eigenständiges Modul, welches in einer eigenen Moduldatei realisiert wird.&lt;br /&gt;
&lt;br /&gt;
Der Befehl kann direkt über das [[FHEMWEB|Webfrontend]] eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Ohne Angabe von Parametern wird eine komplette Liste aller benutzten Module mit den entsprechenden Detailinformation, sowie den Revisionsstand seit dem letzten Update ausgegeben. Aktuell wird in FHEM bei der Eingabe des Befehls &amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt; folgender beispielhafte Output erzeugt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:600px;&amp;quot;&amp;gt;&lt;br /&gt;
Latest Revision: 11163 &lt;br /&gt;
&lt;br /&gt;
File                        Rev   Last Change &lt;br /&gt;
&lt;br /&gt;
fhem.pl                     11144 2016-03-29 09:10:53Z rudolfkoenig &lt;br /&gt;
90_at.pm                    11151 2016-03-30 07:56:17Z rudolfkoenig &lt;br /&gt;
98_autocreate.pm            11094 2016-03-20 09:41:03Z rudolfkoenig &lt;br /&gt;
00_CUL.pm                   10855 2016-02-15 11:30:02Z rudolfkoenig &lt;br /&gt;
10_CUL_HM.pm                11160 2016-03-30 18:39:12Z martinp876 &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird mit dem Aufruf ein Modulname (Schreibweise beachten! Auf das obige Beispiel bezogen z.B. &#039;&#039;weblink&#039;&#039;) mitgegeben, wird nur eine Zeile für das entsprechende Modul ausgegeben. Auch hier sind allerdings komplexere Filter möglich, so kann man mit&lt;br /&gt;
:&amp;lt;code&amp;gt;version CUL.*&amp;lt;/code&amp;gt; &lt;br /&gt;
beispielsweise die folgende Ausgabe erzeugen:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:600px;&amp;quot;&amp;gt;&lt;br /&gt;
File            Rev   Last Change &lt;br /&gt;
&lt;br /&gt;
00_CUL.pm        9002 2015-07-29 05:46:10Z rudolfkoenig &lt;br /&gt;
09_CUL_FHTTK.pm  7529 2015-01-11 18:52:43Z matscher &lt;br /&gt;
10_CUL_HM.pm     9474 2015-10-17 09:27:25Z martinp876 &lt;br /&gt;
14_CUL_WS.pm     8497 2015-04-30 09:23:21Z rudolfkoenig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder mit&lt;br /&gt;
:&amp;lt;code&amp;gt;version fhem&amp;lt;/code&amp;gt; &lt;br /&gt;
folgende Ausgabe:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;width:600px;&amp;quot;&amp;gt;&lt;br /&gt;
File    Rev   Last Change &lt;br /&gt;
&lt;br /&gt;
fhem.pl 11144 2016-03-29 09:10:53Z rudolfkoenig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=PRESENCE&amp;diff=38195</id>
		<title>PRESENCE</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=PRESENCE&amp;diff=38195"/>
		<updated>2023-03-08T14:47:38Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Modulowner angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anwesenheitserkennung&lt;br /&gt;
|ModType=h&lt;br /&gt;
|ModForumArea=Unterstützende Dienste&lt;br /&gt;
|ModTechName=73_PRESENCE.pm&lt;br /&gt;
|ModOwner=Jörg/JoWiemann ({{Link2FU|94|Forum}} / [[Benutzer Diskussion:JoWiemann|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das [[PRESENCE]] Modul bietet für die Anwesenheitserkennung mehrere Varianten an: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;lan-ping&#039;&#039;&#039; - Das Überwachen via PING Checks, die durch den FHEM Server versandt werden.&lt;br /&gt;
* &#039;&#039;&#039;fritzbox&#039;&#039;&#039; - Das Überwachen von Geräten auf einer FritzBox via ctlmgr_ctl (Nur auf einer FritzBox möglich)&lt;br /&gt;
* &#039;&#039;&#039; Bluetooth&#039;&#039;&#039;&lt;br /&gt;
:- &#039;&#039;&#039;local-bluetooth&#039;&#039;&#039; - Das Überwachen via Bluetooth Checks, die vom FHEM Server direkt durchgeführt werden (angeschlossener Bluetooth-Stick und die Software bluez voraussgesetzt)&lt;br /&gt;
:- &#039;&#039;&#039;lan-bluetooth&#039;&#039;&#039;   - Das Überwachen von Bluetoothgeräten, über Netzwerk. Auf einer oder mehreren Maschinen im Netzwerk (z.B. [[:Kategorie:Raspberry Pi|Raspberry Pi]]) läuft ein Presence-Daemon, der nach Bluetooth-Geräten sucht. Um mehrere Presence-Daemon mit FHEM zu verbinden, gibt es den Collector-Daemon, der sich zu allen Presence-Damons im Netzwerk verbindet und das Ergebnis von allen zusammenfasst.&lt;br /&gt;
* &#039;&#039;&#039;function&#039;&#039;&#039; - Das Überwachen mithilfe einer selbst geschrieben Perl-Funktion, die den Anwesenheitsstatus zurückgibt (0 oder 1)&lt;br /&gt;
* &#039;&#039;&#039;shell-script&#039;&#039;&#039; - Das Überwachen mithilfe eines selbst geschriebenen Shell-Programms/Skript, das eine 0 oder 1 ausgibt, um den Anwesenheitsstatus mitzuteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Überwachen mittels Ping im WLAN/LAN =&lt;br /&gt;
{{Randnotiz|RNText=Um diese Methode auf einer FritzBox nutzen zu können, muss FHEM mit root-Rechten laufen. Dies ist standardmäßig nicht der Fall. Bitte dazu den Wiki Artikel [[FritzBox: fhem unter root starten]] beachten.}}&lt;br /&gt;
Um ein Gerät via Ping zu überwachen, muss folgende Definition durchgeführt werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Handy PRESENCE lan-ping 192.168.0.30&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird die IP-Addresse 192.168.0.30 alle 30&amp;amp;nbsp;Sekunden geprüft, ob sie erreichbar ist. Wenn sie erreichbar ist, ist der Status &amp;quot;present&amp;quot; (anwesend), ansonsten &amp;quot;absent&amp;quot; (abwesend).&lt;br /&gt;
&lt;br /&gt;
Der Timeout kann verändert werden, indem ein Wert (in Sekunden) an das Define anhängt wird:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Handy PRESENCE lan-ping 192.168.0.30 &#039;&#039;&#039;60&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun würde das Handy alle 60 Sekunden geprüft werden.&lt;br /&gt;
&lt;br /&gt;
Nur wenn bei einem iPhone/iPad die Funktion &amp;quot;über WLAN synchronisieren&amp;quot; aktiviert ist, ist es auch im Standby zuverlässig pingbar. Standardmäßig deaktivieren Apple-Geräte ihr WLAN im Standby-Betrieb um die Akkulaufzeit zu verlängern.&lt;br /&gt;
&lt;br /&gt;
Sollte die Fehlermeldung &lt;br /&gt;
:&amp;lt;code&amp;gt; PRESENCE (Handy) - ping command returned with output: ping: icmp open socket: Operation not permitted &amp;lt;/code&amp;gt; &lt;br /&gt;
im Log auftauchen und lan-ping dadurch nicht funktionieren, liegt ein Berechtigungsproblem vor. Kein Grund den User fhem zu root zu machen!&lt;br /&gt;
Prüfe zu erst als User root ob die Capabilities gesetzt sind.&lt;br /&gt;
:&amp;lt;code&amp;gt;getcap /bin/ping&amp;lt;/code&amp;gt;&lt;br /&gt;
Sollte folgendes Ergeben zu Tage fördern.&lt;br /&gt;
:&amp;lt;code&amp;gt;/bin/ping = cap_net_raw+ep&amp;lt;/code&amp;gt;&lt;br /&gt;
Ist dem nicht so, setzen wir die benötigten Capabilities&lt;br /&gt;
:&amp;lt;code&amp;gt;setcap cap_net_raw+ep /bin/ping&amp;lt;/code&amp;gt;&lt;br /&gt;
Mehr Informationen zum Thema Capabilities [https://manpages.debian.org/jessie/manpages-de/capabilities.7.de.html].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FritzBox: direktes Abfragen der Aktivität via ctlmgr_ctl =&lt;br /&gt;
{{Randnotiz|RNText=Um diese Methode auf einer FritzBox nutzen zu können, muss FHEM mit root-Rechten laufen. Dies ist standardmäßig nicht der Fall. Bitte dazu den Wiki Artikel [[FritzBox: fhem unter root starten]] beachten.}}&lt;br /&gt;
Eine sehr häufige und auch zuverlässige Methode ist auf einer FritzBox die Abfrage mittels ctlmgr_ctl Befehl. Über diesen lassen sich alle Geräte abfragen ob sie aktiv sind. Ist ein Gerät aktiv, so gilt es als anwesend.&lt;br /&gt;
&lt;br /&gt;
Dieser Modus kann allerdings nur in FHEM Installationen direkt auf einer FritzBox verwendet werden. Des weiteren muss FHEM unter dem User root laufen. Um ein Gerät zu überwachen, wird lediglich der Gerätename benötigt, so wie er unter dem Menüpunkt &amp;quot;Heimnetz&amp;quot; auftaucht. &lt;br /&gt;
&lt;br /&gt;
Die erforderliche Definition:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Handy PRESENCE fritzbox iPhone-4S&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Überwachung mittels Perl-Code =&lt;br /&gt;
Es ist möglich zum Überwachen von Geräten eine eigene Perl-Funktion zu verwenden die dann vom PRESENCE Modul im Hintergrund aufgerufen wird.&lt;br /&gt;
&lt;br /&gt;
 define &amp;lt;name&amp;gt; PRESENCE function {...} [ &amp;lt;check-interval&amp;gt; [ &amp;lt;present-check-interval&amp;gt; ] ]&lt;br /&gt;
&lt;br /&gt;
Sobald die Funktion den Rückgabewert 1 hat, ist das Gerät anwesend, bei 0 abwesend.&lt;br /&gt;
&lt;br /&gt;
== Beispiel DHCP Überwachung auf Airport Basestation ==&lt;br /&gt;
Die hier vorgestellte Überwachung der DHCP Lease auf Airport Basestations per SNMP ist absolut robust gegenüber dem Ruhezustand von iOS und setzt keine weitere Konfiguration auf dem iPhone voraus. Das Abmelden beim Verlassen des Empfangsbereiches der Basestation geschieht mit etwa 5-10 Minuten Verzögerung und ist somit auch vor kurzzeitigen Empfangsproblemen sicher. Das nebenstehende Bild (???) verdeutlicht noch mal die Unterschiede zwischen einer IP-Basierten Ping-Überwachung und der Überwachung auf Ebene der Basestation oder FritzBox.&lt;br /&gt;
&lt;br /&gt;
Bevor der folgende Code verwendet werden kann ist das Perl Modul Net:SNMP zu installieren (z.&amp;amp;nbsp;B. mit: &amp;lt;code&amp;gt;cpan install use Net::SNMP&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Zuerst ist folgender Code in 99_myUtils.pm einzufügen, sollte diese noch nicht vorhanden sein muss diese aus dem Template welches unter Edit Files zu finden ist erzeugt werden.&lt;br /&gt;
&#039;&#039;&#039;Achtung, das ist nicht der komplette Inhalt der 99_myUtils!&#039;&#039;&#039; Das ist nur die einzelne Routine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use Net::SNMP;&lt;br /&gt;
sub&lt;br /&gt;
snmpCheck($$)&lt;br /&gt;
{&lt;br /&gt;
  my ($airport,$client)= @_;&lt;br /&gt;
&lt;br /&gt;
  my $community = &amp;quot;public&amp;quot;;&lt;br /&gt;
  my $host = $airport;&lt;br /&gt;
  my $oid = &amp;quot;.1.3.6.1.2.1.3.1.1.2&amp;quot;;&lt;br /&gt;
  #my $oid = &amp;quot;.1.3.6.1.2.1.3.1.1.2.25.1.10.0.1&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my ( $session, $error ) = Net::SNMP-&amp;gt;session(&lt;br /&gt;
    -hostname =&amp;gt; $host,&lt;br /&gt;
    -community =&amp;gt; $community,&lt;br /&gt;
    -port =&amp;gt; 161,&lt;br /&gt;
    -version =&amp;gt; 1&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  if( !defined($session) ) {&lt;br /&gt;
    return 0;&lt;br /&gt;
    return &amp;quot;Can&#039;t connect to host $host.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  my @snmpoids = ();&lt;br /&gt;
&lt;br /&gt;
  my $response = $session-&amp;gt;get_next_request($oid);&lt;br /&gt;
  my @nextid = keys %$response;&lt;br /&gt;
  while ( @nextid &amp;amp;&amp;amp; $nextid[0] &amp;amp;&amp;amp; $nextid[0] =~ m/^$oid/ ) {&lt;br /&gt;
    push( @snmpoids, $nextid[0] );&lt;br /&gt;
&lt;br /&gt;
    $response = $session-&amp;gt;get_next_request( $nextid[0] );&lt;br /&gt;
    @nextid = keys %$response;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if( !defined($response = $session-&amp;gt;get_request( @snmpoids ) ) ) {&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  foreach my $value (values %$response) {&lt;br /&gt;
    return 1 if( $value eq $client )&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach lässt sich das Mobilgerät so überwachen:&lt;br /&gt;
:&amp;lt;code&amp;gt;define iPhone PRESENCE function {snmpCheck(&amp;quot;10.0.1.1&amp;quot;,&amp;quot;0x44d77429f35c&amp;quot;)} 30 30&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wobei 10.0.1.1 durch die IP-Adresse der Basestation und 0x44d77429f35c durch die MAC Adresse des Geräts als HEX-Zahl ersetzt werden muss.&lt;br /&gt;
&lt;br /&gt;
== Beispiel Anwesenheitserkennung mittels UniFi Controller ==&lt;br /&gt;
&lt;br /&gt;
Die Anwesenheitserkennung bei Geräten in Verbindung mit UniFi-Produkten funktioniert selbst dann, wenn sich die Geräte im PowerSave-Modus befinden. &lt;br /&gt;
&lt;br /&gt;
Beachte: Die Geräte werden erst ungefähr nach 5 Minuten, nachdem das Gerät das WLAN verlassen hat als disconnected angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;define &amp;lt;NAME&amp;gt; PRESENCE function {ReadingsVal(&amp;quot;&amp;lt;UniFi&amp;gt;&amp;quot;,&amp;quot;&amp;lt;NamedDevice&amp;gt;&amp;quot;,&amp;quot;&amp;quot;) eq &amp;quot;connected&amp;quot; ? 1:0}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Überwachen mittels Events =&lt;br /&gt;
Der Vorteil gegenüber der Function-Variante ist, dass diese Variante ohne Blocking.pm-Overhead direkt ausgeführt werden kann und in &amp;quot;Echtzeit&amp;quot; abläuft (siehe {{Link2Forum|Topic=40287|Message=562823}}).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;define &amp;lt;NAME&amp;gt; PRESENCE event UniFi:NamedDevice:.disconnected UniFi:NamedDevice:.connected&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei wird &amp;lt;UniFi&amp;gt; mit dem Namen des Unifi-Devices in FHEM ersetzt, &amp;lt;NamedDevice&amp;gt; mit dem Namen des zu überwachenden Devices im Unifi-Controller ersetzt.&lt;br /&gt;
&lt;br /&gt;
= Überwachen mittels Bluetooth =&lt;br /&gt;
== Vorbereitung und Informationen ==&lt;br /&gt;
=== Getestete Hardware/Software ===&lt;br /&gt;
* &#039;&#039;&#039;Raspbian System&#039;&#039;&#039; - wheezy, Jessie (interner BT-Controller)&lt;br /&gt;
* &#039;&#039;&#039;BT-Dongle&#039;&#039;&#039; - CSL NET BT USB2.0 Stick, Bluetooth V4.0, Nano &amp;lt;br /&amp;gt;&#039;&#039;&#039;Achtung&#039;&#039;&#039;: Es muss ein BT V4.0 oder höher verwendet werden. Nur dieser unterstützt &#039;&#039;LowEnergy&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;BT-TAG&#039;&#039;&#039; - Gtag von Gigaset, TrackR, UDOO Neo, PebbleBee, iTag von Unitec, X4-LIFE Multifunkti BL-Anhänger, iTag Wireless Anti, Trackr bravo, GhostyuBeacon iBc41&lt;br /&gt;
&lt;br /&gt;
=== BT-Dongle am RaspberryPI installieren ===&lt;br /&gt;
Um den BT-Dongle &#039;&#039;(hier: CSL NET BT USB2.0)&#039;&#039; am RaspberryPI verwenden zu können, müssen die notwendigen Pakete über die Paketverwaltung von debian nachinstalliert werden.&lt;br /&gt;
Wer bereits ein BT-Dongle installiert hat, kann diesen Schritt überspringen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach erfolgreicher Installation der Pakete sollte der RaspberryPI neu gestartet werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgten Reboot bitte das Log des RaspberryPI auf folgende Einträge prüfen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773600] Bluetooth: Core ver 2.20&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773748] NET: Registered protocol family 31&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773765] Bluetooth: HCI device and connection manager initialized&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773797] Bluetooth: HCI socket layer initialized&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773821] Bluetooth: L2CAP socket layer initialized&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.773890] Bluetooth: SCO socket layer initialized&lt;br /&gt;
Feb 12 19:52:55 fhem kernel: [    4.797531] usbcore: registered new interface driver btusb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sobald der BT-Dongle erkannt wurde &#039;&#039;leuchtet&#039;&#039; (wenn vorhanden) auch die &#039;&#039;blaue/gelbe&#039;&#039; LED am Dongle auf.&lt;br /&gt;
&lt;br /&gt;
=== BT-Tags aktivieren ===&lt;br /&gt;
Jetzt kann der BT-Tag aktiviert werden. Bei einigen BT-Tags muss dafür die &#039;&#039;&#039;Batteriesicherung&#039;&#039;&#039; gezogen werden.&lt;br /&gt;
&lt;br /&gt;
Ein BT-Tag wird mit folgendem Befehl auf der Konsole gesucht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo hcitool lescan&lt;br /&gt;
&lt;br /&gt;
Ausgabe z.B.:&lt;br /&gt;
LE Scan ...&lt;br /&gt;
7C:2F:80:A1:XA:XD (unknown)&lt;br /&gt;
7C:2F:80:A1:XA:XD Gigaset G-tag&lt;br /&gt;
7C:2F:80:A1:X4:X1 (unknown)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Eine Übersicht über die möglichen Befehle von hcitool gibt es mit der Eingabe von:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo hcitool&lt;br /&gt;
&lt;br /&gt;
Ausgabe z.B.:&lt;br /&gt;
hcitool - HCI Tool ver 5.23&lt;br /&gt;
Usage:&lt;br /&gt;
        hcitool [options] &amp;lt;command&amp;gt; [command parameters]&lt;br /&gt;
Options:&lt;br /&gt;
        --help  Display help&lt;br /&gt;
        -i dev  HCI device&lt;br /&gt;
Commands:&lt;br /&gt;
        dev     Display local devices&lt;br /&gt;
        inq     Inquire remote devices&lt;br /&gt;
        scan    Scan for remote devices&lt;br /&gt;
        name    Get name from remote device&lt;br /&gt;
        info    Get information from remote device&lt;br /&gt;
        spinq   Start periodic inquiry&lt;br /&gt;
        epinq   Exit periodic inquiry&lt;br /&gt;
        cmd     Submit arbitrary HCI commands&lt;br /&gt;
        con     Display active connections&lt;br /&gt;
        cc      Create connection to remote device&lt;br /&gt;
        dc      Disconnect from remote device&lt;br /&gt;
        sr      Switch master/slave role&lt;br /&gt;
        cpt     Change connection packet type&lt;br /&gt;
        rssi    Display connection RSSI&lt;br /&gt;
        lq      Display link quality&lt;br /&gt;
        tpl     Display transmit power level&lt;br /&gt;
        afh     Display AFH channel map&lt;br /&gt;
        lp      Set/display link policy settings&lt;br /&gt;
        lst     Set/display link supervision timeout&lt;br /&gt;
        auth    Request authentication&lt;br /&gt;
        enc     Set connection encryption&lt;br /&gt;
        key     Change connection link key&lt;br /&gt;
        clkoff  Read clock offset&lt;br /&gt;
        clock   Read local or remote clock&lt;br /&gt;
        lescan  Start LE scan&lt;br /&gt;
        lewladd Add device to LE White List&lt;br /&gt;
        lewlrm  Remove device from LE White List&lt;br /&gt;
        lewlsz  Read size of LE White List&lt;br /&gt;
        lewlclr Clear LE White list&lt;br /&gt;
        lecc    Create a LE Connection&lt;br /&gt;
        ledc    Disconnect a LE Connection&lt;br /&gt;
        lecup   LE Connection Update &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls beim SCAN kein BT-Tag gefunden wird, sollte das BT Interface neu gestartet werden. Dazu ist kein Reboot des RaspBerryPI notwendig.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo hciconfig hci0 down&lt;br /&gt;
sudo hciconfig hci0 up&lt;br /&gt;
sudo hcitool dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überwachung durch den FHEM Server direkt ==&lt;br /&gt;
[[Datei:Bluetooth-Adresse-iPhone.png|thumb|Bluetooth-Adresse eines iPhones]]&lt;br /&gt;
Jenach Aufstellungsort des FHEM Servers kann es sinnvoll sein, eine Bluetooth-Überwachung direkt durch den FHEM Server durchzuführen. Hierbei gilt allerdings zu beachten, dass Bluetooth nicht für große Reichweiten gedacht ist und in den meisten Fällen keine Wände überwinden kann. Das heisst, dass in den meisten Fällen damit nur ein Raum überwacht werden kann.&lt;br /&gt;
&lt;br /&gt;
Je nach Einsatzzweck kann das auch so gewollt sein. Bluetooth USB Sticks, die bereits Bluetooth 4.0 unterstützen, können höhere Reichweiten über Zimmerwände hinaus erreichen. Vorausgesetzt, das Mobilgerät unterstützt Bluetooth 4.0.&lt;br /&gt;
&lt;br /&gt;
Um eine Überwachung per Bluetooth durchführen zu können, benötigt man die Bluetooth-Adresse eines Gerätes. Diese ähnelt vom Aufbau einer MAC-Adresse. Generell wird die Adresse in den Telefon-Informationen bei Smartphones angezeigt.&lt;br /&gt;
&lt;br /&gt;
Um eine Anwesenheitserkennung via Bluetooth durchzuführen, wird folgende Definition in der [[Konfiguration]] benötigt:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Handy PRESENCE local-bluetooth XX:XX:XX:XX:XX:XX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Überwachung durch verteilte Agenten in der Wohnung (presenced/lepresenced/collectord) ==&lt;br /&gt;
[[Datei:Raspberry-Pi-mit-WLAN-und-Bluetooth-Stick.jpg|thumb|left|Raspberry Pi mit Bluetooth- und WLAN-USB-Stick]]&lt;br /&gt;
Um eine zuverlässige und flächendeckende Bluetooth-Anwesenheitserkennung durchzuführen, ist es unerlässlich, mehrere Bluetooth-Empfänger zu verwenden, die auf mehrere oder alle Räume verteilt sind.&lt;br /&gt;
&lt;br /&gt;
Hierfür bietet sich zum Beispiel ein [[Raspberry Pi]] mit einem Mini-Bluetooth-USB-Stick und evtl. einem WLAN-USB-Stick an. Jeder Raum wird mit solch einem Raspberry ausgestattet und ist im WLAN Netz verfügbar.&lt;br /&gt;
&lt;br /&gt;
Dieses Netz aus Raspberrys wird mit dem presenced / lepresenced Programm ausgestattet. Beide Programme sind Perl-Skripte, die als Daemon im Hintergrund laufen und auf Anfragen via Netzwerk warten. Es wird lediglich eine vollständige Perl-Grundinstallation mit Standardmodulen benötigt.&lt;br /&gt;
&lt;br /&gt;
=== Unterschied presenced / lepresenced / collectord ===&lt;br /&gt;
presenced und lepresenced sind Programme, welche in regelmäßigen Abständen nach Bluetooth-Geräten suchen. Sobald ein Gerät, welches vorab definiert wurde, gefunden wird, wechselt der Status des Geräts in FHEM auf Anwesend. Der Unterschied zwischen presenced und lepresenced ist, dass lepresenced insbesondere für [https://de.wikipedia.org/wiki/Bluetooth_Low_Energy Bluetooth-LE-Devices] ist und presenced für &amp;quot;normale&amp;quot; Bluetooth-Geräte. &lt;br /&gt;
&lt;br /&gt;
collectord wiederum ist ein Programm, welches mehrere Pis verbindet und auf allen den aktuellen Status von presenced/lepresenced abfragt. Ist das gesuchte Bluetooth-Gerät auf einem der Pi anwesend, so wird es auch in der definierten Hauptinstanz auf anwesend gesetzt. Zusätzlich wird der Pi auf dem das Gerät gefunden wurde als Reading angegeben. Sofern alle Räume einen Empfangspegel (RSSI) ermitteln können, wird bei mehreren anwesenden Räumen der Raum mit dem besten Empfangspegel selektiert (siehe {{Link2Forum|Topic=54482}}).&lt;br /&gt;
&lt;br /&gt;
=== Installation von (le)presenced ===&lt;br /&gt;
Diese Anleitung ist sowohl für presenced, als auch für lepresenced gültig. Einfachheitshalber wird nur lepresenced erwähnt, sämtliche Schritte gehen jedoch auch mit presenced, wobei einfach die genannten Daten durch presenced ersetzt werden müssen.&lt;br /&gt;
&lt;br /&gt;
Die Software lepresenced kann aktuell über drei Varianten installiert werden. Dabei ist die bevorzugte Variante (Variante 1) die Installation über das bereitgestellte .deb-Paket.&lt;br /&gt;
Die Variante 2 setzt voraus, dass im FHEM contrib Verzeichnis (/opt/fhem/contrib) die aktuelle Version des .deb-Pakets liegt. Die Variante 3 ist dafür gedacht, wenn man keine .deb-Pakete installieren kann/will oder es aus anderen Gründen nicht funktioniert. Es wird davon abgeraten die Variante 3 zu verwenden. Vollständigkeitshalber wird sie aber aufgeführt.&lt;br /&gt;
&lt;br /&gt;
===== Installation per .deb-Paket =====&lt;br /&gt;
&lt;br /&gt;
Die bevorzugte Variante ist die Installation von lepresenced durch die passenden .deb Pakete.&lt;br /&gt;
{{Randnotiz|RNText=Bei einem Upgrade einer älteren Version reicht es, das neue .deb Paket mit&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo dpkg -i lepresenced-X.XX-X.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
zu aktualisieren}} &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.Variante:&#039;&#039;&#039;&lt;br /&gt;
Herunterladen der aktuellen lepresenced-0.83-3.deb (Stand August 2017) Datei über den Webbrowser &lt;br /&gt;
[https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/ SVN-Repository]. Im SVN die passende Datei auswählen und in der folgende Webseite den Link unter:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Download in other formats:&lt;br /&gt;
    Original Format &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
anklicken und die Datei herunterladen.&lt;br /&gt;
Die Datei kann jetzt auf den RPi kopiert und mit folgenden Befehlen ausgeführt werden (ggf. Berechtigungen anpassen). &lt;br /&gt;
&lt;br /&gt;
Alternativ per wget Befehl direkt auf den RPi (aktuelle Versionsnummer beachten)&lt;br /&gt;
 https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.83-3.deb&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.Variante:&#039;&#039;&#039; (zu Verwenden, wenn es Probleme bei Variante 1 gibt)&lt;br /&gt;
Herunterladen aus dem fhem contrib Verzeichnis:&lt;br /&gt;
Hierzu muss das contrib auf dem aktuellen Stand sein. Dazu wird die Installation von subversion (normal bereits vorhanden) benötigt.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
Danach kann per &lt;br /&gt;
 sudo svn checkout https://svn.fhem.de/fhem/trunk/fhem/contrib svnrepo&lt;br /&gt;
&lt;br /&gt;
Das aktuelle Repository auf den Pi heruntergeladen werden. Danach sollte im gewählten Verzeichnis die eingecheckten Dateien verfügbar sein.&lt;br /&gt;
 /opt/fhem/svnrepo/PRESENCE/deb  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Installation der Variante 1 oder 2 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Egal welche Variante gewählt wurde, nun kann mit folgenden Befehlen das Paket installiert werden. Bitte Pfade ggf. anpassen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig&#039;&#039;&#039;: Das &#039;&#039;&#039;Paket&#039;&#039;&#039; hat eine ca. Größe von &#039;&#039;&#039;6,5Kb&#039;&#039;&#039;. Ab und an gibt es wohl Probleme mit der Installation, wodurch die Datei 11,5kb groß wird.&lt;br /&gt;
Diese Datei lässt sich nicht Installieren. In diesem Fall das Paket bitte mit der Variante 1 und dem Bereich &amp;quot;Download in other formats&amp;quot; herunterladen.&lt;br /&gt;
&lt;br /&gt;
 sudo dpkg -i lepresenced-0.83-3.deb&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get -f install&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe der Installation sollte am Ende ein [ ok ] Starting lepresenced (via systemctl): lepresenced.service. ausgeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Paketlisten werden gelesen... Fertig&lt;br /&gt;
Abhängigkeitsbaum wird aufgebaut.       &lt;br /&gt;
Statusinformationen werden eingelesen.... Fertig&lt;br /&gt;
Abhängigkeiten werden korrigiert ... Fertig&lt;br /&gt;
Die folgenden zusätzlichen Pakete werden installiert:&lt;br /&gt;
  bluez-hcidump&lt;br /&gt;
Die folgenden NEUEN Pakete werden installiert:&lt;br /&gt;
  bluez-hcidump&lt;br /&gt;
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.&lt;br /&gt;
1 nicht vollständig installiert oder entfernt.&lt;br /&gt;
Es müssen 157 kB an Archiven heruntergeladen werden.&lt;br /&gt;
Nach dieser Operation werden 490 kB Plattenplatz zusätzlich benutzt.&lt;br /&gt;
Möchten Sie fortfahren? [J/n]&lt;br /&gt;
Holen: 1 http://archive.raspberrypi.org/debian/ jessie/main bluez-hcidump armhf 5.23-2+rpi2 [157 kB]&lt;br /&gt;
Es wurden 157 kB in 0 s geholt (921 kB/s).&lt;br /&gt;
Vormals nicht ausgewähltes Paket bluez-hcidump wird gewählt.&lt;br /&gt;
(Lese Datenbank ... 42033 Dateien und Verzeichnisse sind derzeit installiert.)&lt;br /&gt;
Vorbereitung zum Entpacken von .../bluez-hcidump_5.23-2+rpi2_armhf.deb ...&lt;br /&gt;
Entpacken von bluez-hcidump (5.23-2+rpi2) ...&lt;br /&gt;
Trigger für man-db (2.7.0.2-5) werden verarbeitet ...&lt;br /&gt;
bluez-hcidump (5.23-2+rpi2) wird eingerichtet ...&lt;br /&gt;
lepresenced (0.82-1) wird eingerichtet ...&lt;br /&gt;
[ ok ] Starting lepresenced (via systemctl): lepresenced.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.Variante:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bei dieser Variante wird das aktuellste lepresenced Skript aus github heruntergeladen. Das bedeutet, dass jegliche Konfiguration wie automatischer Start, Berechtigungen etc. &lt;br /&gt;
manuell konfiguriert werden muss. Diese Variante eignet sich nur für diejenigen, die keine .deb-Pakete installieren wollen/können oder die genau Wissen, was sie tun!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://github.com/mhop/fhem-mirror/blob/master/fhem/contrib/PRESENCE/lepresenced&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur &amp;quot;Installation&amp;quot; des Skripts folgendermaßen vorgehen:&lt;br /&gt;
Unter /fhem manuell den Ordner „script“ anlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Datei lepresenced reinkopieren und ausführbar machen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /opt/fhem/script/lepresenced&lt;br /&gt;
sudo chgrp -cR dialout lepresenced&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Skript erstmalig starten:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./lepresenced --loglevel LOG_EMERG -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Kommt beim Starten des Skript eine Fehlermeldung, müssen die Abhängigkeiten aufgelöst werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Can&#039;t locate Net/Server/Daemonize.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 / usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /opt/fhem/lepresenced line 17.&lt;br /&gt;
BEGIN failed--compilation aborted at /opt/fhem/lepresenced line 17.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um die Abhängigkeiten aufzulösen muss folgendes nachinstalliert werden und anschließend ein Reboot durchgeführt werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libnet-server-*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Einrichtung eines Bluetooth-Geräts über FHEM =====&lt;br /&gt;
&lt;br /&gt;
Nach dem letzten Schritt sind alle Bedingungen für eine abschließende Konfiguration eines BT-Geräts in FHEM abgeschlossen worden.&lt;br /&gt;
Jetzt kann der zum Beispiel ein G-Tag dem FHEM-Server bekannt gemacht werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   --   Name       Modul    Modus         MAC vom Gtag  IP vom PI Port    Abfragezeit in Sekunden&lt;br /&gt;
define MeinGtAG PRESENCE lan-bluetooth xx:xx:xx:xx:xx:xx 127.0.0.1:5333    120&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig ist den angegeben Port zu unterscheiden. Für presenced muss der Port 5111 genommen werden, für lepresenced der Port 5333.&#039;&#039;&#039;&lt;br /&gt;
Den absent und present Mode kann man einfach testen, in dem man den Gtag mit Alufolie einwickelt.&lt;br /&gt;
&lt;br /&gt;
Diese Variante sollte eingesetzt werden, wenn nur ein Pi nach Bluetooth-Geräten sucht. Möchte man mehr als ein Gerät nutzen um zum Beispiel eine größere Fläche abzudecken so muss mit collectored gearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alle Räume gemeinsam ansprechen mittels collectord ===&lt;br /&gt;
Um zwei presenced- oder lepresenced Installationen zu verbinden wird der collectord Daemon von Markus Bloch benötigt. Dieser kennt alle presenced-Installationen im Netzwerk und führt eine koordinierte Suche nach den gewünschten Geräten durch. Sobald ein Gerät in einem Raum erkannt wurde, meldet der collectord den Status einschließlich der Angabe des Raumes, in dem das Gerät erkannt wurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Presence_Collectord_Uebersicht.jpg|200px|thumb|left|Schematische Darstellung Presence und Collectord, Danke an dtavb]]&lt;br /&gt;
Auf Basis folgender Skizze wird die Einrichtung und der Betrieb der Anwesenheitserkennung und Überwachung &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
mit dem PRESENCE-Modul sowie dem Skript (.deb-Paket) lepresenced beschrieben. Zusätzlich wird für die Verbindung &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
mehrere lepresenced Instanzen der collectord verwendet.&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Diese Skizze dient als Basis für alle genannten Konfigurationen innerhalb dieses Artikels.&lt;br /&gt;
{{NeuerTextBlock}}&lt;br /&gt;
&lt;br /&gt;
==== Aufbau ====&lt;br /&gt;
; RPi1 (Hauptinstanz): &lt;br /&gt;
: FHEM Installation&lt;br /&gt;
: presence/lepresenced Installation &lt;br /&gt;
: collectord installation&lt;br /&gt;
: Sämtliche Bluetooth-Geräte in FHEM definiert&lt;br /&gt;
; RPi2 (Zweitsystem): &lt;br /&gt;
: FHEM installation&lt;br /&gt;
: presence/lepresenced Installation&lt;br /&gt;
: Sämtliche Bluetooth-Geräte in FHEM definiert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Installation per .deb-Paket ====&lt;br /&gt;
collectord wird heruntergeladen und installiert:&lt;br /&gt;
https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/collectord-1.8.deb (Stand Januar 2018)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dpkg -i collectord-1.8.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach der Installation befindet sich im Verzeichnis: /etc/collectord.conf die Konfigurationsdatei für das collectord. Weitere Einstellungen können unter /etc/default/collectord vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration auf Shellebene ==== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/collectord.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Datei muss jetzt nach folgender Vorlage angepasst werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# room definition&lt;br /&gt;
#[room-name]              # name of the room&lt;br /&gt;
#address=192.168.0.10     # ip-address or hostname&lt;br /&gt;
#port=5111                # tcp port which should be used (5111 is default)&lt;br /&gt;
#presence_timeout=120     # timeout in seconds for each check when devices are present&lt;br /&gt;
#absence_timeout=20       # timeout in seconds for each check when devices are absent&lt;br /&gt;
&lt;br /&gt;
[RPi1] 			          # Name (wird als Reading room bei den BT-Tags angezeigt) der presence Instanze&lt;br /&gt;
address=127.0.0.1 	          # Lokale Adresse RPi1 , da hier das Collectord später laufen soll!&lt;br /&gt;
port=5333		          # Port der Presence Installation &lt;br /&gt;
presence_timeout=60		  # Selbstgewaehlte Pruefintervalle&lt;br /&gt;
absence_timeout=60		  # Selbstgewaehlte Pruefintervalle&lt;br /&gt;
&lt;br /&gt;
[RPi2]  		          # Name (wird als Reading room bei den BT-Tags angezeigt) der presence Instanze&lt;br /&gt;
address=192.168.178.127	          # IP-Adresse der Instanz, wo nur das Presence laueft, also RPi2&lt;br /&gt;
port=5333		          # Port der Presence Installation &lt;br /&gt;
presence_timeout=60		  # Selbstgewaehlte Pruefintervalle&lt;br /&gt;
absence_timeout=60		  # Selbstgewaehlte Pruefintervalle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: &lt;br /&gt;
* Es dürfen keine [Namen] mit Leerzeichen verwendet werden&lt;br /&gt;
* Der angegebene Port richtet sich danach, ob auf dem Pi presenced (Port 5111) oder lepresenced (Port 5333) nach dem Bluetooth-Gerät sucht&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration in FHEM ==== &lt;br /&gt;
;RPi1&lt;br /&gt;
 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 127.0.0.1:5222 60           &#039;&#039;Hinweis: (Der Port ist der, des collectord!! Standard 5222)&#039;&#039;&lt;br /&gt;
;RPi2&lt;br /&gt;
 define Gtag PRESENCE lan-bluetooth XX:XX:XX:XX:XX:XX 192.168.178.127:5222 60     &#039;&#039;Hinweis: (Der Port ist der, des collectord!! Standard 5222 - die IP-Adresse von die von RPi1)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach der Konfiguration kann der Daemon gestartet werden.&lt;br /&gt;
Sobald das Bluetoothgerät irgendwo in der Wohnung erkannt wurde, meldet der Collectord dies sofort &lt;br /&gt;
an FHEM und teilt den Raum mit in dem es erkannt worden ist. Diese Information wird im Reading &amp;quot;rooms&amp;quot; des jeweiligen BT-Gerätes dargestellt.&lt;br /&gt;
&lt;br /&gt;
Zum testen sollte collectord einmalig manuell gestartet werden. Dies hat den Vorteil, dass man nochmal den Port des collectord prüfen kann, dieser steht in der Zeile &amp;lt;pre&amp;gt;created socket on 0.0.0.0 with port 5222&amp;lt;/pre&amp;gt; und man sehen kann, ob der collectord richtig startet, oder Fehler auswirft. Gestartet wird mit folgendem Kommando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo collectord -vv -c /etc/collectord.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Ausgabe sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2017-04-02 17:52:55 - =================================================&lt;br /&gt;
2017-04-02 17:52:55 - started with PID 15554&lt;br /&gt;
2017-04-02 17:52:55 - reading configuration file&lt;br /&gt;
2017-04-02 17:52:55 - no config errors found&lt;br /&gt;
2017-04-02 17:52:56 - created socket on 0.0.0.0 with port 5222&lt;br /&gt;
2017-04-02 17:53:20 - new connection from 127.0.0.1:48656&lt;br /&gt;
2017-04-02 17:53:20 - created thread 1 for processing device 7C:2F:80:E1:14:31 in room RPi2 for peer 127.0.0.1 (UUID: d0beb79dd4771532eb5e207c7bf31788)&lt;br /&gt;
2017-04-02 17:53:20 - created thread 2 for processing device 7C:2F:80:E1:14:31 in room RPi1 for peer 127.0.0.1 (UUID: d0beb79dd4771532eb5e207c7bf31788)&lt;br /&gt;
2017-04-02 17:53:20 - new connection from 127.0.0.1:48662&lt;br /&gt;
2017-04-02 17:53:20 - new connection from 127.0.0.1:48664&lt;br /&gt;
2017-04-02 17:53:20 - created thread 3 for processing device 7C:2F:80:ED:BC:F7 in room RPi2 for peer 127.0.0.1 (UUID: 7495a112063d5db45e6335d3fe305e36)&lt;br /&gt;
2017-04-02 17:53:20 - created thread 4 for processing device 7C:2F:80:ED:BC:F7 in room RPi1 for peer 127.0.0.1 (UUID: 7495a112063d5db45e6335d3fe305e36)&lt;br /&gt;
2017-04-02 17:53:20 - created thread 5 for processing device 7C:2F:80:E1:2A:4D in room RPi2 for peer 127.0.0.1 (UUID: c228f8d4d33b06787f995c7903c02760)&lt;br /&gt;
2017-04-02 17:53:20 - created thread 6 for processing device 7C:2F:80:E1:2A:4D in room RPi1 for peer 127.0.0.1 (UUID: c228f8d4d33b06787f995c7903c02760)&lt;br /&gt;
2017-04-02 17:53:22 - new connection from 192.168.xxx.xxx:51638&lt;br /&gt;
2017-04-02 17:53:22 - created thread 7 for processing device 7C:2F:80:E1:14:31 in room RPi2 for peer 192.168.xxx.xxx (UUID: 5db7012e709d6dc2fcd8159fc0344e40)&lt;br /&gt;
2017-04-02 17:53:22 - created thread 8 for processing device 7C:2F:80:E1:14:31 in room RPi1 for peer 192.168.xxx.xxx (UUID: 5db7012e709d6dc2fcd8159fc0344e40)&lt;br /&gt;
2017-04-02 17:53:22 - new connection from 192.168.xxx.xxx:51640&lt;br /&gt;
2017-04-02 17:53:22 - created thread 9 for processing device 7C:2F:80:ED:BC:F7 in room RPi2 for peer 192.168.xxx.xxx (UUID: c4b4d7c654132cf88e8c1fec3a956d3d)&lt;br /&gt;
2017-04-02 17:53:23 - created thread 10 for processing device 7C:2F:80:ED:BC:F7 in room RPi1 for peer 192.168.xxx.xxx (UUID: c4b4d7c654132cf88e8c1fec3a956d3d)&lt;br /&gt;
2017-04-02 17:53:29 - new connection from 192.168.xxx.xxx:51642&lt;br /&gt;
2017-04-02 17:53:29 - created thread 11 for processing device 7C:2F:80:E1:2A:4D in room RPi2 for peer 192.168.xxx.xxx (UUID: ecd7081e5ae3a0d8e735c8750cb116a1)&lt;br /&gt;
2017-04-02 17:53:29 - created thread 12 for processing device 7C:2F:80:E1:2A:4D in room RPi1 for peer 192.168.xxx.xxx (UUID: ecd7081e5ae3a0d8e735c8750cb116a1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn das Log wie oben abgebildet aussieht wurde alles richtig gemacht und unter dem Device in FHEM erscheint ein neues Reading &amp;quot;rooms&amp;quot; mit dem Wert der erkannten PRESENCE-Installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verhalten presence timeout im zusammenhang mit dem Attribut &amp;quot;absenceThreshold&amp;quot; der PRESENCE Konfiguration in FHEM&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In der collectord.conf sind &amp;lt;code&amp;gt;presence_timeout&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;absence_timeout&amp;lt;/code&amp;gt; für den jeweiligen Raum konfiguriert.&lt;br /&gt;
Das bedeutet, sobald irgendein Gerät in diesem jeweiligen Raum anwesend/abwesend ist, wird das jeweilige Timeout an den verbundenen presenced/lepresenced geschickt um damit das Check-Interval entsprechend zu ändern.&lt;br /&gt;
&lt;br /&gt;
In der PRESENCE-Definition kann man ebenfalls ein &amp;lt;code&amp;gt;absence_timeout&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;presence_timeout&amp;lt;/code&amp;gt; setzen. Sobald sich der Zustand ändert, wird auch das jeweilige Timeout an den collectord gesandt. Dies hat aber auf die Checks in den jeweiligen Räumen und damit der collectord.conf keinen Einfluss. Der collectord schickt ein Statusupdate an PRESENCE nur, wenn das vorgegebene Timeout (von PRESENCE) erreicht ist und keine Statusänderung stattfand. Sobald eine Änderung des Status erfolgt wird natürlich sofort der Status an PRESENCE geschickt.&lt;br /&gt;
&lt;br /&gt;
Das Attribut absenceThreshold/presenceThreshold funktioniert nachwievor. Hier ist nur wichtig wie man die Timeouts sowohl in PRESENCE als auch collectord.conf setzt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das Reading &amp;quot;room&amp;quot; bei einer PRESENCE Definition und der Zusammenhang zu collectord&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn ein BT LE Empfänger in mehr als einem Raum detektiert wird, führt der collectord (ab Version 1.8) eine RSSI-Erkennung durch. Sofern alle Räume den Empfangspegel (RSSI) ermitteln können, wird der Raum mit dem besten Empfangspegel als Raum für das &amp;quot;room&amp;quot;-Reading ausgewählt. Der lepresenced in aktueller Version von PatrickR gibt immer den Empfangspegel aus.&lt;br /&gt;
&lt;br /&gt;
====  Automatischer Start ====&lt;br /&gt;
Wenn der collectord per .deb Paket installiert wurde, startet er automatisch bei einem Reboot mit (via systemd/init-Skript).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Collectord wird standardmäßig mit dem Port 5222 gestartet. Um diese anzupassen sind zwei Schritte notwendig:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1.)&#039;&#039;&#039; Anpassen der /usr/bin/collectord &lt;br /&gt;
    Hier bitte den Parameter my $opt_p von 5222 auf 5XXX abändern.&lt;br /&gt;
&lt;br /&gt;
Da der collectord mittlerweile per systemd beim reboot des RPi gestarte wird muss auch diese Konfiguration auf den neuen Port angepasst werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.)&#039;&#039;&#039; Anpassen der /etc/default/collectord&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# collectord startup defaults:&lt;br /&gt;
# The TCP port collectord will listen for incoming connections (default: 5222)&lt;br /&gt;
PORT=5111&lt;br /&gt;
# The location of the configuration file (default: /etc/collectord.conf&lt;br /&gt;
CFGFILE=/etc/collectord.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manuell starten als Daemon (Parameter &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;) mit:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo collectord -c /etc/collectord.conf -d -v -l /var/log/collectord.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batterieüberwachung ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Batterieüberwachung mit dem Modul BleTagBattery ===&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anwesenheitserkennung&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCmdRef= --&amp;gt;&lt;br /&gt;
|ModTechName=74_BleTagBattery&lt;br /&gt;
|ModOwner=mumpitzstuff&lt;br /&gt;
}}&lt;br /&gt;
Mit dem Modul BleTagBattery - kann der Batteriestatus aller BT-LE Devices gelesen werden.&lt;br /&gt;
Es werden die Readings batteryLevel und battery angelegt für diejenigen BT-LE Tags, die an einer PRESENCE-Installation registriert wurden.&lt;br /&gt;
&lt;br /&gt;
Vorraussetzung und Installation:&lt;br /&gt;
&lt;br /&gt;
Bluez und Gattool&lt;br /&gt;
 sudo apt-get install bluez&lt;br /&gt;
&lt;br /&gt;
Das Gattool ist in den Installationen von Bluez inbegriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinzufügen des githup für das Modul&lt;br /&gt;
 update add http://raw.githubusercontent.com/mumpitzstuff/fhem-BleTagBattery/master/controls_bletagbattery.txt&lt;br /&gt;
 update all&lt;br /&gt;
 restart fhem: shutdown restart&lt;br /&gt;
 BT-LE tags muss an einer PRESENCE-Installation des type &amp;quot;lan-bluetooth&amp;quot; registriert sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach dem Neustart von FHEM kann das Modul definiert werden:&lt;br /&gt;
 define a new device: define &amp;lt;name of device&amp;gt; BleTagBattery&lt;br /&gt;
&lt;br /&gt;
Das Modul versucht in der Standardkonfiguration alle 6 Stunden die BT-LE Devices zu erreichen und das Reading batteryLevel und battery zu aktualisieren.&lt;br /&gt;
Das Update kann auch manuell mit dem folgenden Befehl erzwungen werden&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;name of device&amp;gt; statusRequest.&lt;br /&gt;
&lt;br /&gt;
Weiter Informationen und Disskussionen können dem eigentlichen [https://forum.fhem.de/index.php?topic=68104.0 Forumsbeitrag] entnommen werden,&lt;br /&gt;
&lt;br /&gt;
=== Batterieüberwachung (aktuell nur G-Tags) ===&lt;br /&gt;
&lt;br /&gt;
Leider überträgt der G-Tag nach der Einrichtung als Device in FHEM kein Reading mit seinem aktuellen Batteriestatus.&lt;br /&gt;
Dem wurde mit Hilfe des Forum Abhilfe geschaffen.&lt;br /&gt;
Im Folgenden wird erläutert wie die Batterieüberwachung eingerichtet werden kann.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voraussetzung:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
bc - Basiscalculator [https://packages.debian.org/de/sid/bc Bc-Paket]&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install bc &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anlegen eines Shellskript auf dem Raspberry System. &lt;br /&gt;
Die Parameter &amp;lt;&amp;lt;MAC-Adresse&amp;gt;&amp;gt; und &amp;lt;&amp;lt;TagName&amp;gt;&amp;gt; müssen durch die Werte des auszulesenden G-Tags ersetzt werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
stringZ=$(sudo gatttool -b 5C:2B:80:C1:14:41 --char-read --handle=0x001b)&lt;br /&gt;
stringZ=${stringZ:33:2}&lt;br /&gt;
stringZ=$(echo &amp;quot;$stringZ&amp;quot; | tr a-f A-F)&lt;br /&gt;
decimal=$(echo &amp;quot;ibase=16; $stringZ&amp;quot; | bc)&lt;br /&gt;
perl /opt/fhem/fhem.pl 7072 &amp;quot;setreading MeinGtag Batterie $decimal&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dem Device in FHEM (hier MeinGtag) ein userReading mit dem Namen &#039;&#039;&#039;Batterie&#039;&#039;&#039; hinzufügen.&lt;br /&gt;
Das Shellskript mit folgendem Befehl starten:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./GtagBatterie.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig ist hierbei,&#039;&#039;&#039; dass Skript mit &amp;quot;./&amp;quot; und nicht mit &amp;quot;sh&amp;quot; aufzurufen. Beim Aufruf mit &amp;quot;sh GtagBatterie.sh&amp;quot; produziert es einen Fehler&lt;br /&gt;
&amp;lt;pre&amp;gt;GtagBatterie.sh: 3: GtagBatterie.sh: Bad substitution &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Reading wird auf den ausgelesenen Wert der Batterie gesetzt. &lt;br /&gt;
&lt;br /&gt;
Hinweis: Es sollte für jeden G-Tag ein eigenes Skript abgelegt werden. Das Skript kann per crontab oder fhem Kommando (system) regelmäßig aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
=== Batterieüberwachung (alle Devices vom Typ &amp;quot;MODE=lan-bluetooth&amp;quot;) ===&lt;br /&gt;
&lt;br /&gt;
Es gibt eine weitere Möglichkeit um den Batteriestatus von LE Devices abzurufen und in FHEM als Reading darzustellen.&lt;br /&gt;
Dabei wird der Batteriezustand für alle LE Devices, die bereits in FHEM konfiguriert sind und per lepresenced überwacht werden, automatisch in einem shell-Script ermittelt.&lt;br /&gt;
Näheres dazu im Forumartikel {{Link2Forum|Topic=56960|LinkText=Erweiterung: Anwesenheitserkennung/Batterieüberwachung}}.&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
* Automatische Ermittlung aller in FHEM konfigurierten LE Devices&lt;br /&gt;
* Möglichkeit, diese Devices alternativ manuell im Script einzutragen&lt;br /&gt;
* Es werden nur Devices abgefragt, die im Status &amp;quot;present&amp;quot; sind, also mit ziemlicher Sicherheit auch verfügbar sind&lt;br /&gt;
* Ein eventuell auf dem FHEM telnet-Port gesetztes Passwort kann im Script hinterlegt werden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voraussetzung:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Funktionierendes lepresenced&#039;&#039;&#039; - siehe [[Anwesenheitserkennung#Anleitung_f.C3.BCr_ein_LE_Device_.28z.B._Gtags.2CPebbles_etc..29|Anleitung für ein LE Device (z.B. Gtags,Pebbles etc.)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;socat&#039;&#039;&#039; - TCP port forwarder&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install socat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gawk&#039;&#039;&#039; - Zum extrahieren der Daten&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install gawk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gatttool&#039;&#039;&#039; - Bestandteil von bluez &lt;br /&gt;
&lt;br /&gt;
gatttool ist auf den meisten Distributionen im bluez-Paket, allerdings nicht bei Opensuse. Dort muss man das Sourcepaket von bluez installieren und selbst kompilieren.&lt;br /&gt;
gatttool sollte dann nach /usr/bin oder /usr/local/bin kopiert werden,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zusätzlich zu den notwendigen Erweiterungen werden für die Ausführung von gatttool &#039;&#039;&#039;Root-Rechte benötigt&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
Das Script selbst gibt es hier: [https://raw.githubusercontent.com/micky0867/lebattery/master/lebattery lebattery]&lt;br /&gt;
&lt;br /&gt;
Am Besten unter /opt/fhem/script/lebattery speichern und ausführbar machen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su -&lt;br /&gt;
mkdir /opt/fhem/script&lt;br /&gt;
cd /opt/fhem/script&lt;br /&gt;
wget https://raw.githubusercontent.com/micky0867/lebattery/master/lebattery&lt;br /&gt;
chmod 755 lebattery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je nach Bedarf können im Script noch die folgenden 3 Parameter angepasst werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# If allowed_telnetPort is protected by a password, add the password here&lt;br /&gt;
TELNETPASSWORD=&amp;quot;&amp;quot;&lt;br /&gt;
# Attribute for batterylevel in FHEM&lt;br /&gt;
ATTRIBUT=&amp;quot;batterylevel&amp;quot;&lt;br /&gt;
# Use this, if you dont want the script to determine the tags on its own&lt;br /&gt;
LETAGS=&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Skript wird dann unter root folgendermaßen gestartet:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/fhem/script/lebattery -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgabe des Skripts, wenn es mit dem Verbose Parameter -v gestartet wird.&lt;br /&gt;
&lt;br /&gt;
Beide Devices sind vom Typ NUT mini, das Device mit dem FHEM-Namen &#039;&#039;&#039;nut_Micky&#039;&#039;&#039; ist im Status &#039;&#039;&#039;absent&#039;&#039;&#039;. Das zweite Device ist im Status &#039;&#039;&#039;present&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Determining address for nut_Micky ...&lt;br /&gt;
nut_Micky is in state absent, no further action required&lt;br /&gt;
&lt;br /&gt;
Determining address for nut_Test ...&lt;br /&gt;
Fetching batterylevel for nut_Test (F3:44:04:81:54:89) ...&lt;br /&gt;
Setting batterylevel for nut_Test to 100%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mein crontab-Eintrag (User root) sieht so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3 3  * * * /opt/fhem/script/lebattery -v &amp;gt;/opt/fhem/script/lebattery.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Damit wird jeden Morgen um 3 Minuten nach 3 Uhr der Zustand der Batterien aller Devices ermittelt und in FHEM abgespeichert.&amp;lt;br&amp;gt; &lt;br /&gt;
Bevor man das mit crontab macht, sollte man allerdings zunächst sicher stellen, dass es auch ohne crontab funktioniert....&lt;br /&gt;
&lt;br /&gt;
Bei Problemen kann man auch erstmal schauen, ob das mit dem gattool überhaupt funktioniert:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gatttool -t &amp;lt;Typ&amp;gt; -b &amp;lt;MAC-Adresse&amp;gt; --char-read --uuid 0x2a19&lt;br /&gt;
&lt;br /&gt;
handle: 0x0017 	 value: 64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In diesem Fall hat die Batterie noch 100% (hex 64).&amp;lt;br&amp;gt;&lt;br /&gt;
Der Typ ist abhängig vom Hersteller und kann public (G-Tags) bzw. random (Nut) sein. Im Zweifelsfall beides ausprobieren.&lt;br /&gt;
&lt;br /&gt;
= Beispiele =&lt;br /&gt;
==  Anwesenheitserkennung / Anwesenheitsbenachrichtigung mit G-Tags ==&lt;br /&gt;
Ein Skript zur Nutzung der Gigaset G-TAGs zur Alarmierung bei öffnen und schließen von Türen und zur Anwesenheitserkennung, um die Alarmierung zu aktivieren bzw. deaktivieren. &lt;br /&gt;
Es kann verwendet werden um die Anwesenheit von mehrern Personen im Haushalt zu erkennen. Dabei wird eingeschränkt, dass nur bestimmte Personen die Alarmierung aktivieren können ( Eltern/Kind -Beziehung ).&lt;br /&gt;
Des Weiteren werden im Beispiel die Eltern benachrichtigt wenn eins der Kinder das Haus verlässt und die Eltern nicht anwesend sind.&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNText=Namen der G-Tags in den Skripten bitte anpassen!}}&lt;br /&gt;
&lt;br /&gt;
Für die &#039;&#039;Notify&#039;&#039; und die &#039;&#039;RESIDENTS-Erweiterung&#039;&#039; wird ein Dummy benötigt.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Alarm dummy&lt;br /&gt;
attr Alarm devStateIcon aktiv:secur_locked@red inaktiv:secur_open@lightgreen&lt;br /&gt;
attr Alarm eventMap on:aktiv off:inaktiv&lt;br /&gt;
attr Alarm setList on off&lt;br /&gt;
attr Alarm webCmd aktiv:inaktiv&lt;br /&gt;
attr Alarm room Alarm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mit Notify ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gtag.*.presence:.* {Anwesenheit_check(&amp;quot;$EVTPART1&amp;quot;, &amp;quot;$NAME&amp;quot;)}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code für die 99_myUtils.pm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### GTAG ANWESENHEITS CHECK&lt;br /&gt;
sub Anwesenheit_check($$) {&lt;br /&gt;
my ($EVENT, $NAME) = @_;&lt;br /&gt;
&lt;br /&gt;
# gtag_rot	-	Alias Marco&lt;br /&gt;
# gtag_schwarz	-	Alias Ulli&lt;br /&gt;
# gtag_gruen	-	Alias Frida&lt;br /&gt;
# gtag_orange	-	Alias Hannah&lt;br /&gt;
&lt;br /&gt;
my $RESIDENT = &amp;quot;rr_&amp;quot;; # Alle GTAGs sind Standardmäßig Residents Roommate&lt;br /&gt;
# $RESIDENT = &amp;quot;rg_&amp;quot; if (($NAME eq &amp;quot;gtag_orange&amp;quot;) xor ($NAME eq &amp;quot;gtag_weis&amp;quot;)); # Hier nur Gäste (Roomguest) Auskommentiert, da ich es so nicht brauche&lt;br /&gt;
my $ROOMMATE = (&amp;quot;$RESIDENT&amp;quot; . &amp;quot;$NAME&amp;quot;); # Residentsname zusammenbauen&lt;br /&gt;
my $ALIASNAME = AttrVal($ROOMMATE,&#039;alias&#039;,$ROOMMATE); # ALIAS des Roommates auslesen&lt;br /&gt;
&lt;br /&gt;
my $GTAG1 = Value(&#039;gtag_rot&#039;); # ELTERN&lt;br /&gt;
my $GTAG2 = Value(&#039;gtag_schwarz&#039;); # ELTERN&lt;br /&gt;
&lt;br /&gt;
my $STATUS = &amp;quot;wahrscheinlich gerade los&amp;quot;;&lt;br /&gt;
$STATUS = &amp;quot;anwesend&amp;quot; if ($EVENT eq &amp;quot;present&amp;quot;); # Status: anwesend&lt;br /&gt;
$STATUS = &amp;quot;unterwegs&amp;quot; if ($EVENT eq &amp;quot;absent&amp;quot;); # Status: unterwegs&lt;br /&gt;
&lt;br /&gt;
Log 1, &amp;quot;$ALIASNAME ist $STATUS.&amp;quot;; # LOG Eintrag erzeugen&lt;br /&gt;
&lt;br /&gt;
if (($EVENT eq &amp;quot;present&amp;quot; &amp;amp;&amp;amp; Value(&amp;quot;Alarm&amp;quot;) eq &amp;quot;aktiv&amp;quot;) &amp;amp;&amp;amp; ($NAME eq &amp;quot;gtag_gruen&amp;quot; xor $NAME eq &amp;quot;gtag_orange&amp;quot;)) {&lt;br /&gt;
 fhem(&amp;quot;set teleBot send ALARMIERUNG BLEIBT AKTIV: $ALIASNAME ist da...&amp;quot;); # Telegram&lt;br /&gt;
# fhem(&amp;quot;set Infopush msg &#039;ALARMIERUNG BLEIBT AKTIV&#039; &#039;$ALIASNAME ist da...&#039;&amp;quot;); # Pushover&lt;br /&gt;
 }&lt;br /&gt;
 elsif (($EVENT eq &amp;quot;present&amp;quot; &amp;amp;&amp;amp; Value(&amp;quot;Alarm&amp;quot;) eq &amp;quot;aktiv&amp;quot;) &amp;amp;&amp;amp; ($NAME eq &amp;quot;gtag_rot&amp;quot; xor $NAME eq &amp;quot;gtag_schwarz&amp;quot;)) {&lt;br /&gt;
 fhem(&amp;quot;set teleBot send ALARMIERUNG INAKTIV: $ALIASNAME ist da...; set Alarm inaktiv&amp;quot;); # Telegram&lt;br /&gt;
# fhem(&amp;quot;set Infopush msg &#039;ALARMIERUNG INAKTIV&#039; &#039;$ALIASNAME ist da...&#039;; set Alarm inaktiv&amp;quot;); # Pushover&lt;br /&gt;
 }&lt;br /&gt;
 elsif (($EVENT eq &amp;quot;absent&amp;quot; &amp;amp;&amp;amp; Value(&amp;quot;Alarm&amp;quot;) eq &amp;quot;aktiv&amp;quot;) &amp;amp;&amp;amp; ($NAME eq &amp;quot;gtag_gruen&amp;quot; xor $NAME eq &amp;quot;gtag_orange&amp;quot;)) {&lt;br /&gt;
 fhem(&amp;quot;set teleBot send ALARMIERUNG BLEIBT AKTIV: $ALIASNAME hat das Haus verlassen.&amp;quot;); # Telegram&lt;br /&gt;
# fhem(&amp;quot;set Infopush msg &#039;ALARMIERUNG BLEIBT AKTIV&#039; &#039;$ALIASNAME hat das Haus verlassen.&#039;&amp;quot;); # Pushover&lt;br /&gt;
 } 		&lt;br /&gt;
 elsif (($EVENT eq &amp;quot;absent&amp;quot; &amp;amp;&amp;amp; Value(&amp;quot;Alarm&amp;quot;) eq &amp;quot;inaktiv&amp;quot;) &amp;amp;&amp;amp; ($GTAG1 eq &amp;quot;absent&amp;quot; &amp;amp;&amp;amp; $GTAG2 eq &amp;quot;absent&amp;quot;)) {&lt;br /&gt;
 fhem(&amp;quot;set Alarm aktiv; set teleBot send ALARMIERUNG AKTIV: $ALIASNAME hat das Haus verlassen.&amp;quot;); # Telegram&lt;br /&gt;
# fhem(&amp;quot;set Alarm aktiv; set Infopush msg &#039;ALARMIERUNG AKTIV&#039; &#039;$ALIASNAME hat das Haus verlassen.&#039; &#039;&#039; 0 &#039;&#039;&amp;quot;); # Pushover&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mit Notify und Integration des RESIDENTS-MODUL ===&lt;br /&gt;
&lt;br /&gt;
Der hier beschriebene Code erweitert die Funktionen unter dem Punkt 5.93.&lt;br /&gt;
Das Notify muss daher mit der folgenden Zeile erweitert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Alarm_AnwesenheitCheck notify gtag.*.presence:.* { Anwesenheit_check(&amp;quot;$EVTPART1&amp;quot;, &amp;quot;$NAME&amp;quot;), Anwesenheit_check_resi(&amp;quot;$NAME&amp;quot;) }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlicher Code für die 99_myUtils.pm um die RESIDENTS Funktion nutzen zu können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### RESIDENTS&lt;br /&gt;
sub Anwesenheit_check_resi($) {&lt;br /&gt;
my ($NAME) = @_;&lt;br /&gt;
my $ALIASNAME = AttrVal($NAME,&#039;alias&#039;,$NAME); # ALIASNAME des GTAGs auslesen&lt;br /&gt;
&lt;br /&gt;
my $RESIDENT = &amp;quot;rr_&amp;quot;; # Als Standard sind alle GTAGs Roommates&lt;br /&gt;
$RESIDENT = &amp;quot;rg_&amp;quot; if (($NAME eq &amp;quot;gtag_orange&amp;quot;) xor ($NAME eq &amp;quot;gtag_weis&amp;quot;)); # Hier nur GTAG Namen der Gäste (Roomguest)&lt;br /&gt;
my $ROOMMATE = (&amp;quot;$RESIDENT&amp;quot; . &amp;quot;$ALIASNAME&amp;quot;); # Residentsname zusammenbauen&lt;br /&gt;
&lt;br /&gt;
if (ReadingsVal($NAME,&#039;presence&#039;,$NAME) eq &amp;quot;absent&amp;quot;) {&lt;br /&gt;
 fhem(&amp;quot;set $ROOMMATE absent&amp;quot;); # Resisents Status von Roommates setzen&lt;br /&gt;
 }&lt;br /&gt;
 elsif(ReadingsVal($NAME,&#039;presence&#039;,$NAME) eq &amp;quot;present&amp;quot;) {&lt;br /&gt;
 fhem(&amp;quot;set $ROOMMATE home&amp;quot;); # Resisents Status von Roommates setzen&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mit Notify und Fenster/Tür. -Kontakt Überwachung ===&lt;br /&gt;
&lt;br /&gt;
Erweiterung für die Überwachung von  Fenster/Tür. -Kontakten. Dazu sind zwei weitere Notifys notwendig die auf die Trigger der Kontakte regagieren&lt;br /&gt;
und so eine weitere Funktion in der 99_myUtils.pm ansprechen. Die Notifys triggern auf Kontakte die mit dem Namen Kontakt* beginnen.&lt;br /&gt;
Sollten die eigenen Fenster/Tür. -Kontakt anderen Namen besitzen, müssen die Skripte dementsprechend angepasst werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Alarm_Kontaktmeldung notify Kontakt.*:contact:.* {Kontakt_Meldung(&amp;quot;$EVTPART1&amp;quot;, &amp;quot;$NAME&amp;quot;)}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Alarm_Sabotagealarm notify Kontakt.*.sabotageError:.on {Kontakt_Sabotage(&amp;quot;$EVTPART1&amp;quot;, &amp;quot;$NAME&amp;quot;)}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlicher Code für die 99_myUtils.pm um die TÜRKONTAKTE-Meldung nutzen zu können:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### TÜRKONTAKTE-Meldung/Zustand&lt;br /&gt;
sub Kontakt_Meldung($$) {&lt;br /&gt;
my ($EVENT, $NAME) = @_;&lt;br /&gt;
my $ALIASNAME = AttrVal($NAME,&#039;alias&#039;,$NAME);&lt;br /&gt;
Log 1, &amp;quot;$ALIASNAME wurde $EVENT&amp;quot;;&lt;br /&gt;
if (ReadingsVal(&amp;quot;Alarm&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot;) {&lt;br /&gt;
fhem(&amp;quot;set teleBot send $ALIASNAME wurde $EVENT&amp;quot;); # Nachricht über Telegram&lt;br /&gt;
# fhem(&amp;quot;set Infopush msg &#039;$ALIASNAME&#039; &#039;$ALIASNAME wurde $EVENT&#039;&amp;quot;); # Nachricht über Pushover&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### TÜRKONTAKTE-Sabotagealarm&lt;br /&gt;
&lt;br /&gt;
sub Kontakt_Sabotage($$) {&lt;br /&gt;
my ($EVENT, $NAME) = @_;&lt;br /&gt;
my $ALIASNAME = AttrVal($NAME,&#039;alias&#039;,$NAME);&lt;br /&gt;
Log 1, &amp;quot;$ALIASNAME meldet Sabotagealarm&amp;quot;;&lt;br /&gt;
fhem(&amp;quot;set teleBot send Alarm: $ALIASNAME meldet Sabotagealarm&amp;quot;); # Nachricht über Telegram&lt;br /&gt;
# fhem(&amp;quot;set Infopush msg &#039;Alarmanlage&#039; &#039;$ALIASNAME meldet Sabotagealarm&#039; &#039;&#039; 2 &#039; &#039; 60 600 &amp;quot;); # Nachricht über Pushover&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hinweis zur Benutzung / Fehlerhandling ===&lt;br /&gt;
&lt;br /&gt;
Der Alarm dummy hat den Zustand on:off.  Die Bezeichnungen und Namen müssen 1:1 übernommen werden damit das Script funktioniert.&lt;br /&gt;
Andernfalls müssen die Bezeichnungen für z.B. absent:unterwegs und present:anwesend - angepasst werden.&lt;br /&gt;
Die Benachrichtigung kann aktuell per &#039;&#039;[[TelegramBot|Telegram]]&#039;&#039; sowie &#039;&#039;Pushover&#039;&#039; (&#039;&#039;&#039;Achtung mit zweiterem sind Abokosten verbunden!&#039;&#039;&#039;) realisiert werden.&lt;br /&gt;
Diskussion zum Thema im Forum unter: {{Link2Forum|Topic=64080}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Problemlösungen =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absent - Grundlos / Zufällig&#039;&#039;&#039; 2022&lt;br /&gt;
&lt;br /&gt;
Zufällige oder Grundlose absent-Meldungen einzelner G-Tags können mit einem FIX behoben werden. Dazu ist es notwendig die BT-Firmware downzugraden.&lt;br /&gt;
&lt;br /&gt;
Auf GIT das .deb Paket herunterladen und auf das jeweiligen System kopieren&lt;br /&gt;
&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://github.com/winterheart/broadcom-bt-firmware/releases/download/v12.0.1.1105_p3/broadcom-bt-firmware-10.1.0.1115.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschliessend installieren und das System neu starten.&lt;br /&gt;
&lt;br /&gt;
 sudo dpkg -i broadcom-bt-firmware-10.1.0.1115.deb&lt;br /&gt;
{{Randnotiz|RNText= Dieser FIX scheint nicht bei jedem zu funktionieren! Es gibt auch System die Problemlos ohne FIX arbeiten. Bei einem Update/Upgrade des RPI muss der FIX - wenn notwendig - wieder erneut installiert werden.}}&lt;br /&gt;
&lt;br /&gt;
Danach sollten die Tags wieder Problemlos erkannt werden und nicht nach wenigen Tagen wieder auf &amp;quot;absent&amp;quot; stehen.&lt;br /&gt;
&lt;br /&gt;
Falls es &#039;&#039;&#039;Probleme beim Starten des Skripts&#039;&#039;&#039; gibt bzw. man das Skript ohne Reboot des Systems neustarten möchte, kann man dies per kill Befehl erledigen.&lt;br /&gt;
&lt;br /&gt;
Das Thema wurde u.a in [https://forum.fhem.de/index.php?topic=75559.new;topicseen#new diesem] Beitrag beschrieben. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps -ef | grep lepresenced&lt;br /&gt;
sudo kill &amp;lt;pid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Debuglevel lepresenced setzen:&lt;br /&gt;
{{Randnotiz|RNText=Um Debug-Meldungen zu bekommen (Vorsicht bei SD-Karten-Systemen wie dem RPi) - Hierbei werden die Schreibzyklen auf die SD-Karte erhöht.}}&lt;br /&gt;
&lt;br /&gt;
Der Log Level muss im lepresenced-Skript selbst verändert werden. Um den Log-Level auf INFO/WARNING/DEBUG zu setzen, das Skript lepresenced mit einem Editor öffnen und die Stellen, wo LOG_WARNING zu finden ist, durch den nötigen LOG-Eintrag ersetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lepresenced --loglevel LOG_DEBUG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nur das wichtigste Loggen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lepresenced --loglevel LOG_WARNING&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Keinerlei LOG-Einträge&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lepresenced --loglevel LOG_EMERG&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei &#039;&#039;&#039;Problemen mit der Batterieüberwachung&#039;&#039;&#039; der Tags kann die Pi Firmware mit folgenden Befehl auf eine ältere Version zurückgesetzt werden.&lt;br /&gt;
Fehlermeldung beim Aufruf des lebattery oder anderen Batterietestskripten:&lt;br /&gt;
&amp;lt;pre&amp;gt;connect: Connection refused (111)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lösung (vorübergehend) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rpi-update 8521fd34c8f66b6d109acce943f6e25ec93ec005&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mehr dazu unter: {{Link2Forum|Topic=56960|Message=589165}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das BT-Device ist ständig &amp;quot;absent&amp;quot;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Mögliche Lösung kann sein, das Paket bluez-hcidump zu installieren. Das Werkzeug hcidump erlaubt die Beobachtung von Bluetooth-Aktivitäten.&lt;br /&gt;
Dies ist nicht notwendig, wenn bereits bluez installiert ist, da dies Teil des bluez Paketes ist&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bluez-hcidump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fehler in Logdateien /var/log/syslog und /var/log/kernel&#039;&#039;&#039;&lt;br /&gt;
 Jul 29 15:08:11 raspberrypi kernel: [ 4905.634211] bt_err_ratelimited: 1 callbacks suppressed&lt;br /&gt;
 Jul 29 15:08:11 raspberrypi kernel: [ 4905.634231] Bluetooth: hci0 advertising data length corrected&lt;br /&gt;
 Jul 29 15:08:12 raspberrypi kernel: [ 4906.647350] Bluetooth: hci0 advertising data length corrected&lt;br /&gt;
 Jul 29 15:08:13 raspberrypi kernel: [ 4907.532081] Bluetooth: hci0 advertising data length corrected&lt;br /&gt;
 Jul 29 15:08:13 raspberrypi kernel: [ 4907.655564] Bluetooth: hci0 advertising data length corrected&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Ursache des Problems ist noch nicht ergründet, allerdings betrifft dies aktuell nur den RPi3. Die Fehlermeldungen werden in verschiedene Logs geschrieben. Darunter maßgeblich &amp;quot;syslog&amp;quot; und &amp;quot;kern.log&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Lösung (vorübergehend):&lt;br /&gt;
Unterbinden der Einträge durch Anlage eines blocklist Eintrag:&lt;br /&gt;
&lt;br /&gt;
 1. Unter &amp;quot;/etc/rsyslog.d&amp;quot; eine Datei erzeugen mit dem Namen &amp;quot;01-blocklist.conf&amp;quot;&lt;br /&gt;
 2. Inhalt: (Die Ausdrücke in den &amp;quot;&amp;quot; sind diejenigen, die aus dem log verschwinden sollen. - bei mir waren es die untenstehenden&amp;quot;)&lt;br /&gt;
    :msg,contains,&amp;quot;Bluetooth: hci0 advertising data length corrected&amp;quot; stop&lt;br /&gt;
    :msg,contains,&amp;quot;bt_err_ratelimited:&amp;quot; stop&lt;br /&gt;
 3. Dienst neu starten &amp;quot;sudo service rsyslog restart&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Weiter Infos werden im offiziellen Thema {{Link2Forum|Topic=28753|Message=499184|LinkText=hier}} diskutiert.&lt;br /&gt;
&lt;br /&gt;
Seit Version 0.82 kann es beim Start zu folgenden Meldungen im Log kommen. &lt;br /&gt;
 Sep 06 16:13:45 raspberrypi systemd[1]: Started lepresenced.&lt;br /&gt;
 Sep 06 16:13:45 raspberrypi lepresenced[16010]: [tid:1] main::bluetooth_scan_thread: Received &#039;Set scan parameters failed: Input/output error&#039;, ...tting...&lt;br /&gt;
 Sep 06 16:13:46 raspberrypi lepresenced[16010]: [tid:1] main::bluetooth_scan_thread: hcitool exited, retrying...&lt;br /&gt;
&lt;br /&gt;
Diese Meldungen können ignoriert werden. Abhilfe schafft sich lepresenced selbst, indem es sich resettet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Moderne iPhones und Android Geräte wechseln in den Schlaf-Modus&#039;&#039;&#039;, um Energie zu sparen. Somit sind die Geräte zur Anwesenheitserkennung nicht per Ping zu erreichen.&lt;br /&gt;
Durch das Programm hping3, lassen sich zyklisch Pakete an die Geräte senden, um sie wieder &amp;quot;aufzuwecken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Mehr im Forum [https://forum.fhem.de/index.php/topic,76342.0.html]&lt;br /&gt;
&lt;br /&gt;
= Versionsänderungen lepresenced =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--Version 0.81 (BasisVersion)&lt;br /&gt;
--Version 0.82 (stable  08/2017)&lt;br /&gt;
  -Neue Kommandozeilenoption &amp;quot;--debug&amp;quot;: Startet lepresenced im Vordergrund und gibt ausführliche Debug-Informationen auf STDOUT aus.&lt;br /&gt;
  -Sanity Check: lepresenced prüft beim Starten die Verfügbarkeit von hciconfig, hcitool und hcidump.&lt;br /&gt;
  -Model: lepresenced übermittelt das Reading model nun als lan-lepresenced. Das erlaubt die Erkennung von lepresenced in der FHEM-Statistik (sofern aktiviert).&lt;br /&gt;
--Version 0.83 (stable  09/2017)&lt;br /&gt;
  - Behebung von Systemstart Fehlern&lt;br /&gt;
  - Weitere Debug-Möglichkeiten. U. a. wird nun mitgezählt, ob hcitool lescan (&amp;quot;legacy&amp;quot;) und hcidump eine identische Zahl an Beacons empfangen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ansprechpartner =&lt;br /&gt;
# {{Link2FU|117|markusbloch }} (Markus) für das PRESENCE-Modul und collectord&lt;br /&gt;
# {{Link2FU|5068|PatrikR}} (Patrick) für lepresenced &lt;br /&gt;
# [[Benutzer Diskussion:Devender|Devender]] ({{Link2FU|20043|Dirk}}) für Wiki und Doku&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Anwesenheitserkennung]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FB_CALLLIST&amp;diff=38194</id>
		<title>FB CALLLIST</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FB_CALLLIST&amp;diff=38194"/>
		<updated>2023-03-08T14:46:39Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Modulowner angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Erstellung einer rollierenden Anrufliste aus einer [[FB_CALLMONITOR]] Definition&lt;br /&gt;
|ModType=h&lt;br /&gt;
|ModForumArea=Frontends&lt;br /&gt;
|ModCmdRef=FB_CALLLIST&lt;br /&gt;
|ModTechName=72_FB_CALLLIST.pm&lt;br /&gt;
|ModOwner=Jörg/JoWiemann ({{Link2FU|94|Forum}} / [[Benutzer Diskussion:JoWiemann|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[FB_CALLLIST]] erstellt aus einer [[FB_CALLMONITOR]]-Definition eine rollierende Anrufliste, welche durch Attribute an die eigenen Bedürfnisse angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Es wird eine [[FB_CALLMONITOR]] Definition benötigt, von der &#039;&#039;FB_CALLLIST&#039;&#039; die Events entsprechend verarbeiten kann. &lt;br /&gt;
&lt;br /&gt;
Die [[FB_CALLMONITOR]]-Definition muss dabei für jedes Gespräch mind. das Reading &amp;quot;event&amp;quot; triggern. Bei evtl. gesetztem Attribut &amp;lt;code&amp;gt;event-on-change-readings&amp;lt;/code&amp;gt; muss sichergestellt sein, dass das Readings &amp;quot;event&amp;quot; zusätzlich in dem Attribut &amp;lt;code&amp;gt;event-on-update-reading&amp;lt;/code&amp;gt; eingetragen ist, da sonst parallel laufende Gespräche nicht sauber verarbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
[[Datei:FB_CALLLIST Anrufliste.png|400px|thumb|right|Beispielhafte Anrufliste mit FB_CALLLIST]] &lt;br /&gt;
FB_CALLLIST kann sehr flexibel eingesetzt werden um Anrufe in Form einer Liste in FHEM darzustellen. Die Anrufliste wird dabei in allen geöffnetet Browser-Fenstern per Longpoll-Mechanismus aktuell gehalten. Das bedeutet, dass bei neuen Anrufevents Änderungen an der Liste sofort an alle geöffneten Browser weitergegeben werden. Dies ist besonders nützlich bei der Verwendung auf Status-Displays.&lt;br /&gt;
&lt;br /&gt;
=== Define ===&lt;br /&gt;
&lt;br /&gt;
Man definiert eine FB_CALLLIST-Instanz wie folgt:&lt;br /&gt;
&lt;br /&gt;
 define &amp;amp;lt;Name&amp;amp;gt; FB_CALLLIST &amp;amp;lt;FB_CALLMONITOR-Definition&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man benötigt als Übergabeparameter lediglich den Namen einer FB_CALLMONITOR-Definition. Aus den Events dieser Definition wird FB_CALLLIST eine Anrufliste erzeugen. &lt;br /&gt;
&lt;br /&gt;
Es ist auch möglich als Übergabeparameter einen Definitionsnamen zu wählen, der nicht vom Typ FB_CALLMONITOR stammt. In dem Fall wird eine Warnmeldung im Log erzeugt.&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
Die Liste kann durch eine Vielzahl an Attributen an die eigenen Bedürfnisse angepasst werden. Dies betrifft insbesondere folgende Funktionalitäten:&lt;br /&gt;
&lt;br /&gt;
* Begrenzung der Anzahl anzuzeigender Anrufe (Attribute &amp;lt;code&amp;gt;number-of-calls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;expire-calls-after&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Zuordnung von eigenen Bezeichnern für Rufnummern und Telefonie-Geräte (Attribute: &amp;lt;code&amp;gt;connection-mapping&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;internal-number-filter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;external-mapping&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Anzeige nur bestimmter Anrufe (Attribut: &amp;lt;code&amp;gt;answMachine-is-missed-call&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;list-type&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Optische Anpassungen (Attribute: &amp;lt;code&amp;gt;icon-mapping&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;list-order&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;no-heading&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;no-table-header&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;show-icons&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;time-format-string&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;visible-columns&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Eine genaue Beschreibung der einzelnen Attribute und ihrer Funktion findet man in der {{Link2CmdRef|Anker=FB_CALLLIST_attr}}.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
=== Tablet-UI Integration ===&lt;br /&gt;
[[Datei:FB CALLLIST Anzeigebeispiel Tablet-UI.png|200px|thumb|right|Anzeigebeispiel Tablet-UI]] &lt;br /&gt;
Man kann die Anrufliste einfach in Tablet-UI integrieren. Dazu ist es jedoch notwendig das Attribut {{Link2CmdRef|Anker=FB_CALLLIST_create-readings|Label= create-readings}} zu aktivieren. Damit die Anrufliste als Readings zur Verfügung stehen, welche dann in Tablet-UI eingebunden werden können.&lt;br /&gt;
&lt;br /&gt;
Beispielhaft kann man dann mit folgendem HTML-Code eine Anzeige der Anrufliste realisieren. In diesem Fall werden die ersten zwei Zeilen der Anrufliste im Tablet-UI abgebildet. Die Bezeichnung &amp;lt;code&amp;gt;FritzBoxCallList&amp;lt;/code&amp;gt; ist dabei der Name der FB_CALLLIST-Definition in FHEM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li data-row=&amp;quot;8&amp;quot; data-col=&amp;quot;2&amp;quot; data-sizex=&amp;quot;4&amp;quot; data-sizey=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;header class=&amp;quot;headerTransparent&amp;quot;&amp;gt;ANRUFE&amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;table width=&amp;quot;100%&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Zuordnung des Status zu entsprechendem Icon --&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;narrow&amp;quot; data-type=&amp;quot;symbol&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot;&lt;br /&gt;
                     data-get=&amp;quot;1-state&amp;quot; data-states=&#039;[&amp;quot;=&amp;gt;&amp;quot;,&amp;quot;=&amp;gt; X&amp;quot;,&amp;quot;=&amp;gt; ((o))&amp;quot;,&amp;quot;=&amp;gt; [=]&amp;quot;,&amp;quot;=&amp;gt; O_O&amp;quot;]&#039;&lt;br /&gt;
                     data-icons=&#039;[&amp;quot;oa-phone_call_end_in&amp;quot;,&amp;quot;oa-phone_missed_in&amp;quot;,&amp;quot;oa-phone_ring fa-blink&amp;quot;,&amp;quot;oa-phone_ring_in fa-blink&amp;quot;,&amp;quot;oa-phone_answersing&amp;quot;]&#039;&lt;br /&gt;
                     data-colors=&#039;[&amp;quot;green&amp;quot;,&amp;quot;firebrick&amp;quot;,&amp;quot;firebrick&amp;quot;,&amp;quot;green&amp;quot;,&amp;quot;#aa6900&amp;quot;]&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-timestamp&amp;quot; data-part=&amp;quot;5&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-timestamp&amp;quot; data-part=&amp;quot;1&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-timestamp&amp;quot; data-part=&amp;quot;2&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-timestamp&amp;quot; data-part=&amp;quot;3&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-name&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-number&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;1-duration&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;narrow&amp;quot; data-type=&amp;quot;symbol&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot;&lt;br /&gt;
                     data-get=&amp;quot;2-state&amp;quot; data-states=&#039;[&amp;quot;=&amp;gt;&amp;quot;,&amp;quot;=&amp;gt; X&amp;quot;,&amp;quot;=&amp;gt; ((o))&amp;quot;,&amp;quot;=&amp;gt; [=]&amp;quot;,&amp;quot;=&amp;gt; O_O&amp;quot;]&#039;&lt;br /&gt;
                     data-icons=&#039;[&amp;quot;oa-phone_call_end_in&amp;quot;,&amp;quot;oa-phone_missed_in&amp;quot;,&amp;quot;oa-phone_ring fa-blink&amp;quot;,&amp;quot;oa-phone_ring_in fa-blink&amp;quot;,&amp;quot;oa-phone_answersing&amp;quot;]&#039;&lt;br /&gt;
                     data-colors=&#039;[&amp;quot;green&amp;quot;,&amp;quot;firebrick&amp;quot;,&amp;quot;firebrick&amp;quot;,&amp;quot;green&amp;quot;,&amp;quot;#aa6900&amp;quot;]&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-timestamp&amp;quot; data-part=&amp;quot;5&amp;quot; class=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-timestamp&amp;quot; data-part=&amp;quot;1&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-timestamp&amp;quot; data-part=&amp;quot;2&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-timestamp&amp;quot; data-part=&amp;quot;3&amp;quot; class=&amp;quot;inline&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-name&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-number&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
            &amp;lt;td&amp;gt;&lt;br /&gt;
                &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;FritzBoxCallList&amp;quot; data-get=&amp;quot;2-duration&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* {{Link2CmdRef|Anker=FB_CALLLIST}} (EN)&lt;br /&gt;
* {{Link2CmdRef|Lang=de|Anker=FB_CALLLIST}} (DE)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Yamaha_AV-Receiver&amp;diff=38193</id>
		<title>Yamaha AV-Receiver</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Yamaha_AV-Receiver&amp;diff=38193"/>
		<updated>2023-03-08T14:45:16Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Modulowner angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|Anwendungsbeispiele ergänzen; Informationen, die in der Infobox stehen, entfernen}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Steuerung netzwerkfähiger AV-Receiver von Yamaha&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=YAMAHA_AVR&lt;br /&gt;
|ModForumArea=Multimedia&lt;br /&gt;
|ModTechName=71_YAMAHA_AVR.pm&lt;br /&gt;
|ModOwner=Beta-User ({{Link2FU|9229|Forum}}/[[Benutzer Diskussion:Beta-User|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
Für AV-Receiver des Herstellers Yamaha gibt es in FHEM bereits ein entsprechendes Modul mit dem alle netzwerkfähigen Modelle gesteuert werden können.&lt;br /&gt;
&lt;br /&gt;
Für die genaue Benutzung in FHEM siehe dazu die {{Link2CmdRef|Lang=de|Anker=YAMAHA_AVR}} zu dem Modul YAMAHA_AVR.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* {{Link2CmdRef|Lang=de|Anker=YAMAHA_AVR}}-Eintrag zu YAMAHA_AVR&lt;br /&gt;
* [http://www.yamaha.com Herstellerseite von Yamaha]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Unterhaltungselektronik]]&lt;br /&gt;
[[Kategorie:IP_Components]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FB_CALLMONITOR&amp;diff=38192</id>
		<title>FB CALLMONITOR</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FB_CALLMONITOR&amp;diff=38192"/>
		<updated>2023-03-08T14:44:13Z</updated>

		<summary type="html">&lt;p&gt;Krikan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Protokollieren von (Telefonie-)Ereignissen auf einer [[AVM Fritz!Box|Fritz!Box]]&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef ... ist nötig wegen Unterstrich im Seitennamen --&amp;gt;&lt;br /&gt;
|ModCmdRef=FB_CALLMONITOR&lt;br /&gt;
|ModTechName=72_FB_CALLMONITOR.pm&lt;br /&gt;
|ModOwner=Jörg/JoWiemann ({{Link2FU|94|Forum}} / [[Benutzer Diskussion:JoWiemann|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[FB_CALLMONITOR]] ist ein Hilfsmodul, das Telefonie-Ereignisse auf einer (über Netzwerk erreichbaren) [[AVM Fritz!Box|Fritz!Box]] protokolliert.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Die CallMonitor-Funktion auf der Fritz!Box muss aktiviert sein (z.B. durch Eingabe von &amp;lt;code&amp;gt;#96*5*&amp;lt;/code&amp;gt; auf einem direkt an der Fritz!Box angeschlossenen Telefon).&lt;br /&gt;
&lt;br /&gt;
Es ist zu beachten, dass der FB_CALLMONITOR keine internen Anrufe erfasst, da diese Anrufe nicht durch die FritzBox gemeldet werden. Es können daher nur externe Anrufe kommen und gehend in FHEM verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Define ===&lt;br /&gt;
Siehe {{Link2CmdRef|Anker=FB_CALLMONITOR}}&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
Siehe {{Link2CmdRef|Anker=FB_CALLMONITOR}}&lt;br /&gt;
&lt;br /&gt;
=== Funktionen ===&lt;br /&gt;
* Protokollierung von Anrufen &lt;br /&gt;
* Nachschlagen von Telefonnummern in einer konfigurierbaren Auswahl von Telefonbüchern (online oder lokal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiel(e) ==&lt;br /&gt;
* {{Link2Forum|Topic=19238|LinkText=Callmonitor für Anfänger}} im FHEM -Forum (Beispiel und Diskussion). &amp;lt;br /&amp;gt;Daraus entstandene Wiki-Seite: [[Callmonitor mit Anruferliste und Zusatzfunktionen]].&lt;br /&gt;
* {{Link2Forum|Topic=19238|Message=138430|LinkText=Anzeigebeispiel}} im [[Dashboard]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.wehavemorefun.de/fritzbox/Callmonitor Schnittstellenbeschreibung]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FB_CALLMONITOR&amp;diff=38191</id>
		<title>FB CALLMONITOR</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FB_CALLMONITOR&amp;diff=38191"/>
		<updated>2023-03-08T14:43:18Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Modulowner aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Protokollieren von (Telefonie-)Ereignissen auf einer [[AVM Fritz!Box|Fritz!Box]]&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef ... ist nötig wegen Unterstrich im Seitennamen --&amp;gt;&lt;br /&gt;
|ModCmdRef=FB_CALLMONITOR&lt;br /&gt;
|ModTechName=72_FB_CALLMONITOR.pm&lt;br /&gt;
|ModOwner=Jörg/JoWiemann ({{Link2FU|94|Forum}} / [[Benutzer Diskussion:JoWiemann|Wiki]])}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[FB_CALLMONITOR]] ist ein Hilfsmodul, das Telefonie-Ereignisse auf einer (über Netzwerk erreichbaren) [[AVM Fritz!Box|Fritz!Box]] protokolliert.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Die CallMonitor-Funktion auf der Fritz!Box muss aktiviert sein (z.B. durch Eingabe von &amp;lt;code&amp;gt;#96*5*&amp;lt;/code&amp;gt; auf einem direkt an der Fritz!Box angeschlossenen Telefon).&lt;br /&gt;
&lt;br /&gt;
Es ist zu beachten, dass der FB_CALLMONITOR keine internen Anrufe erfasst, da diese Anrufe nicht durch die FritzBox gemeldet werden. Es können daher nur externe Anrufe kommen und gehend in FHEM verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Define ===&lt;br /&gt;
Siehe {{Link2CmdRef|Anker=FB_CALLMONITOR}}&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
Siehe {{Link2CmdRef|Anker=FB_CALLMONITOR}}&lt;br /&gt;
&lt;br /&gt;
=== Funktionen ===&lt;br /&gt;
* Protokollierung von Anrufen &lt;br /&gt;
* Nachschlagen von Telefonnummern in einer konfigurierbaren Auswahl von Telefonbüchern (online oder lokal)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiel(e) ==&lt;br /&gt;
* {{Link2Forum|Topic=19238|LinkText=Callmonitor für Anfänger}} im FHEM -Forum (Beispiel und Diskussion). &amp;lt;br /&amp;gt;Daraus entstandene Wiki-Seite: [[Callmonitor mit Anruferliste und Zusatzfunktionen]].&lt;br /&gt;
* {{Link2Forum|Topic=19238|Message=138430|LinkText=Anzeigebeispiel}} im [[Dashboard]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.wehavemorefun.de/fritzbox/Callmonitor Schnittstellenbeschreibung]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEMWiki:Administratoren&amp;diff=38190</id>
		<title>FHEMWiki:Administratoren</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEMWiki:Administratoren&amp;diff=38190"/>
		<updated>2023-03-08T14:39:05Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Markus bei Benutzerkontenantrag entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color: #FFFFF0; border: 1px solid maroon;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | &amp;lt;!-- Spalte 1 (links) --&amp;gt;&lt;br /&gt;
=== Benutzerkonto beantragen === &lt;br /&gt;
Neue Benutzerkonten im FHEM-Wiki können nur von den Administratoren angelegt werden. Dazu muss der Antragsteller eine&lt;br /&gt;
* E-Mail an &#039;&#039;&#039;einen&#039;&#039;&#039; der Administratoren schicken mit&lt;br /&gt;
* dem gewünschten Benutzernamen (wenn die erste Stelle ein Buchstabe ist, wird das immer ein Großbuchstabe - das macht die Wiki-Software so und lässt sich auch nicht ändern)&lt;br /&gt;
&amp;lt;!-- * einem sicheren(!) Startpasswort (sofern kein Startpasswort mitgegeben wird, bekommt ihr ein automatisch generiertes zugeteilt) --&amp;gt;&lt;br /&gt;
* und seiner E-Mail-Adresse &lt;br /&gt;
&lt;br /&gt;
Nur mit &#039;&#039;&#039;vollständigen&#039;&#039;&#039; Angaben wird ein Benutzerkonto angelegt. Nochmal zum Abschreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Benutzername: &lt;br /&gt;
E-Mail Adresse: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bitte schreibt die Administratoren (einen nach dem anderen!) in der untenstehenden Reihenfolge an. Erst wenn der Antrag am dritten Tag noch nicht bearbeitet wurde, den nächsten in der Liste anschreiben. Ignorieren dieser Empfehlung führt &#039;&#039;&#039;nicht&#039;&#039;&#039; zu einer Beschleunigung des Antrags ... eher im Gegenteil!&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Administratoren:&amp;lt;br&amp;gt;&lt;br /&gt;
1. [[Benutzer: Ph1959de|Ph1959de]] (Peter) - [[Datei:Ph1959deMail.png]]&lt;br /&gt;
: ... keine Antwort? Drei Tage warten ...  &lt;br /&gt;
2. [[Benutzer: Krikan|Krikan]] (Christian) - [[Datei:CgfhemwikiMail.png]]&lt;br /&gt;
: ... keine Antwort? Drei Tage warten ...&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
2. [[Benutzer:Soulman|soulman]] (Christian) - soulman (at) fhemwiki (punkt) de &lt;br /&gt;
: ... keine Antwort? Drei Tage warten ... &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
3. [[Benutzer:Akw|akw]] (Arno) - [http://www.arnowillig.de/contact/ Arno]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
| style=&amp;quot;width:50%&amp;quot; | &amp;lt;!-- Spalte 2 (rechts) --&amp;gt;&lt;br /&gt;
=== Request user account === &lt;br /&gt;
New user accounts on FHEM-Wiki need to be created by one of the administrators. To get an account, the requestor needs to &lt;br /&gt;
* send an email to &#039;&#039;&#039;one&#039;&#039;&#039; of the administrators with&lt;br /&gt;
* the desired user name (if the first position is a letter, it will always be uppercase - this is forced by the Wiki-Software and can not be circumvented)&lt;br /&gt;
&amp;lt;!-- * a secure(!) start password (if you don&#039;t specify a password, you&#039;ll get an automatically generated one) --&amp;gt;&lt;br /&gt;
* and his email address&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; of the above items are mandatory. You need a template? &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Username: &lt;br /&gt;
E-Mail Address: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please contact the administrators (one after the other!) in the sequence given below. Only if your request has not been fulfilled after three days you may contact the next person on the list. Ignoring these instructions will &#039;&#039;&#039;not&#039;&#039;&#039; speed up processing of your request ... it will rather delay it even more!&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
Administrators:&amp;lt;br&amp;gt;&lt;br /&gt;
1. [[Benutzer: Ph1959de|Ph1959de]] (Peter) - [[Datei:Ph1959deMail.png]]&lt;br /&gt;
: ... No answer? Wait for three days ... &lt;br /&gt;
2. [[Benutzer: Krikan|Krikan]] (Christian) - [[Datei:CgfhemwikiMail.png]]&lt;br /&gt;
: ... No answer? Wait for three days ...&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
2. [[Benutzer:Soulman|soulman]] (Christian) - soulman (at) fhemwiki (punkt) de &lt;br /&gt;
: ... No answer? Wait for three days ...&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
3. [[Benutzer:Akw|akw]] (Arno) - [http://www.arnowillig.de/contact/ Arno]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Administratoren ===&lt;br /&gt;
Neben den für Anträge auf Benutzerkonten zuständigen Administratoren gibt es noch weitere Benutzer mit Administratorrechten. Nachfolgend eine Liste aller derzeitigen Administratoren des FHEM Wiki:&lt;br /&gt;
{{Special:ListUsers/sysop}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Wiki]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Siggi&amp;diff=37538</id>
		<title>Benutzer Diskussion:Siggi</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Siggi&amp;diff=37538"/>
		<updated>2022-09-08T03:00:33Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /*Willkommen*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ph1959de/Hallo‏‎}}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave_Firmware_Update&amp;diff=34206</id>
		<title>Z-Wave Firmware Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave_Firmware_Update&amp;diff=34206"/>
		<updated>2020-11-10T17:35:13Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Über ZWDongle oder ZWCUL unter FHEM */  -&amp;gt; Popp-Firmwaredateien&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundsätzlich bietet sowohl [[Z-Wave#Definition des Gateways /Controllers|ZWDongle]] wie [[ZWCUL]] die Möglichkeit an, die Firmware von [[Z-Wave]]-Geräten zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Leider bieten die wenigsten Hersteller entsprechende Firmware-files offen zum Download an. Sofern überhaupt Files zum freien Download verfügbar sind, sind diese in der Regel nur über die herstellereigenen Tools verwendbar, meist wird das jeweilige Hersteller-Interface (also z.B. ein Fibaro Home Center) benötigt, das dann die Daten direkt herunterlädt und auf die Geräte OTA aufspielt.&lt;br /&gt;
&lt;br /&gt;
Auf dieser Seite werden die verschiedenen Möglichkeiten dargestellt, wie Firmware-updates - möglichst ohne größere Eingriffe in das Z-Wave-Netz - durchgeführt werden können, auf welchem Weg ggf. updates erhältlich sind und ob solche überhaupt verfügbar sind.&lt;br /&gt;
&lt;br /&gt;
== Varianten für Firmwareupdates ==&lt;br /&gt;
=== Über ZWDongle oder ZWCUL unter FHEM ===&lt;br /&gt;
Firmware-Updatedateien sind für diverse POPP-Geräte verfügbar: https://zwave.de/zwave-ota/&lt;br /&gt;
=== Mittels Hersteller-Bridge ===&lt;br /&gt;
[[Datei:Fibaro_HCL_fw-update-page.png|300px|thumb|right|Seite für das Vorbereiten der Firmware-updates]]In einigen Fällen ist es möglich, die Hersteller-Bridge (Fibaro Home Center oder Z-Way) als &amp;quot;secondary controller&amp;quot; in das Z-Wave-Netz zu includieren. Ein Beispiel mit einem &lt;br /&gt;
{{Link2Forum|Topic=115218|LinkText=Fibaro Home Center lite}} ist im Forum zu finden, eventuell sind dafür zusätzliche Einstellungen am ZWDongle erforderlich (insbes. die sucNodeId auf dessen ZWave-ID zu stellen). &lt;br /&gt;
&lt;br /&gt;
=== Externe Tools ===&lt;br /&gt;
Manche Hersteller (insbes. AEOTEC) liefern Firmware-Dateien als unter Windows ausführbare Dateien an.&lt;br /&gt;
&lt;br /&gt;
== Quellen für Firmwareupdates ==&lt;br /&gt;
=== Aktuell vorhandene Version abfragen ===&lt;br /&gt;
Welche Firmware-Version derzeit auf einem Device läuft, erfährt man in FHEM mit &lt;br /&gt;
 get &amp;lt;device&amp;gt; version&lt;br /&gt;
Die letzte Zahl gibt dabei die Firmware-Version an.&lt;br /&gt;
&lt;br /&gt;
Nachfolgend sind die Informationen zu den verfügbaren updates zusammengetragen, es besteht kein Anspruch auf Vollständigkeit oder Aktualität - es wird um Mithilfe bei der Verbesserung gebeten!&lt;br /&gt;
&lt;br /&gt;
=== AEOTEC ===&lt;br /&gt;
Dieser Hersteller bietet über die [https://aeotec.freshdesk.com/support/solutions/6000084017 Einstiegsseite] für einige Geräte ausführbare Dateien für Windows an. Diese benötigen das .NET-framework, es kann z.B. unmittelbar das für FHEM verwendete USB-Dongle eingesetzt werden (getestet mit einem [[Z-Wave-ZME UZB1 USB Dongle]]), eine vorherige Exklusion ist nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| ZW096 || Smart Switch 6 || 1.02 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| ZW100 || MultiSensor 6 || 1.13 || 30.10.2020 || [https://aeotec.freshdesk.com/support/solutions/articles/6000036562-how-to-update-multisensor-6-z-wave-firmware- aeotec] &lt;br /&gt;
|-&lt;br /&gt;
| ZW111 || Nano Dimmer || 2.02 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer] &lt;br /&gt;
|-&lt;br /&gt;
| ZW116 || Nano Switch with energy reading || 3.00 || vor 30.10.2020 || [https://aeotec.freshdesk.com/support/solutions/articles/6000197021--zw116-v3-00-how-to-update-nano-switch-with-energy-reading-z-wave-firmware- aeotec] &lt;br /&gt;
|-&lt;br /&gt;
| ZW132 || Dual Nano Switch with energy reading || 2.02 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer] &lt;br /&gt;
|- &lt;br /&gt;
| ZW139 || Nano Switch without energy reading || 2.00 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer] &lt;br /&gt;
|- &lt;br /&gt;
| ZW140 || Dual Nano Switch without energy reading || 2.00 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer] &lt;br /&gt;
|- &lt;br /&gt;
| ZWA005 || TriSensor || 2.21 || 30.10.2020 || [https://aeotec.freshdesk.com/support/solutions/articles/6000236093-how-to-update-trisensor-z-wave-firmware- aeotec] &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fibar Group ===&lt;br /&gt;
[[Datei:Fibaro_HCL_fw-update-page-leichte-neukonfig.png|300px|thumb|right|Seite für das Vorbereiten der Firmware-updates]]Fibar bietet derzeit updates nur über die herstellereigenen &#039;&#039;Home Center&#039;&#039; an. Diese können als &#039;&#039;secondary controller&#039;&#039; in das Z-Wave-Netz  inkludiert werden. Nach der Inklusion (bzw. nach einem Suchlauf (=&amp;gt; tbd: erforderlich? Details?) sollten alle vorhandenen Geräte auch im Home Center zu sehen sein, dabei ist darauf zu achten, dass man das Zurücksetzen der Geräte durch das Home Center nicht zuläßt. Dazu verwendet man den Button &#039;&#039;Leichte Geräteneukonfiguration&#039;&#039; im Menüpunkt &#039;&#039;Module - Erweitert&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das update eines FGR-223 war völlig unproblematisch, der FGS-223 ist als Problemfall bekannt, verschiedene Lösungsansätze sind in diesem [https://forum.fibaro.com/topic/51291-impossible-to-update-34-on-fgs223/ Thread auf dem Fibaro-Forum] zu finden. Beim Autor führte letztlich vor allem der Versuch zum Erfolg, das update nicht über den Hauptkanal durchzuführen, sondern über ein &amp;quot;Teilgerät&amp;quot;, das eine sehr viel höhere ID aufwies wie das Hauptgerät (ID 79 statt 12), siehe nebenstehende Abbildung FGS-223.[[Datei:HCL-FGS-223-update.png|300px|thumb|right|FGS-223]] Eine vorherige Exklusion war jedoch nicht erforderlich.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| FGS 222 || FIBARO System FGS222 Double Relay Switch 2x1.5kW || Lib 3 Prot 3.52 App 2.2 || 08.11.2020 || Home Center lite &lt;br /&gt;
|-&lt;br /&gt;
| FGRM 222 || FIBARO System FGRM222 Roller Shutter Controller 2 || Lib 3 Prot 3.52 App 22.22 || 08.11.2020 || Home Center lite   &lt;br /&gt;
|-&lt;br /&gt;
| FGS 223 || FIBARO System FGS223 Double Relay || Lib 3 Prot 4.24 App 3.4 HW 3 FWCounter 0 || 08.11.2020 || Home Center lite - Improved response to controlling device via buttons connected to S1/S2. Optimized number of status reports being send by the module.&lt;br /&gt;
|-&lt;br /&gt;
| FGR 223  || FIBARO System FGRM223 Roller Shutter Controller 3 || Lib 3 Prot 6.02 App 5.1 HW 3 FWCounter 1 FW 5.1 || 08.11.2020 || Home Center lite &lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GoControl ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| LB60-Z || Smart Bulb || 5.12 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== HomeSeer ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| HS-WD100+ || Wall Dimmer || 5.19 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| HS-WS100+ || Wall Switch|| 5.17 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| HSM200 || Multisensor|| 1.10 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Leviton ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| DZ15S-1BZ || Wall Switch || 1.2 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| DZ1KD-1BZ || Wall Dimmer || 1.2 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| DZ6HD-1BZ || Wall Dimmer || 1.2 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| DZPA1-2BW || Plug-in Switch || 1.2 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| DZPD3-2BW || Plug-in Dimmer || 1.2 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Qubino ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über verfügbare Updates (EU-Version, soweit nicht anders vermerkt) &lt;br /&gt;
|-&lt;br /&gt;
! Kürzel !! class=&amp;quot;unsortable&amp;quot; | Name !! class=&amp;quot;unsortable&amp;quot; | aktuellste bekannte Version !! class=&amp;quot;unsortable&amp;quot; | Stand !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen/Quelle&lt;br /&gt;
|-&lt;br /&gt;
| - || SmartMeter || 7.6 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
| - || Weather Station || 1.3 || vor 30.10.2020 || [http://help.homeseer.com/help/Z-Flash/static/#.firmware_included_with_z_flash homeseer]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
[[Kategorie:Z-Wave Components]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=34010</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=34010"/>
		<updated>2020-10-13T18:24:09Z</updated>

		<summary type="html">&lt;p&gt;Krikan: jeedom-Link aktualisiert&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 1400 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;)[https://web.archive.org/web/20160319202135/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 [https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 10/2017 das SDK 6.7x, 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 höher) 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;
Z-Wave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Weitere Informationen im [[ZWCUL]] - Artikel.}}&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=78248|Message=702044}})&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 das zugehörige FHEM-Device nach dem Namensschema &amp;lt;code&amp;gt;ZWDongle_&amp;lt;[https://forum.fhem.de/index.php/topic,92885.msg854533.html#msg854533 Anhang]&amp;gt;&amp;lt;/code&amp;gt; angelegt. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. &lt;br /&gt;
&lt;br /&gt;
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;). &lt;br /&gt;
&lt;br /&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/ttyUSB1@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/ttyACM1@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;
Bei einem statischen Controller wird die Einrichtung als SUC -sofern der Controller als solcher nicht bei Auslieferung eingerichtet ist- vor der ersten Inklusion von Geräten empfohlen.&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 (&amp;lt;ZWDongle&amp;gt; ist im folgenden durch den Namen des FHEM-Devices des eigenen Gateways zu ersetzen):&lt;br /&gt;
 get &amp;lt;ZWDongle&amp;gt; homeId&lt;br /&gt;
ergibt beispielsweise bei einem Gateway mit dem FHEM-Devicenamen ZWDongle_1:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
In diesem Beispiel ist die Home-Id des Gateways ZWDongle_1 e345c456 und das Gateway hat die Node-Id 1.&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 &amp;lt;ZWDongle&amp;gt; nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 {{Link2CmdRef|Anker=rename|Label=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 &amp;lt;ZWDongle&amp;gt; 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;ZWave-Devicename&amp;gt; neighborUpdate&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 (&amp;lt;ZWDongle&amp;gt;-Device, &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://devel.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://devel.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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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. 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 &amp;lt;ZWDongle&amp;gt; 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://devel.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;
&lt;br /&gt;
== Geräte-Vergleich ==&lt;br /&gt;
=== Doppel-Relais ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Eigenschaft !! FIBARO Double Switch 2-FGS-223 !! Qubino Flush 2 relays  !! Philio-PAN04 1&lt;br /&gt;
|-&lt;br /&gt;
| Funktion || Doppel-Relais || Doppel-Relais || Doppel-Relais&lt;br /&gt;
|-&lt;br /&gt;
| Standby-Leistung || ca. 0.4W || ca. 0.4W || ca. 0.5W&lt;br /&gt;
|-&lt;br /&gt;
| Reaktion beim Schalten am Tastereingang || schnell, kaum merkliche Verzögerung ||  schnell, kaum merkliche Verzögerung || langsam, unangenehm langes drücken des Tasters nötig &amp;gt;1 Sekunde &lt;br /&gt;
|-&lt;br /&gt;
| Geräte in FHEM || 3 &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 3  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 4  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 &amp;lt;br&amp;gt; x.03 Summengerät (ähnlich Hauptgerät, überflüssig)&lt;br /&gt;
|-&lt;br /&gt;
| Zustand Hauptgerät || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais&lt;br /&gt;
|-&lt;br /&gt;
| Statuswechsel Report vom Gerät zum FHEM || ca. 1 Sekunde || ca. 3 Sekunden || ca. 3-4 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| Empfänger des Status Reports || Hauptgerät und Untergeräte || Hauptgerät und Untergeräte  || Nur Hauptgerät &amp;lt;br&amp;gt;Aktualisierung der Untergeräte nur bei aktiver Abfrage &lt;br /&gt;
|-&lt;br /&gt;
| Leistungsmessung || Separat für Untergeräte || Separat für Untergeräte || Nur Summe&lt;br /&gt;
|-&lt;br /&gt;
| Sicherung nötig / Strom || ja, 2x 6.5A, Summe max 10A || ja, max 2x 4A  || nein, 2x 6.5A&lt;br /&gt;
|}&lt;br /&gt;
Beim Qubino Flush 2 relays muss eine MULTI_CHANNEL_ASSOCIATION mit dem Controller (Endpoint root) statt einer &amp;quot;normalen&amp;quot; Assoziation gesetzt werden, damit die Status der Untergeräte einzeln signalisert werden:&lt;br /&gt;
&lt;br /&gt;
 set associationDel 1 &amp;lt;controllerNodeId&amp;gt; &lt;br /&gt;
 set &amp;lt;device&amp;gt; mcaAdd 1 0 &amp;lt;controllerNodeId&amp;gt; 0 &lt;br /&gt;
&lt;br /&gt;
Bei einem FHEM-Updatestand ab 20.09.2019 erfolgt diese Einstellung automatisch.&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;{{Link2CmdRef|Anker=stateFormat|Label=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 {{Link2CmdRef|Anker=ZWaveget}}). 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;
{{Randnotiz|RNText=FHEM unterstützt derzeit ausschließlich SECURITY 1 und nicht das mit dem SDK 6.7 neu eingeführte SECURITY 2 (S2). Soweit bekannt, sind S2-Geräte rückwärtskompatibel zu SECURITY 1.}}&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 {{Link2CmdRef}} 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 zunächst nicht erneut vergeben. Diese frei gewordenen NodeIds werden bei Inklusionen in aufsteigender Reihenfolge erst wieder vergeben, nachdem die höchste verfügbare NodeId (232?) inkludiert wurde. Sie sind somit grundsätzlich nicht verloren.&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/beta/resources/openzwaved/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 {{Link2CmdRef}} - 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;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave-Eurotronic_Spirit_Thermostat&amp;diff=33943</id>
		<title>Z-Wave-Eurotronic Spirit Thermostat</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave-Eurotronic_Spirit_Thermostat&amp;diff=33943"/>
		<updated>2020-09-16T14:20:55Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Inklusion */  -&amp;gt; autocreate verlinkt + unspezifischen Hinweis auf Attribut ignoreTypes entfernt (nicht Inklusion scheitert, sondern autocreate wird bei entsprechendem ignoreTypes Device-Anlage verboten)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=platzHalter.png&lt;br /&gt;
|Bildbeschreibung=todo&lt;br /&gt;
|HWProtocol=Z-Wave Plus &lt;br /&gt;
|HWType=Aktor, Empfänger und Sender, Sensor&lt;br /&gt;
|HWCategory=Z-Wave&lt;br /&gt;
|HWComm=Funk 868MHz&lt;br /&gt;
|HWChannels=&lt;br /&gt;
|HWVoltage=3V&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=2xBatterie AA Mignon&lt;br /&gt;
|HWSize=&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#ZWave Z-Wave]&lt;br /&gt;
|HWManufacturer=[https://eurotronic.org/ EUROTRONIC Technology GmbH]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Z-Wave-Eurotronic Spirit Thermostat]] ist ein Heizungsthermostat mit Z-Wave 500er-Serie-Chip und Z-Wave Plus-Zertifizierung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* [[Z-Wave#FLIRS-Ger.C3.A4te|FLiRS-Gerät]]&lt;br /&gt;
* siehe Handbuch&lt;br /&gt;
&lt;br /&gt;
== Hinweise zum Betrieb mit FHEM ==&lt;br /&gt;
=== Inklusion === &lt;br /&gt;
Der Aktor wird bei der Inklusion und aktiviertem [[Autocreate|autocreate]] vollautomatisch erkannt und definiert.&lt;br /&gt;
&lt;br /&gt;
Eine beispielhafte durch autocreate erzeugte Definition mit Hinweisen zu manuellen Ergänzungen findet sich unter [[#Definition|Definition]].&lt;br /&gt;
&lt;br /&gt;
=== Assoziation ===&lt;br /&gt;
Der Controller muss zur korrekten Funktion in die Assoziationsgruppe 1 des Thermostats aufgenommen werden. Dies geschieht während der Inklusion durch FHEM automatisch durch Absetzen des folgenden Befehls:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; associationAdd 1 &amp;lt;Controller-NodeID&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die erfolgreiche Ausführung des Befehls während der Inklusion durch Abfrage überprüfen:&lt;br /&gt;
:&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; associationAll&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Konfigurationsanpassungen des Thermostates an eigene Wunschvorstellungen können anschließend vorgenommen werden.&lt;br /&gt;
&lt;br /&gt;
Abschließend ist es sinnvoll die Konfiguration zu Sicherungs- und Kontrollzwecken komplett abzurufen:&lt;br /&gt;
:&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; configAll&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Befehle zur Steuerung ===&lt;br /&gt;
{{Hinweis|Das Thermostat antwortet bei Einstellungen per Funk mit einem set-Befehl nicht mit einem Telegramm über die vorgenommene Änderung. Um die entsprechenden Readings aktuell zu halten und die erfolgreiche Ausführung des set-Befehls zu kontrollieren kann der zugehörige get-Befehl, der im Folgenden jeweils aufgeführt wird, verwendet werden. Bei Änderungen über die Bedienung am Gerät wird FHEM hingegen per Telegramm über die vorgenommene Änderung informiert.}}&lt;br /&gt;
&lt;br /&gt;
==== Betriebsmodi ====&lt;br /&gt;
Die nachfolgende Tabelle enthält die Aktivierungsbefehle für alle Betriebsmodi des Thermostats. Weitere Modi (tmCooling, tmAuto, tmFan) werden vom Gerät -obwohl von FHEM angeboten- nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Befehl!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; tmOff&amp;lt;/code&amp;gt;||Aus-Modus: Aus mit Regelung auf 6°C als Frostschutz&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; tmHeating&amp;lt;/code&amp;gt;||Komfortmodus: Regelung entsprechend [[#Komfortmodus|Solltemperatur Komfortmodus]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; tmEnergySaveHeating&amp;lt;/code&amp;gt;||Absenkmodus: Regelung entsprechend [[#Absenkmodus|Solltemperatur Absenkmodus]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; tmFullPower&amp;lt;/code&amp;gt;||Boostmodus: schnellstmögliche Raumaufheizung für maximal 5 Minuten&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; tmManual&amp;lt;/code&amp;gt;||Stellwertmodus (Manufacturer Specific): Ventilöffnung über Command Class SWITCH_MUTILEVEL einstellen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Abfrage des eingestellten Betriebsmodus mit: &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; thermostatMode&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Steuerungsbefehle der Command Class SWITCH_MUTILEVEL ausschließlich für den Stellwertmodus (tmManual):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Befehl im Stellwertmodus!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; dim %&amp;lt;/code&amp;gt;|| Ventilöffnung von 0% bis 100%, wobei 99 = 100%&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; on&amp;lt;/code&amp;gt;||letzten Ventilöffnungsgrad einstellen; sinnvoll beispielsweise nach Aus-Modus (tmOff)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; off&amp;lt;/code&amp;gt;||kleinstmögliche Ventilöffnung; entspricht 0%&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Im Stellwertmodus erfolgt keine automatische Temperaturregelung durch das Spirit, sondern diese muss durch separate Logik (beispielsweise mit Hilfe von [[PID20 - Der PID-Regler|PID20]]) überwacht und geregelt werden. &lt;br /&gt;
&lt;br /&gt;
Der Öffnungsstand wird mit &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; swmStatus&amp;lt;/code&amp;gt; abgefragt. Zudem kann mit der Parameternummer 6 der Command Class CONFIGURATION der automatische Versand des Ventilöffnungsgrades bei bestimmten Veränderungen eingeschaltet werden (configValveOpeningPercentageReport).&lt;br /&gt;
&lt;br /&gt;
==== Solltemperaturen ====&lt;br /&gt;
Die Solltemperaturen in den Modi Komfortmodus (tmHeating) und Absenkmodus (tmEnergySaveHeating) lassen sich im Temperaturbereich 8°C bis 28 °C anpassen. Die Solltemperatur für den Absenkmodus lässt sich ausschließlich per Funk anpassen. Im Aus-Modus (tmOff) und Boostmodus (tmFullPower) ist keine Anpassung möglich.&lt;br /&gt;
&lt;br /&gt;
Die Einstellung der Solltemperaturen erfolgt mit dem set-Befehl &amp;lt;code&amp;gt;thermostatSetpointSet&amp;lt;/code&amp;gt; oder dem funktionsgleichen set-Befehl &amp;lt;code&amp;gt;desired-temp&amp;lt;/code&amp;gt;. Der letzte Befehl wurde zur Angleichung an andere Module eingeführt und im folgenden genutzt.&lt;br /&gt;
&lt;br /&gt;
===== Komfortmodus =====&lt;br /&gt;
Die Solltemperatur auf NN.N °C wird mit folgendem Kurzbefehl eingestellt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; desired-temp NN.N&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies entspricht dem ausführlichen Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; desired-temp NN.N C 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die eingestellte Solltemperatur abrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; setpoint 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder mit dem Kurzbefehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; setpoint&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Absenkmodus =====&lt;br /&gt;
Die Solltemperatur auf NN.N °C wird mit folgendem Befehl eingestellt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; desired-temp NN.N C 11&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die eingestellte Solltemperatur abrufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; setpoint 11&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kindersicherung ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Befehl!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; protectionOff&amp;lt;/code&amp;gt;||Ungeschützt - Bedienung am Gerät uneingeschränkt möglich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; protectionSeq&amp;lt;/code&amp;gt;||Eingeschränkt - Bedienung am Gerät erst nach Entsperrung am Gerät (gleichzeitiges Drücken von {{Taste|+}} und {{Taste|-}} für 3 Sekunden)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; protectionOn&amp;lt;/code&amp;gt;||Deaktiviert - Bedienung am Gerät deaktiviert und Steuerung ausschließlich per Funk&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Abfrage der eingestellten Kindersicherung mit: &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; protection&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition ===&lt;br /&gt;
Ein Beispiel für ein Spirit FHEM-Device enthält der nachfolgende exemplarische Auszug aus der [[Konfiguration]]:&lt;br /&gt;
 define ZWave_THERMOSTAT_53 ZWave e345c452 53&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 IODev ZWDongle&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 classes ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO VERSION MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY PROTECTION SENSOR_MULTILEVEL SWITCH_MULTILEVEL THERMOSTAT_MODE THERMOSTAT_SETPOINT BATTERY &lt;br /&gt;
 CONFIGURATION ALARM POWERLEVEL SECURITY SECURITY_S2 TRANSPORT_SERVICE SUPERVISION FIRMWARE_UPDATE_MD&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 extendedAlarmReadings 1&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 room ZWave&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 stateFormat temperature&lt;br /&gt;
 attr ZWave_THERMOSTAT_53 vclasses ALARM:8 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:1 POWERLEVEL:1 PROTECTION:1 SECURITY:1 SECURITY_S2:1 &lt;br /&gt;
 SENSOR_MULTILEVEL:5 SUPERVISION:1 SWITCH_MULTILEVEL:1 THERMOSTAT_MODE:3 THERMOSTAT_SETPOINT:3 TRANSPORT_SERVICE:2 VERSION:2 ZWAVEPLUS_INFO:2&lt;br /&gt;
Im vorstehenden Beispiel wurde manuell das Attribut &amp;lt;code&amp;gt;extendedAlarmReadings&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; gesetzt, damit für die diversen Alarmarten einfacher unterscheidbare Events erzeugt und separate Readings angelegt werden. Zudem wurde manuell das Attribut &amp;lt;code&amp;gt;stateFormat&amp;lt;/code&amp;gt; angelegt. Sämliche anderen Angaben der Defintion nebst Attributen wurden von FHEM bei der Inklusion automatisch durch autocreate angelegt.&lt;br /&gt;
&lt;br /&gt;
=== Logbeispiel ===&lt;br /&gt;
 2018-10-19_18:04:14 ZWave_THERMOSTAT_53 setpointTemp: 18.0 C energySaveHeating&lt;br /&gt;
 2018-10-19_18:04:34 ZWave_THERMOSTAT_53 setpointTemp: 22.0 C heating&lt;br /&gt;
 2018-10-19_18:04:54 ZWave_THERMOSTAT_53 thermostatMode: heating&lt;br /&gt;
 2018-10-19_18:05:03 ZWave_THERMOSTAT_53 thermostatSetpointSupported: heating energySaveHeating&lt;br /&gt;
 2018-10-19_18:05:13 ZWave_THERMOSTAT_53 version: Lib 3 Prot 4.61 App 0.16 HW 49 FWCounter 1 FW 0.10&lt;br /&gt;
 2018-10-19_18:05:24 ZWave_THERMOSTAT_53 zwavePlusInfo:  version:01 role:SleepingListeningSlave node:Z-Wave+Node installerIcon:1200 userIcon:1200&lt;br /&gt;
 2018-10-19_18:06:32 ZWave_THERMOSTAT_53 alarm_System: Event cleared: unknown event 0, notificationIsOn&lt;br /&gt;
 2018-10-19_18:08:02 ZWave_THERMOSTAT_53 battery: 100 %&lt;br /&gt;
 2018-10-19_18:08:02 ZWave_THERMOSTAT_53 batteryState: ok&lt;br /&gt;
 2018-10-19_18:08:02 ZWave_THERMOSTAT_53 batteryPercent: 100&lt;br /&gt;
 2018-10-19_18:10:10 ZWave_THERMOSTAT_53 temperature: 23.27 C&lt;br /&gt;
 2018-10-19_18:18:10 ZWave_THERMOSTAT_53 temperature: 22.73 C&lt;br /&gt;
 2018-10-19_18:30:10 ZWave_THERMOSTAT_53 temperature: 22.29 C&lt;br /&gt;
 2018-10-19_19:00:17 ZWave_THERMOSTAT_53 thermostatMode: energySaveHeating&lt;br /&gt;
 2018-10-19_19:00:55 ZWave_THERMOSTAT_53 thermostatMode: off&lt;br /&gt;
 2018-10-19_19:06:10 ZWave_THERMOSTAT_53 temperature: 21.75 C&lt;br /&gt;
 2018-10-19_23:22:18 ZWave_THERMOSTAT_53 thermostatMode: energySaveHeating&lt;br /&gt;
 2018-10-19_23:27:31 ZWave_THERMOSTAT_53 set_tmHeating&lt;br /&gt;
 2018-10-19_23:27:32 ZWave_THERMOSTAT_53 tmHeating&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://products.z-wavealliance.org/products/2543 Eintrag in http://products.z-wavealliance.org mit Handbuch und mehr]&lt;br /&gt;
* [https://eurotronic.org/wp-content/uploads/2018/08/Spirit_Z-Wave_BAL_web_DE_view_V5.pdf deutsches Handbuch auf Hersteller-Webseite]&lt;br /&gt;
* Nutzung eines direkt assozierten Fenstersensors zur Fenster-Offen-Erkennung: {{Link2Forum|Topic=92206}}&lt;br /&gt;
* {{Link2Forum|Topic=77598|Message=701397|LinkText=Temperaturwerte eines Nicht-ZWave-Gerätes an das Spirit zur Regelung übermitteln}}&lt;br /&gt;
* {{Link2Forum|Topic=77598|Message=854445|LinkText=Nutzung des Modul PID20 zur Temperaturregelung im Stellwertmodus (tmManual)}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Z-Wave Components|Sensor]]&lt;br /&gt;
[[Kategorie:Heizungsventile]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Fremdger%C3%A4te_ignorieren&amp;diff=33927</id>
		<title>Fremdgeräte ignorieren</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Fremdger%C3%A4te_ignorieren&amp;diff=33927"/>
		<updated>2020-09-14T15:41:13Z</updated>

		<summary type="html">&lt;p&gt;Krikan: ignoreTypes - Attribut-Erläuterung -&amp;gt; Namen und nicht Type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;Frage:&#039;&#039;&#039; Seit kurzem sehe ich in der FHEM-Weboberfläche Geräte bzw. Devices (Sensoren / Aktoren), die nicht mir gehören und die ich auch nicht ansprechen kann. Lösche ich die Devices aus meiner [[Konfiguration]], dann tauchen Sie nach kurzer Zeit wieder auf. &#039;&#039;&#039;Wie&#039;&#039;&#039; kann ich dafür sorgen, dass diese Geräte &#039;&#039;&#039;dauerhaft&#039;&#039;&#039; aus meiner FHEM-Konfiguration verschwinden?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Antwort:&#039;&#039;&#039; Es gibt 3 Möglichkeiten ...&lt;br /&gt;
&lt;br /&gt;
# Sie setzen bei diesen Devices das Attribut &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; auf den Wert 1 (Befehls-Eingabefeld: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;attr &amp;lt;Device-Name&amp;gt; ignore 1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). Wahlweise kann man alle anderen Attribute des Devices löschen; dies ist aber nicht zwingend. &#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Das verhindert natürlich nicht, dass, wenn ihr Nachbar &amp;quot;aufrüstet&amp;quot;, nicht andere Geräte neu in ihrem FHEM auftauchen.&lt;br /&gt;
# Sie schalten [[Autocreate|autocreate]] in ihrer Konfiguration ab und löschen die fremden Devices. Das wollen aber wohl die Meisten nicht, denn &#039;&#039;autocreate&#039;&#039; bietet viele Vorteile und sollte nur mit genauer Kenntnis der Auswirkungen abgeschaltet werden.&lt;br /&gt;
# Sie fügen der Definition von [[Autocreate|autocreate]] das Attribut &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ignoreTypes&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; mit dem entsprechenden Regex für den Device-Namen hinzu. Dann werden alle neu erkannten Geräte deren Device-Name dem Regex entspricht nicht automatisch angelegt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FAQ]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Autocreate&amp;diff=33926</id>
		<title>Autocreate</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Autocreate&amp;diff=33926"/>
		<updated>2020-09-14T15:35:53Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Attribute */ -&amp;gt; ignoreTypes benötigt umschließende (..) bei mehreren per | verknüpften Ausdrücken, damit bei allen allen Ausdrücken (und nicht nur 1.) ab Beginn geprüft wird&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SEITENTITEL:autocreate}} &lt;br /&gt;
&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Aktivierung des automatischen Anlegens von neuen Geräten&lt;br /&gt;
|ModType=h&lt;br /&gt;
|ModCmdRef=autocreate&lt;br /&gt;
|ModForumArea=Automatisierung&lt;br /&gt;
|ModTechName=98_autocreate.pm&lt;br /&gt;
|ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Bei aktiviertem [[autocreate]] werden neue Geräte von Fhem automatisch angelegt, sobald eine entsprechende Nachricht (Funktelegramm) empfangen wird. Geräte, die &#039;&#039;abgefragt&#039;&#039; werden (Polling), wie z.B. EMEM/EMWZ, werden nicht automatisch angelegt.&lt;br /&gt;
&lt;br /&gt;
== Attribute ==&lt;br /&gt;
Die vollständige Liste der unterstützten Attribute ist in der Dokumentation (siehe Infobox) enthalten. Detailliertere Informationen für ausgewählte Attribute sind in den folgenden Abschnitten verfügbar.&lt;br /&gt;
&lt;br /&gt;
;autosave&lt;br /&gt;
:Sofern dieses Attribut auf den Wert &amp;quot;1&amp;quot; gesetzt ist &lt;br /&gt;
::&amp;lt;code&amp;gt;attr &#039;&#039;autocreate&#039;&#039; autosave 1&amp;lt;/code&amp;gt;&lt;br /&gt;
:(das ist auch der Standardwert, wenn das Attribut nicht gesetzt ist), wird nach dem automatischen Anlegen eines Gerätes die [[Konfiguration]] automatisch abgespeichert (also implizit ein &#039;&#039;save&#039;&#039; Befehl ausgeführt). &lt;br /&gt;
:Das neu (08/2015, siehe dazu auch diesen {{Link2Forum|Topic=39985|Message=325097|LinkText=Forenbeitrag}}) eingeführte &#039;&#039;global&#039;&#039; Attribut &#039;&#039;autosave&#039;&#039; erfüllt den gleichen Zweck. Derzeit kann das globale Attribut noch durch das &#039;&#039;autocreate&#039;&#039; Attribut überschrieben werden, das lokale Attribut sollte aber nicht mehr benutzt werden und könnte in einer späteren Version entfallen.&lt;br /&gt;
&lt;br /&gt;
;ignoreTypes&lt;br /&gt;
{{Randnotiz|RNTyp=y|RNText=In {{Link2Forum|Topic=46872|LinkText=diesem Forenthread}} wird etwas genauer dargestellt, auf was sich die spezifizierten &#039;&#039;ignoreTypes&#039;&#039; beziehen. Eigentlich ist der Name dieses Attributs irreführend, da es um den Präfix des generierten Gerätenamens geht und nicht um den TYPE/Modulnamen.}}&lt;br /&gt;
:Spezifikation von Geräten, die von der automatischen Generierung ausgenommen werden sollen:&lt;br /&gt;
::&amp;lt;code&amp;gt;attr &#039;&#039;autocreate&#039;&#039; ignoreTypes &#039;&#039;(NamePrefix.*&#039;&#039;[|&#039;&#039;NamePrefix2.*&#039;&#039;|...])&amp;lt;/code&amp;gt;&lt;br /&gt;
:Reguläre Ausdrücke sind in der Spezifikation erlaubt, mit der Spezifikation von &amp;lt;code&amp;gt;(CUL_WS.*|FS20.*)&amp;lt;/code&amp;gt; würden keine neuen Geräte mehr angelegt, deren generierter Name mit &#039;&#039;CUL_WS&#039;&#039; oder mit &#039;&#039;FS20&#039;&#039; beginnt. Viele Module generieren Gerätenamen, die mit dem Modulnamen (also z.B. &#039;&#039;FS20&#039;&#039;) beginnen, im Einzelfall kann aber eine andere Vorgehensweise implementiert sein. Dann muss das Muster der erzeugten Namen identifiziert und der reguläre Ausdruck entsprechend angepasst werden.&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MSwitch&amp;diff=33578</id>
		<title>MSwitch</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MSwitch&amp;diff=33578"/>
		<updated>2020-07-20T17:23:39Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Hinweis auf Entfernung des Moduls aus FHEM-SVN -&amp;gt; inoffizielles Modul&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Hinweis|Das Modul wurde vom Modulautor aus dem FHEM-SVN entfernt. Download des Moduls unter https://github.com/Byte009/Fhem-MSwitch. Support erfolgt laut github-Seite derzeit über Whatsapp.}}&lt;br /&gt;
&lt;br /&gt;
Achtung: Das Wiki entspricht nicht mehr der aktuellen Modulversion ( V3.1 )&lt;br /&gt;
&lt;br /&gt;
Hilfe zu allen Befehlen , Einstellungen etc. ist direkt über das Frontend eines MSwitch-Devices verfügbar.&lt;br /&gt;
&lt;br /&gt;
Eine Aktualisierung des Wikis erfolgt in den kommenden Tagen.&lt;br /&gt;
&lt;br /&gt;
[[MSwitch]] ist ein Hilfsmodul, welches das Event- und/oder zeitgesteuerte Schalten von mehreren Devices oder das Ausführen von benutzerdefinierten Befehlssequenzen erlaubt. Hauptmerkmale sind die fast vollständige und die sehr umfangreiche Konfigurierbarkeit über das Webinterface.&lt;br /&gt;
&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=MSwitch&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModForumArea=Automatisierung&lt;br /&gt;
|ModTechName=98_MSwitch.pm&lt;br /&gt;
|ModOwner=Byte09 (aus dem Forum abgemeldet)}}&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Byte09: &#039;&#039;Die Grundidee zu MSwitch kam mir, weil ich bei der Arbeit mit FHEM für meinen Geschmack zu viele Module für die verschiedenen Aufgaben brauchte - zu allem Überfluss alle mit unterschiedlicher Syntax. Zwar ist DOIF hiervon ausgenommen (da hiermit wohl auch fast jede Aufgabe lösbar ist), aber ich konnte mich leider nicht daran gewöhnen und somit wurde jedes DOIF für mich zu einem echten Projekt. Was ich wollte war ein Modul, mit dem ich alles erledigen kann. Daher entschloss ich mich schon nach fast einem knappen Jahr FHEM-Nutzung mein eigenes Modul zu schreiben, welches diese Anforderung erfüllt. MSwitch beinhaltet die Funktionalität aller bisherigen Hilfsmodule wie z.B. Notify, Doif, Watchdog, Dummy,( ab Modulversion 2.2 auch Sequenz ) es lassen sich all deren Funktionen umsetzen.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;MSwitch wird permanent - vorrangig nach meinen Bedürfnissen - weiterentwickelt, gerne nehme ich aber auch Anregungen von anderen Nutzern auf.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Datei:1-2-3-4.png|rahmenlos]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Grundsätzliche Überlegungen ==&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Will man mehrere Geräte als gleichzeitige Auslöser betreiben, so muss das Device GLOBAL gewählt und die entsprechenden Geräte angegeben werden (dies erzeugt höhere Systemlast und ist nur im Expert-Modus verfügbar).}} &lt;br /&gt;
&lt;br /&gt;
1. Welches Gerät soll auslösen oder zu welcher Zeit soll eine Auslösung erfolgen? &lt;br /&gt;
[[Datei:MSwitch basic.svg|mini|240px|Stark vereinfachtes Struktogramm]]&lt;br /&gt;
Im Rahmen 1 des Webinterfaces lässt sich der Trigger (Auslöser) bzw. eine Zeitabhängigkeit konfigurieren:&lt;br /&gt;
&lt;br /&gt;
** jedes Event aus dem Eventmonitor,&lt;br /&gt;
** triggerunabhängige Zeiten, &lt;br /&gt;
** triggerunabhängige Zufallszeiten,&lt;br /&gt;
** triggerunabhängige Intervalle,&lt;br /&gt;
** Kombinationen aus Triggern und Zeiten.&lt;br /&gt;
&lt;br /&gt;
2. Welche Bedingungen sollen bei Auslösung erfüllt sein?&lt;br /&gt;
: Ersten Rahmen: Wenn diese Bedingungen erfüllt sind, werden Kommandos ausgelöst. Die Bedingungen werden im zweiten Teil des Webinterfaces eingegeben. Dabei unterscheidet das Modul zwischen zwei Kommando-Kanälen (cmd1 und cmd2) und den dazugehörigen Geräten.&lt;br /&gt;
&lt;br /&gt;
3. Welche Kommandos sollen ausgelöst werden?&lt;br /&gt;
: Im vierten Rahmen des Webinterfaces werden dann die konkreten Kommandos eingegeben. Man wählt dabei aus einer Liste wie auf der Geräteseite Kommandos aus. FreeCmd erlaubt geräteunabhängige Kommandos, beispielsweise reinen Perl-Code.&lt;br /&gt;
&lt;br /&gt;
4. Welche weiteren Bedingungen sollen noch gelten?&lt;br /&gt;
: Zusätzlich pro Gerät eine oder mehrere Instanzen des vierten Rahmens:&lt;br /&gt;
** ereignisgesteuerte Bedingungen,&lt;br /&gt;
** zeitgesteuerte Bedingungen,&lt;br /&gt;
** Verzögerungen,&lt;br /&gt;
** Wiederholungen etc.&lt;br /&gt;
&lt;br /&gt;
==Definition und Einrichtung =={{Randnotiz | RNTyp=y | RNText=Alle relevante Einstellungen werden in Readings und/oder Hashes gespeichert. Daher stehen relevanten Daten &#039;&#039;nicht&#039;&#039; in der fhem.cfg! Vielmehr finden sich diese Daten in der Datei fhem.save. Die Speicherung erfolgt durch den Befehl Fhemsave.&lt;br /&gt;
}}&lt;br /&gt;
Das MSwitch-Modul ist ohne weitere Voraussetzungen nutzbar und wird in der aktuellen Version über FHEM Update verteilt. MSwitch kann mehrere Devices gleichzeitig schalten. Diese Schaltungen befinden sich in den zwei möglichen Zweigen entsprechend der Kommandos cmd1 und cmd2. Die einzelnen Devices jedes Zweiges können mit weiteren Schaltbedingungen versehen werden (zeit- oder ereignisgesteuert). Das define eines MSwitch Devices generiert lediglich eine &#039;leere Hülle&#039;:&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; MSwitch&amp;lt;/code&amp;gt;&lt;br /&gt;
Es wird ein leeres Device angelegt, das dann komplett über das Webinterface konfigurierbar ist.&lt;br /&gt;
&lt;br /&gt;
== Webinterface ==&lt;br /&gt;
MSwitch wird über das Webinterface eingerichtet. Es besteht aus vier Teilen. Änderungen in einem Abschnitt müssen auch dort gespeichert werden, bevor ein weiterer Teil bearbeitet wird, sonst gehen Änderungen verloren.{{Randnotiz | RNTyp=y | RNText=&amp;lt;code&amp;gt;attr &amp;lt;name&amp;gt; MSwitch_Help 1&amp;lt;/code&amp;gt; führt dazu, dass im Modul selber eine sehr umfangreiche kontextsensitive Hilfe in Form von Fragezeichensymbolen angezeigt wird.}} &lt;br /&gt;
&lt;br /&gt;
[[Datei:1-2-3-4.png|rahmenlos|Webinterface]]&lt;br /&gt;
=== Rahmen 1: Trigger Device und Trigger Time ===&lt;br /&gt;
==== Trigger Device ====&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Wenn das Attribut &#039;MSwitch_Expert&#039; gesetzt ist kann man &#039;GLOBAL&#039; auswählen. Dann werden &#039;&#039;&#039;alle&#039;&#039;&#039; von FHEM generierten Events durch das MSwitch Device weiterverarbeitet, eine weitere Begrenzung kann (und sollte) dann in einem folgenden Eingabefeld erfolgen, um die Systemlast zu reduzieren.&lt;br /&gt;
==== Trigger Device Global Whitelist ====&lt;br /&gt;
Damit kann die Liste eingehender Events weiter eingeschränkt werden. Sobald mindestens ein Eintrag vorhanden sind, werden nur noch Events der hier benannten Devices verarbeitet. Zulässig ind Devicenamen und DeviceTypen (z.B. TYPE=FS20). Mehrere Angaben sind durch Komma zu trennen.&lt;br /&gt;
&lt;br /&gt;
Im unten gezeigten Beispiel wurde GLOBAL gewählt, weil nicht ein einzelnes Device, sondern eine Kombination aus zwei Geräten auslösen soll. Es werden alle Ereignisse betrachtet, wobei die Whitelist dann auf die Devices Schlafzimmer (ein Temperaturmessgerät) und Schlafzimmerfenster (ein [[HM-Sec-SCo Tür-Fensterkontakt, optisch|optischer Kontakt]]) einschränkt.}}In diesem Feld wird das Device per Dropdownfeld gewählt, dessen Events eine Aktion auslösen sollen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:MSwitchWebinterface1.png|400px|thumb|right|Webinterface, oben]]&lt;br /&gt;
&lt;br /&gt;
==== Trigger Time ==== &lt;br /&gt;
Trigger time bietet die Möglichkeit einer zeitabhängigen Steuerung. Dazu wird in die &amp;quot;at&amp;quot;-Zeile ein Termin in der Form [STUNDEN:MINUTEN|TAGE] eingetragen. Die Tage werden ab Montag von 1-7 gezählt. Mehrere Zeitvorgaben können direkt hintereinander geschrieben werden. Beispiele:&lt;br /&gt;
* &amp;lt;code&amp;gt;[17:00|1][18:30|23]&amp;lt;/code&amp;gt; löst montags um 17 Uhr und dienstags sowie mittwochs um 18:30 Uhr aus.&lt;br /&gt;
* &amp;lt;code&amp;gt;[00:10*20:00-21:00]&amp;lt;/code&amp;gt; führt den Schaltbefehl von 20 Uhr bis 21 Uhr alle 10 Minuten aus.&lt;br /&gt;
* &amp;lt;code&amp;gt;[?20:00-21:00]&amp;lt;/code&amp;gt; schaltet zu einem zufälligen Zeitpunkt zwischen 20 und 21 Uhr einmalig.  &lt;br /&gt;
* &amp;lt;code&amp;gt;[20:00|$we]&amp;lt;/code&amp;gt; nur am Wochenende um 20:00 wird geschaltet.&lt;br /&gt;
&lt;br /&gt;
==== Trigger Conditions ====&lt;br /&gt;
&lt;br /&gt;
Optionale zusätzliche Bedingungen in diesem Feld gelten nur für auslösende Device Trigger. Trigger Times haben keinen Einfluss, es sei denn, das Attribut MSwitch_Condition_Time ist gesetzt. Man kann mit AND / OR verknüpfte Bedingungen für die Auslösung in an DOIF angelehnter Syntax angeben. Leere Felder werden ignoriert. Werden Readings mit Strings wie &#039;on&#039; oder &#039;off&#039; abgefragt, ist statt des Gleichheitszeichens &amp;quot;=&amp;quot; der Operator &amp;quot;eq&amp;quot; zu nutzen, der String muss in Anführungszeichen &amp;quot;&amp;quot; gesetzt werden. Beispiele:{{Randnotiz | RNTyp=y | RNText=Überschreitet die Zeitangabe die Tagesgrenze (24:00 Uhr), so gelten die angegebenen Tage noch bis zum Ende der angegebenen Schaltzeit (beispielsweise würde dann am Mittwoch noch der Schaltvorgang erfolgen, obwohl als Tagesvorgabe Dienstag gesetzt wurde).}} &lt;br /&gt;
* &amp;lt;code&amp;gt;[19:10-23:00] AND [Devicename:Reading] = 10&amp;lt;/code&amp;gt; beide Bedingungen müssen erfüllt sein.&lt;br /&gt;
* &amp;lt;code&amp;gt;[19:10-23:00] OR [Devicename:Reading] eq &amp;quot;on&amp;quot;&amp;lt;/code&amp;gt; eine der Bedingungen muss erfüllt sein.&lt;br /&gt;
* &amp;lt;code&amp;gt;[10:00-11:00|13]&amp;lt;/code&amp;gt; schaltet Montag und Mittwoch zwischen 10 Uhr und 11 Uhr.&lt;br /&gt;
* &amp;lt;code&amp;gt;[{ sunset() }-23:00]&amp;lt;/code&amp;gt; von Sonnenuntergang bis 23:00 Uhr.&lt;br /&gt;
* &amp;lt;code&amp;gt;{ !$we }&amp;lt;/code&amp;gt; löst den Schaltvorgang nur Werktagen an aus.&lt;br /&gt;
* &amp;lt;code&amp;gt;{ $we }&amp;lt;/code&amp;gt; löst den Schaltvorgang nur an Wochenenden, Feiertagen aus.&lt;br /&gt;
Es ist auf korrekte Eingabe der Leerzeichen zu achten.&lt;br /&gt;
&lt;br /&gt;
=== Rahmen 2: Trigger Details ===&lt;br /&gt;
[[Datei:MSwitchWebinterface2.png|600px|thumb|right|Webinterface, Mitte]]&lt;br /&gt;
Der Inhalt des zweiten Rahmens wird mit dem gewählten Trigger aus dem ersten Rahmen initialisiert. Events können zugeordnet werden. Im Beispiel wird cmd1 ausgelöst, wenn das Fenster offen ist. Cmd2 wird bei Temperaturunterschreitung ausgelöst.&lt;br /&gt;
&lt;br /&gt;
==== execute ====&lt;br /&gt;
Diese vier Zeilen legen fest, welches ankommende Event welchen Befehlszweig auslösen soll. Die Event-Drop-Down-Liste enthält alle empfangenen Events dieses Devices. Fehlende Events können manuell hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
* switch &amp;lt;MSwitch&amp;gt; on + execute &#039;cmd1&#039; -  MSwitch Statusänderung auf &#039;on&#039;; cmd1 soll ausgeführt werden&lt;br /&gt;
* switch &amp;lt;MSwitch&amp;gt; off + execute &#039;cmd2&#039; - MSwitch Statusänderung auf &#039;off&#039;; cmd2 soll ausgeführt werden; &lt;br /&gt;
* execute &#039;cmd1&#039; only - keine Statusänderung; cmd1 soll ausgeführt werden&lt;br /&gt;
* execute &#039;cmd2&#039; only - keine Statusänderung; cmd2 soll ausgeführt werden&lt;br /&gt;
&lt;br /&gt;
==== Save incomming events ====&lt;br /&gt;
Alle ankommenden Events der konfigurierten Geräte werden für die Dropdownlisten gespeichert. Nach erfolgreicher Konfiguration sollte diese Option entfernt werden, um die Datenmenge zu reduzieren. Falls das Device Events während der Konfiguration nicht liefert, können sie manuell als kommagetrennte Liste hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
==== add event ====&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Falls auf &#039;GLOBALE&#039; Events getriggert wird, muss das auslösende Device vorangestellt werden:&lt;br /&gt;
- *                                                           - alle auftretende Events des entsprechenden Device&lt;br /&gt;
- device:reading:wert   (z.B. device:state:on )                      - nur für das Event &amp;quot;device:state:on&amp;quot;&lt;br /&gt;
- device:reading:*      (z.B. device:state:* )                       - Events &amp;quot;device:state:(on,off,etc.)&lt;br /&gt;
- device:reading:(wert1/wert2/wert3) (z.b. device:state:(left/right) - Events &amp;quot;device:state:left&amp;quot; oder &amp;quot;devicestate:right&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
Das Device kann auch hier gegen &amp;quot;*&amp;quot; ersetzt werden (*:state:on). In diesem Fall erfolgt eine Aktion auf alle Events die z.B. &amp;quot;state:on&amp;quot; enthalten, egal welches Device triggert.&lt;br /&gt;
}} &lt;br /&gt;
* *                                                    - alle auftretende Events des entsprechenden Device&lt;br /&gt;
* reading:wert   (z.B. state:on )                      - nur auf das Event &amp;quot;state:on&amp;quot;&lt;br /&gt;
* reading:*      (z.B. state:* )                       - Events &amp;quot;state:(on,off,etc.)&lt;br /&gt;
* reading:(wert1/wert2/wert3) (z.b. state:(left/right) - Events &amp;quot;state:left&amp;quot; oder &amp;quot;state:right&amp;quot; etc.&lt;br /&gt;
==== test event ====&lt;br /&gt;
Stehen Events zur Auswahl, kann die Konfiguration getestet werden. Durch Klick wird das Event simuliert und die dafür definierte Aktion ausgelöst. &lt;br /&gt;
&lt;br /&gt;
==== apply filter to saved events ====&lt;br /&gt;
Beschreibung folgt???&lt;br /&gt;
&lt;br /&gt;
==== clear saved event ====&lt;br /&gt;
Es werden die nicht als Trigger wirkenden Events aus der Liste gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== Rahmen 3: Affected devices ===&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=In dem Auswahlfeld werden alle Devices angeboten, die eines der folgenden Kriterien erfüllen:&lt;br /&gt;
# Die Abfrage &amp;quot;set Device ?&amp;quot; liefert einen Befehlssatz&lt;br /&gt;
# Das Attribut &#039;webcmd&#039; des Devices enthält Einträge&lt;br /&gt;
# Das Attribut &#039;MSwitch_Activate_MSwitchcmds&#039; ist aktiviert und das Attribut &#039;MSwitchcmds&#039; des betreffenden Devices enthält einen Befehlssatz&lt;br /&gt;
&lt;br /&gt;
Einzige Ausnahme ist der erste Listeneintrag &#039;FreeCMD&#039;. Die Auswahl dieses Eintrages bietet später die Möglichkeit Befehle auszuführen, die nicht an ein Device gebunden sind. Der Code in einem FreeCmd kann entweder reiner FHEM-Code sein ( set device on ) oder reiner Perl-Code. Wenn es sich um reinen Perl-Code handelt, ist dieser in geschweifte Klammen zu setzen { Perl-Code }.&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
[[Datei:MSwitch_Screen_5.png|mini|rechts|affected devices]]&lt;br /&gt;
Auswahl der Devices, die auf die oben konfigurierten Events reagieren sollen. Um unbeabsichtigte Änderungen zu vermeiden ist die direkte Mehrfachauswahl gesperrt.&lt;br /&gt;
&lt;br /&gt;
=== Rahmen 4: Device Actions ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Webinterface3.png|mini|rechts|device_actions]]&lt;br /&gt;
Die auszuführenden Aktionen der im dritten Rahmen gewählten Geräte. Leere Felder werden ignoriert.&lt;br /&gt;
&lt;br /&gt;
==== MSwitch cmd1/cmd2:  ====&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Im Beispiel befindet sich ein FreeCmd, mit dem beliebige Kommandos eingetragen werden können. Im abgebildeten Beispiel ist dies sogar selbst definierter Perl-Code (die Funktion DebianMail sendet eine Mail).&lt;br /&gt;
}} &lt;br /&gt;
Man wählt den gewünschten Befehl aus den gespeicherten verfügbaren Möglichkeiten des betreffenden Device aus. &lt;br /&gt;
&lt;br /&gt;
* Im Sonderfall FreeCmd wird der Befehl als String eingegeben. &lt;br /&gt;
* Das Attribut MSwitch_Extensions ergänzt die Schaltoption &#039;MSwitchToggle&#039; in der Liste, um die Toggle-Funktion bei Geräten die sie nicht von Haus aus anbieten nachzurüsten. &lt;br /&gt;
&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Je nach Attribut-Einstellungen werden Einträge aus entsprechenden &#039;webcmds&amp;quot; oder &#039;MSwitchcmds&#039; einbezogen. In Abhängigkeit des Befehls stehen unter Umständen weitere Felder oder Widgets zur Verfügung.&lt;br /&gt;
).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== cmd1/cmd2 condition  ====&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz | RNTyp=y | RNText=Bei der Abfrage von Readings nach Strings (on, off, etc.) ist statt &amp;quot;=&amp;quot; &amp;quot;eq&amp;quot; zu nutzen und der String muss in &amp;quot;x&amp;quot; gesetzt werden. Es ist auf korrekte Eingabe der Leerzeichen zu achten.&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Bei Anwendung der geschweiften Klammern zur Einleitung eines Perl Ausdrucks ist unbedingt auf die Leerzeichen hinter und vor der Klammer zu achten.&lt;br /&gt;
&lt;br /&gt;
Überschreitet die Zeitangabe die Tagesgrenze (24:00 Uhr), so gelten die angegebenen Tage noch bis zum Ende der angegebenen Schaltzeit (zum Beispiel würde auch am Mittwoch noch der Schaltvorgang erfolgen, wenn als Tagesvorgabe Dienstag gesetzt wurde).&lt;br /&gt;
}} &lt;br /&gt;
Die Ausführung der Befehle kann &#039;&#039;&#039;pro gewählten Gerät&#039;&#039;&#039; analog Rahmen 1 von weiteren Bedingungen abhängig gemacht werden. Es gelten die gleichen Regeln und Beispiele wie im &#039;Rahmen 1 Trigger Conditions&#039;. Sie können sinngemäß übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Die Variable &amp;lt;code&amp;gt;$EVENT&amp;lt;/code&amp;gt; enthält den auslösenden Trigger. Wenn unter &#039;Rahmen 1 Trigger Conditions&#039; ein Wildcard verwendet wurde, kann nun feingefiltert werden, indem das konkrete Ereignis angegeben wird. &lt;br /&gt;
&lt;br /&gt;
Beispiel: &amp;lt;code&amp;gt;[$EVENT] eq &amp;quot;state:on&amp;quot;&amp;lt;/code&amp;gt; würde den Kommandozweig nur dann ausführen, wenn der auslösende Trigger &amp;quot;state:on&amp;quot; war.&lt;br /&gt;
&lt;br /&gt;
==== cmd1/cmd2 delay  ====&lt;br /&gt;
Ein Eintrag in diesem Feld führt zur verzögerten Ausführung des Befehls nach Eintreffen des Events. Dabei kann der Befehl ohne weitere Prüfung der Bedingung ausgelöst werden. Es ist aber auch möglich, dass die Bedingung bei Ausführung erneut geprüft wird. Die Zeitangabe muss im Format hh:mm:ss vorliegen. Einzelheiten enthält auch das Funktions-Struktogramm.&lt;br /&gt;
&lt;br /&gt;
Statt einer direkten Zeitangabe kann hier auch auf eine verwiesen werden, indem in der Form [NAME.reading] ein Reading eines Devices wie z.B. [dummy.state] angegeben wird.&lt;br /&gt;
&lt;br /&gt;
==== add action  ====&lt;br /&gt;
Mit diesem Button kann ein weiterer Rahmen 4 als Rahmen 4.1 für das gleiche Device angelegt werden, um z.B. einen weiteren Befehl gegebenenfalls zeitverzögert auszuführen.&lt;br /&gt;
&lt;br /&gt;
==== delete this action  ====&lt;br /&gt;
Mit diesem Button wird der gewählte Rahmen 4 für das Device gelöscht.&lt;br /&gt;
&lt;br /&gt;
==== check condition  ====&lt;br /&gt;
[[Datei:MSwitch_Screen_7.png|mini|rechts|check]]&lt;br /&gt;
Die angegebenen &#039;conditions&#039; werden in Zusammenhang mit ggf. ausgewählten Devices auf Syntax und Ergebnis geprüft. Es erfolgt eine Ausgabe des Prüfungsergebnisses.&lt;br /&gt;
&lt;br /&gt;
==== Repeat und Repeatdelay ====&lt;br /&gt;
&lt;br /&gt;
Die Felder &#039;Repeats&#039;, &#039;Repeatdelay in s&#039; und &#039;priority&#039; stehen zur Verfügung, wenn das Attribut MSwitch_Expert gesetzt wurde. Diese bewirken eine n-fache Wiederholung des gesetzten Befehls mit m Sekunden Verzögerung. Das Auswahlfeld &#039;priority&#039; erscheint bei jedem &#039;affectes device&#039;. So kann die Reihenfolge der Befehlsabarbeitung beeinflusst werden.&lt;br /&gt;
&lt;br /&gt;
== Erweiterte Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Set-Befehle ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! class=&amp;quot;unsortable&amp;quot; | Beschreibung &lt;br /&gt;
|-&lt;br /&gt;
|set active||Setzt das MSwitch-Device in den Status &#039;active&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|set inactive||Setzt das Device in den Status &#039;inactive&#039;. Es werden keine Befehle mehr ausgeführt. Dieser Status entspricht dem Attribut &#039;disable&#039;, ist aber nicht mit dem roten Fragezeichen (fhem save) verbunden.&lt;br /&gt;
|-&lt;br /&gt;
|set on&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;off [&amp;lt;parameter&amp;gt;]||Setzt das Device in den Status &#039;on&#039; oder &#039;off&#039;. Alle Befehle der &#039;on/off-Zweige&#039; werden ausgeführt. Optional kann den Befehlen &#039;on&#039; und &#039;off&#039; ein weiterer Parameter mit übergeben werden. Dieser wird im Reading &#039;Parameter&#039; hinterlegt und es kann sofort in &#039;Freecmds&#039; oder &#039;Conditions&#039; darauf zugegriffen werden.&lt;br /&gt;
|-&lt;br /&gt;
|set reload_timer||Alle gesetzten Timer werden gelöscht und neu berechnet.&lt;br /&gt;
|-&lt;br /&gt;
|set change_renamed &amp;lt;oldname&amp;gt; &amp;lt;newname&amp;gt;||Sollten sich Devicenammen im ausführenden Teil geändert habe (affected Devices, Conditions, etc.) so kann das MSwitch mit diesem Befehl angepasst werden, ohne alle Einstellungen neu einstellen zu müssen.&lt;br /&gt;
|-&lt;br /&gt;
|set exec_cmd1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; set exec_cmd1 ID [&amp;lt;ID&amp;gt;]||Bewirkt das sofortige Ausführen des entsprechenden Befehlszweiges. Bei Angabe einer ID werden nur die Befehle mit der entsprechenden ID ausgeführt.&lt;br /&gt;
|-&lt;br /&gt;
|set MSwitch_backup||Erstellt eine Backup-Datei aller MSwitch Devices unter ./fhem/MSwitch_backup.cfg. Daten dieser Datei können im Bedarfsfall für einzelne oder gleichzeitig alle MSwitch Devices wieder zurückgespielt (hergestellt) werden.&lt;br /&gt;
|-&lt;br /&gt;
|set del_delays &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; set exec_cmd1 ID [&amp;lt;ID&amp;gt;]||Löscht alle anstehenden, verzögerten Befehle (delays).&lt;br /&gt;
|-&lt;br /&gt;
|set reset_cmd_count: 1&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;2||Löscht das entsprechende EVT_CMD_COUNT - Reading; entspricht damit einer Rückstellung auf &#039;0&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|set fakeevent [&amp;lt;device&amp;gt;]:&amp;lt;reading&amp;gt;:&amp;lt;arg&amp;gt;||Beispiel: &amp;lt;device&amp;gt; fakeevent state:on&amp;lt;br&amp;gt;&lt;br /&gt;
Das MSwitch Device reagiert so, als wäre statt des internen &amp;quot;fakes-Befehls&amp;quot; ohne FHEM-Systembeeinflussung dieses Event tatsächlich vom triggernden Gerät generiert worden. &lt;br /&gt;
&lt;br /&gt;
Der Name (&amp;lt;device&amp;gt;) muss bei GLOBALEN Triggern mit angegeben werden, sonst wird das Device automatisch gesetzt.&lt;br /&gt;
Um z.B. einen Watchdog zu realisieren ist es eventuell nötig, dass sich das MSwitch Device mit einem bestimmten Event selber neu triggert - ggf. mit einem entsprechenden Delay Affected Device. Bei dem Einsatz dieser Möglichkeit sollte das Attribut &#039;MSwitch_Safemode&#039; UNBEDINGT aktiviert sein, da &#039;Experimente&#039; hier schnell in einer Endlosschleife enden können, die nur durch ein Reboot unterbrochen werden kann. Möglicherweise steht dieser Befehl zukünftig nur noch zur Verfügung, wenn Safemode aktiviert ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Get-Befehle ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! class=&amp;quot;unsortable&amp;quot; | Beschreibung &lt;br /&gt;
|-&lt;br /&gt;
|get show_timer [&amp;lt;show&amp;gt;&amp;lt;delete&amp;gt;]||&lt;br /&gt;
;Show&lt;br /&gt;
:Zeigt alle anstehenden (gesetzten) Timer des Devices, die aus zeitabhängigen oder verzögerten Schaltbefehlen resultieren.&lt;br /&gt;
;Delete&lt;br /&gt;
:Löscht alle anstehenden (gesetzten) Timer des Devices, die aus zeitabhängigen oder verzögerten Schaltbefehlen resultieren. Schaltbefehle basierend auf rein zeitabhängigen Angaben werden neu berechnet und gesetzt.&lt;br /&gt;
|-&lt;br /&gt;
|get restore_MSwitch_data [&amp;lt;this_device&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;all_devices&amp;gt;]||&lt;br /&gt;
;this_device&lt;br /&gt;
:Stellt die Daten des Devices aus der Backupdatei wieder her, sofern diese in der Backupdatei gefunden werden (gesucht wird hier nach dem Namen des Devices).&lt;br /&gt;
;all_devices&lt;br /&gt;
:Stellt die Daten aller MSwitch Devices wieder her, sofern diese in der Backupdatei vorhanden sind. Diese Aktion kann einige Zeit in Anspruch nehmen und wird daher im Hintergrund (nonblocking) ausgeführt. Nach Beendigung erfolgt eine Benachrichtigung.&lt;br /&gt;
Die Devices sind nach einem Restore funktionsfähig. Empfohlen wird ein Neustart von FHEM..&lt;br /&gt;
|-&lt;br /&gt;
|get_config||Zeigt die Konfigurationsdatei des MSwitchdevices an; diese kann in dem Fenster editiert werden. Das sollte nur von erfahrenen Usern getan werden! Im Normalfall sollte das Device nur über die Weboberfläche konfiguriert werden und eine falsche Konfiguration kann hier zu einem FHEM Absturz führen.&lt;br /&gt;
|-&lt;br /&gt;
|get_support_info||Öffnet ein Fenster mit einer formatierten Ansicht aller Einstellungen des Devices. Bei Supportanfragen sollte dieses immer mit geposted werden.&lt;br /&gt;
|-&lt;br /&gt;
|get_MSwitch_preconf||Lädt vorkonfigurierte MSwitch-Devices. Diese Option ist nur dann vorhanden, wenn das Aktualisieren dieser vorkonfigurierten Devices im FHEM Update aktiviert ist.&lt;br /&gt;
Diese kann durch ein einmaliges Update erfolgen mit:&lt;br /&gt;
:&amp;lt;code&amp;gt;update all https://raw.githubusercontent.com/Byte009/MSwitch_Addons/master/controls_mswitchaddons.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! class=&amp;quot;unsortable&amp;quot; | Beschreibung &lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Debug &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;2&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;3&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;4&amp;gt;||&lt;br /&gt;
0 - Abgeschaltet&amp;lt;br&amp;gt;&lt;br /&gt;
1 - Schaltet Felder zum testen der Conditionstrings an&amp;lt;br&amp;gt;&lt;br /&gt;
2 - Alle ausgehenden Befehle werden nur simuliert und nicht ausgeführt. Der Inhalt der Protokolldatei wird direkt im Device angezeigt&amp;lt;br&amp;gt;&lt;br /&gt;
3 - Es erfolgt eine Protokollierung in einer separaten Datei. Diese wird direkt im Device angezeigt.&amp;lt;br&amp;gt;&lt;br /&gt;
4 - erweitertes Debugfür Entwickler mit wechselnden Funktionen&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Expert &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||&lt;br /&gt;
* In der Liste der möglichen Trigger erscheint das Selectfeld &#039;GLOBAL&#039;. Dieses ermöglicht das Setzen eines Triggers auf alle Events und damit nicht nur auf einzelne Devices. In einem weiteren Feld kann eine weitere Selektion der triggernden Events erfolgen.&lt;br /&gt;
&lt;br /&gt;
* Die Felder &#039;Repeats&#039; und &#039;Repeatdelay in s&#039; stehen zur Verfügung. Dies bewirkt eine n-fache Wiederholung des gesetzten Befehls mit m Sekunden Verzögerung.&lt;br /&gt;
&lt;br /&gt;
* Das Auswahlfeld &#039;priority&#039; erscheint bei jedem &#039;affectes device&#039;. So kann die Reihenfolge der Befehlsabarbeitung beeinflusst werden.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Sequenz &amp;lt;Suchmuster&amp;gt; ??? ||&lt;br /&gt;
Eine Schaltsequenz kann durch ein oder mehrere durch &#039;/&#039; getrennte Suchmuster angegeben werden. Die Angabe muss folgende Syntax haben:&lt;br /&gt;
:&amp;lt;code&amp;gt;Device1:reading1:event1 Device1:reading1:event1-2 Device1:reading1:event1-3/..../....&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel: &amp;lt;code&amp;gt;Dummy:state:on Dummy:state:off Dummy:state:on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erkennt das Device dieses Suchmuster in den Schaltvorgängen des Devices (Dummy), wird das Reading &amp;quot;SEQUENCE&amp;quot; auf &amp;quot;match&amp;quot; gesetzt, das Reading &amp;quot;SEQUENCE_NUMBER&amp;quot; auf die Nummer der gefundenen Sequenz, wenn es mehrere Suchmuster gibt. Beide Readings können in den &amp;quot;Conditions&amp;quot; eines Schaltbefehles abgefragt werden. Eine Angabe muss in folgendem Format gemacht werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;on/off/state/suchmuster1/suchmuster2&amp;lt;/code&amp;gt;, wobei die letzten drei Angaben optional sind.&lt;br /&gt;
&lt;br /&gt;
Funktion: Bei Ausführung des Befehls wird das Gerät &#039;on&#039; oder &#039;off&#039; geschaltet (on/off), Voraussetzung ist, dass der &#039;state&#039; dieses Gerätes auch den &#039;state on&#039; oder &#039;off&#039; annimmt. Sollte dieses nicht der Fall sein, so kann mit dem Feld &#039;state&#039; angegeben werden, in welchem Reading der aktuelle Status vorkommt und wie dieser lautet (suchmuster1/suchmuster2). Dieses &#039;state&#039; kann mehrere Angaben enthalten, das Vorkommen der Suchmuster ist aber Voraussetzung.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Sequence_time &amp;lt;Zeit in Sekunden&amp;gt;||Maximalzeit in Sekunden, um eine Sequenz vollständig auszuführen. (Was wenn diese Zeit überschritten wird???)&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Extensions &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Es wird zusätzlich zu &#039;on&#039; und &#039;off&#039; die Schaltoption &#039;MSwitchToggle&#039; in der Liste angeboten, um die Toggle-Funktion bei Geräten die sie nicht von Haus aus anbieten nachzurüsten.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Delete_Delays &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Eins bewirkt das Löschen aller anstehende Delays bei dem Auftreten eines erneuten passenden Events. Bei der Option &#039;0&#039; bleiben bereits gesetzte Delays aus einem vorher getriggerten Event erhalten und werden ausgeführt. Empfohlene Einstellung: 1&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Include_Devicecmds &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Bewirkt die Aufnahme aller Devices die bei Abfrage mit &#039;set DEVICE ?&#039; einen eigenen Befehlssatz liefern in die Auswahlliste &#039;Affected Devices&#039;. Bei Option &#039;0&#039; werden diese Devices in der Liste nicht mehr angeboten. Empfohlene Einstellung: 1&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Include_Webcmds &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Bewirkt die Aufnahme aller Devices in die Auswahlliste &#039;Affected Devices&#039;, die einen eigenen Befehlssatz in dem Attribut Webcmd hinterlegt haben. Die in Webcmd hinterlegten &#039;Befehle&#039; werden in den Auswahlfeldern angeboten. Bei gesetzter Option &#039;0&#039; werden diese Devices nicht mehr angeboten, es sei denn, sie liefern mit &#039;set DEVICE ?&#039; einen eigenen Befehlssatz. Empfohlene Einstellung: 0, Einsatz nach Bedarf.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Activate_MSwitchcmds &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Fügt jedem vorhandenen Device das Attribut &#039;MSwitchcmd&#039; hinzu.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Include_MSwitchcmds &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Bewirkt die Aufnahme aller Devices in die Auswahlliste &#039;Affected Devices&#039;, die einen eigenen Befehlssatz in dem Attribut MSwitchcmds hinterlegt haben. Die in MSwitchcmds hinterlegten &#039;Befehle&#039; werden in den Auswahlfeldern angeboten. Bei gesetzter Option &#039;0&#039; werden diese Devices nicht mehr angeboten, wenn sie nicht zusätzlich einen eigenen Befehlssatz mit &#039;set DEVICE ?&#039; liefern. Empfohlene Einstellung: 0, Einsatz nach Bedarf.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Lock_Quickedit &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt;||Voreinstellung für die Auswahlliste &#039;Affected Devices&#039;. Bei der Option &#039;1&#039; ist diese voreingestellt gesperrt und kann nur über einen zusätzlichen Button geändert werden, um versehentliche Änderungen zu vermeiden. Die Auswahl einer Option ohne betätigte &amp;lt;Strg&amp;gt;-Taste bewirkt das Löschen aller bereits gesetzten Optionen. Empfohlene Einstellung: 1&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Startdelay &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;10&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;20&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;30&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;60&amp;gt; ||MSwitch ignoriert nach einem FHEM-Neustart für die angegebene Zeit in Sekunden alle eingehenden Events um u.a. Startverzögerungen zu vermeiden. Bei nicht gesetztem Attribut gilt hier eine Zeit von 30 Sekunden. Diese sollte auch nur in Ausnahmefällen geändert werden. Empfohlene Einstellung: 30&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Ignore_Types||Beinhaltet eine durch Leerzeichen getrennte Liste von Device-&#039;&#039;Typen&#039;&#039; welche nicht geschaltet werden oder nicht geschaltet werden können. Sie werden dann in den Auswahllisten &#039;&#039;nicht&#039;&#039; dargestellt, um die Auswahllisten übersichtlich zu halten.Voreinstellung: notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul. &lt;br /&gt;
&lt;br /&gt;
???Wenn statt des Devicetyps ein devspec z.B. &amp;quot;TYPE=watchdog&amp;quot; angegeben wird, ist zu beachten, dass alle Geräte in die Ignoreliste einbezogen werden, die NICHT der devspec entsprechen. Weiterhin muss die devspec in Anführungszeichen gesetzt werden!???&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Trigger_Filter  ||Beinhaltet eine kommagetrennte Liste von Events, die im Falle ihres Eingangs unberücksichtigt und ungespeichert bleiben. Wildcards wie &#039;*&#039; können angegeben werden. Empfohlene Einstellung: -&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Wait &amp;lt;n in Sekunden&amp;gt;||Bei gesetztem Attribut nimmt das MSwitch Device für den eingestellten Zeitraum keine Befehle mehr entgegen und ignoriert eingehende Events.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Event_Id_Distributor|| ??? Voraussetzung ist, dass das Attribut &#039;MSwitchExpert&#039; auf &#039;1&#039; gesetzt ist. Es können auslösende Events ID-Aktionen umgeleitet werden. Sollte bei den &#039;trigger details :&#039; in einem Zweig ( cmd1 ) z.B. mehrere getriggert werden (regex state:(on |off)) so werden für beide Events jeweils der Zweig &#039;cmd1&#039; - alle  Aktionen ohne ID - ausgeführt. Durch entsprechende Einträge kann für entsprechende Events auf eine Aktion umgeleitet werden, für die eine ID definiert ist. Die Syntax lautet: &amp;lt;code&amp;gt;state:on=&amp;gt;cmd1 ID 1,2&amp;lt;/code&amp;gt; Entsprechend werden bei auslösendem Event &#039;state:on&#039; nur die Aktionen aus cmd1 mit den IDs 1 und 2 ausgeführt. Mehrere Angaben sind durch new Line zu trennen. ???&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Selftrigger_always &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||(dieses Attribut steht ab Modulversion 2.5 zur Verfügung)&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung dieses Attributes &#039;1&#039; bewirkt, dass alle SET Aktionen des Devices einen internen Event ohne Auswirkungen auf das FHEM-System auslösen, auf die das Device selber reagiert. Diese Option kann zusätzlich zu einem vorhandenen Trigger aktiviert werden. Auftretende auswertbare interne Events haben immer folgendes Format: &lt;br /&gt;
MSwitch_Self:aktion:wert &lt;br /&gt;
MSwitch_Self:pct:100&lt;br /&gt;
Es werden nur interne Events für set-Aktionen ausgelöst, die im Attribut setlist hinterlegt sind. Der &#039;wait&#039; Befehl/Attribut hat keine wirkung.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Mode &amp;lt;Notify&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;Full&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;Toggle&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;Dummy&amp;gt; ||Schaltet das Modul zwischen angepassten Weboberflächen-Modi um.&lt;br /&gt;
&lt;br /&gt;
Notify&lt;br /&gt;
Das Device kann nicht manuell umgeschaltet werden. Es gibt nur die zwei ausführbaren Zweige &amp;quot;execute &#039;cmd1&#039; commands&amp;quot; und &amp;quot;execute &#039;cmd2&#039; commands&amp;quot;. Der Status des Devices wird nicht als &#039;on&#039; oder &#039;off&#039; angezeigt, sondern lediglich als &#039;active&#039; Dieser Mode ist ähnlich zu einem FHEM-Notify.&lt;br /&gt;
&lt;br /&gt;
Full&lt;br /&gt;
Es stehen alle Funktionen zur Verfügung.&lt;br /&gt;
Toggle&lt;br /&gt;
Sehr vereinfachter Mode. Es stehen keine verschiedenen Zweige zur Verfügung. Hier ist das Device manuell schaltbar und wird bei jedem definierten Event &#039;umgeschaltet&#039;, ??? entsprechend definierte Befehle für &#039;cmd1&#039; oder &#039;cmd2&#039; werden ausgeführt. ???&lt;br /&gt;
Dummy&lt;br /&gt;
ACHTUNG: Funktionsänderung mit V2.61 Der Mode &#039;Dummy&#039; ist ein eingeschränkter Modus. Dieser bietet die Funktionalität eines Dummys kombiniert mit der Funktionalität eines Notifys und kann somit die gerne genutzte Kombination Dummy-Notify gegen ein Device ersetzen. Der Dummy-Mode kann nur in einem neu angelegten leeren MSwitch aktiviert und auch nicht wieder verlassen werden! Sobald ein angelegtes MSwitch einmal verändert wurde (modify trigger etc.) sind Umschalt-Optionen nicht mehr verfügbar.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Condition_Time &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||In der Grundeinstellung &#039;0&#039; werden für das zeitgesteuerte Schalten keine definierten Conditionen im Feld &#039;Trigger condition&#039; überprüft, sondern die Schaltbefehle werden in jedem Fall ausgeführt. Mit der Einstellung &#039;1&#039; wird diese Überprüfung wie für Events zugeschaltet.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Random_Time &amp;lt;HH:MM:SS-HH:MM:SS&amp;gt; || Bei Aktivierung wird vor jedem Ausführen eines verzögerten Befehls (Delay) eine Zufallszeit generiert, die im Rahmen der hier angegebenen Zeitspanne liegt. Auf diese Zufallszahl kann in den Delays zugegriffen werden, durch die Angabe &#039;[random]&#039; statt einer direkten Zeitangabe. Bei nicht gesetztem Attribut ergibt die Angabe von &#039;[random]&#039; immer &#039;00:00:00&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MMSwitch_Random_Number &amp;lt;n&amp;gt; ||Bei Aktivierung dieses Attributes mit einer beliebigen ganzen Zahl, werden vom Device die zwei Readings  &#039;RandomNr&#039; und &#039;RandomNr1&#039; und mit Werten zwischen null und n angelegt. RandomNr wird vor jedem Ausführen eines Befehls, auch für unterschiedliche Geräte in einem Durchgang, neu generiert. RandomNr1 bleibt nach der Initialisierung konstant. Wenn auf dieses Readings in einer Condition mit z.B. &#039;[$NAME:ReadingNr1] = 1&#039; zugegriffen wird, wird der Befehl nur ausgeführt, wenn ReadingNr1 gerade = 1 ist. Der Befehl wird somit nur mit einer Wahrscheinlichkeit von eins zu n ausgeführt.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Reset_EVT_CMD1(2)_COUNT ||Bei Aktivierung dieses Attributes steht in den Readings das Reading &#039;EVT_CMD1_COUNT&#039; bzw. &#039;EVT_CMD2_COUNT&#039; zur Verfügung. Dieses kann in den Conditions genutzt werden, um z.B. nur bei jedem x-ten Eintreffen eines auslösenden Events einen Befehl auszuführen. Bei jedem Eintreffen eines gültigen Events werden die Zähler um 1 erhöht (für den jeweiligen Zweig). Ist hier der Wert &#039;0&#039; eingetragen, wird der Zähler fortlaufend (endlos) erhöht. Wird ein Wert größer 0 eingetragen, wird der Zähler mit Erreichen dieses Wertes automatisch wieder auf Null gesetzt. Mit Löschen dieses Attributes werden die entsprechenden Readings ebenfalls gelöscht.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Safemode &amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Bietet einen gewissen Schutz vor falschen Konfigurationen und dadurch entstehenden Endlosschleifen. Bei aktiviertem Attribut &#039;1&#039; beendet das Modul Endlosschleifen eines Devices. In diesem Fall erfolgt ein Logeintrag und das Device wird per Attribut auf &#039;Disabled&#039; gesetzt. Es wird ein letztes Event generiert, auf das reagiert werden kann &amp;lt;code&amp;gt;2018-05-31 09:39:21 MSwitch &amp;lt;NAME&amp;gt; Safemode: on&amp;lt;/code&amp;gt; Im Webinterface erfolgt bei betroffenem Device ein entsprechender Hinweis. In der Grundkonfiguration ist dieses Attribut nicht gesetzt. Es empfiehlt sich aber, bei neuen bzw. komplizierten Devices, dieses zumindest anfänglich zu aktivieren.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Read_Log&amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Ermöglicht den Zugriff auf das Logfile als Trigger.&lt;br /&gt;
&lt;br /&gt;
* Bei aktiviertem Attribut enthält die Auswahl des Triggerdevices die Option &#039;LOGFILE&#039;. Bei dieser Auswahl werde alle Logeinträge erkannt und in ein internes Event umgewandelt, auf das regiert werden kann.&lt;br /&gt;
* bei aktiviertem Attribut und der Auswahl &#039;GLOBAL&#039; im &#039;Trigger_Device&#039; wird auf ALLE Events und alle Logeinträge reagiert.&lt;br /&gt;
* bei aktiviertem Attribut und der Auswahl eines bestimmten Devices im &#039;Trigger_Device&#039; wird auf alle Events  und auf alle Logeinträge des gewählten Devices reagiert. Der im Logeintrag vorhandene Devicename ist Bedingung für die Funktion.&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Help&amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Schaltet Hilfebuttons zu den einzelnen Eingabefeldern an oder aus.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Comments&amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Schaltet Kommentarfelder zu den einzelnen &#039;affected_devices an.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_generate_Events&amp;lt;0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1&amp;gt; ||Reduziert bei Einstellung &#039;1&#039; die vom MSwitch-Devices erzeugten Events auf ein Minimum. Insbesondere bei Verwendung von &#039;MSwitch_Read_Log&#039; zu empfehlen.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Startdelay||???Bestimmt die Verzögerungszeit des MSwitches nach FHEM-Start in Sekunden. In diesem Zeitraum reagiert das Device nicht auf Events. Die Vorgabe ist hier zehn Sekunden. Diese wird auch dann angenommen, wenn das Attribut nicht gesetzt ist.??? (Hatten wir das nicht schon?)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|MSwitch_Inforoom  ||Mit diesem Attribut wird die Raumansicht eines mit dem Attribut bestimmten Raumes verändert. Dadurch sollen die wichtigsten Informationen aller MSwitch-Devices auf eine Seite dargestellt werden. Zur Nutzung sollten alle MSwitch-Devices (zusätzlich) in einen Raum sortiert werden und dieser Raum im Attribut eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Wichtig: Eine Änderung dieses Attributes bewirkt immer eine Änderung dieses Attributes in &#039;&#039;allen&#039;&#039; MSwitch devices: Es muss nur in einem Device gesetzt oder gelöscht werden um alle Devices zu erfassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
MSwitch_Screen_1.png|Raumansicht des Raumes MSwitch mit gesetztem Attribut &#039;MSwitch&#039;&lt;br /&gt;
MSwitch_Screen_2.png|Raumansicht des Raumes MSwitch ohne gesetztes Attribut&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es werden folgende Informationen bereitgestellt:&lt;br /&gt;
* Infobutton zeigt den im Device gespeicherten Textes des Attributes &#039;comment&#039;&lt;br /&gt;
* Device und Events, die das Device triggern&lt;br /&gt;
* Zeiten, zu denen verschiedene Zweige des Devices ausgeführt werden&lt;br /&gt;
* Devices, die durch das MSwitch Device geschaltet werden&lt;br /&gt;
* State des Devices&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integrierte Funktionen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! class=&amp;quot;unsortable&amp;quot; | Beschreibung &lt;br /&gt;
|-&lt;br /&gt;
|Average||???&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Difference||&lt;br /&gt;
* Syntax: [DIFF&amp;lt;wert&amp;gt;:&amp;lt;reading&amp;gt;] &amp;gt; &amp;lt;differenz&amp;gt;&lt;br /&gt;
* Beispiel: [DIFF2:countdown] &amp;gt; 0&lt;br /&gt;
* Reading: entspricht dem getriggerten Reading.&lt;br /&gt;
* Wert: gespeicherter Wert (in diesem Fall der vorletzte).&lt;br /&gt;
* Differenz: geforderte Differenz zwischen aktuellem und vorletztem Wert.&lt;br /&gt;
* Schaltung erfolg wenn diese Bedingung &#039;wahr&#039; ist.&lt;br /&gt;
Folgende Readings werden zur Verfügung gestellt:&lt;br /&gt;
* DIFFERENCE (true/false) - Schaltbedingung erkannt ja/nein&lt;br /&gt;
* DIFFDIRECTION (up/down) - Richtung der erkannten Bedingung (steigend/fallend)&lt;br /&gt;
|-&lt;br /&gt;
|Increase||???&lt;br /&gt;
|-&lt;br /&gt;
|Tendency||&lt;br /&gt;
*Syntax: [TEND&amp;lt;wert&amp;gt;:&amp;lt;reading&amp;gt;] &amp;gt; &amp;lt;Mindestwert&amp;gt;&lt;br /&gt;
*Beispiel: [TEND2:countdown] &amp;gt; 2&lt;br /&gt;
*Reading: entspricht dem getriggerten Reading.&lt;br /&gt;
*Wert: Es wird jeweils der Durchschnitt von 2 Wertepaaren gebildet. In diesem Fall werden die letzten 4 Werte herangezogen. Paar 1 = Aktueller und letzter Wert, Paar 2 = Die 2 vorherigen Werte. Bei TEND3 werden die letzten 6 Werte zur Paarbildung genutzt.&lt;br /&gt;
*Mindestwert: Der Wertunterschied zwischen den Wertepaaren, der minimal erreicht sein muss, um eine Tendenz zu erkennen.&lt;br /&gt;
&lt;br /&gt;
Rechenzeichen (&amp;gt;&amp;lt;):&lt;br /&gt;
Dieses ist hier nicht als Rechenzeichen zu werten, sonder als Tendenz-Anzeige. ( &amp;lt; es wird nach fallender Tendenz gesucht / &amp;gt; sucht nach steigender Tendenz).&lt;br /&gt;
&lt;br /&gt;
Schaltung erfolgt einmalig bei Erkennung der gesuchten Tendenz.&lt;br /&gt;
Danach erfolgt keine Schaltung mehr, solange bis eine Tendenz-Umkehr erfolgt ist.&lt;br /&gt;
Erst dann erfolgt wieder eine Schaltung bei erneuter Tendenz-Umkehr in gesuchte Richtung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Funktions-Struktogramm ==&lt;br /&gt;
[[Datei:MSwitch full.svg|Struktogramm des Funktionsprinzips]]&lt;br /&gt;
&lt;br /&gt;
== Anwendungs-Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== [[Blinken - Rechteckgenerator]] ===&lt;br /&gt;
=== [[Blinken - Impulsgenerator mit variablem Tastgrad]] ===&lt;br /&gt;
=== [[Schmitt-Trigger - Temperaturabhängiges Schalten]] ===&lt;br /&gt;
=== [[Linearschalter]] ===&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Thread über das Modul im {{Link2Forum|Topic=86199|LinkText=FHEM Forum}}&lt;br /&gt;
* {{Link2Forum|Topic=100119|Message=936495|LinkText=Gäste-WLAN der Fritzbox auswerten und Login per Telegram senden}}&lt;br /&gt;
* {{Link2Forum|Topic=86199|Message=930133|LinkText=Schalten von vier Kanälen mit einem MSwitch-Device}}&lt;br /&gt;
* {{Link2Forum|Topic=99219|Message=926652|LinkText=Batterie-Überwachung. 1xTäglich per Telegram senden}}&lt;br /&gt;
* {{Link2Forum|Topic=101091|Message=945389|LinkText=Licht (Alarm) in einem bestimmten Zeitraum schalten}}&lt;br /&gt;
* {{Link2Forum|Topic=100949|Message=944284|LinkText=Über Dummy-Schalter ein Timer (EIN/AUS) aktivieren}}&lt;br /&gt;
* {{Link2Forum|Topic=103083|Message=967710|LinkText=Ladezeit von Akku ermitteln u. Steckdose entsprechend schalten}}&lt;br /&gt;
* {{Link2Forum|Topic=86199|Message=990265|LinkText=Bewegungsmelder}}&lt;br /&gt;
* {{Link2Forum|Topic=86199|Message=974592|LinkText=Rauch und Hitzemelder steuern}}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=33577</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=33577"/>
		<updated>2020-07-20T17:00:15Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Änderung 33372 von Krikan (Diskussion) rückgängig gemacht. / Befehl funktioniert nach 00_ZWDongle.pm-Update bis Routenupdatedauer von 80 Sekunden&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 1400 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;)[https://web.archive.org/web/20160319202135/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 [https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 10/2017 das SDK 6.7x, 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 höher) 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;
Z-Wave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Weitere Informationen im [[ZWCUL]] - Artikel.}}&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=78248|Message=702044}})&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 das zugehörige FHEM-Device nach dem Namensschema &amp;lt;code&amp;gt;ZWDongle_&amp;lt;[https://forum.fhem.de/index.php/topic,92885.msg854533.html#msg854533 Anhang]&amp;gt;&amp;lt;/code&amp;gt; angelegt. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. &lt;br /&gt;
&lt;br /&gt;
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;). &lt;br /&gt;
&lt;br /&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/ttyUSB1@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/ttyACM1@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;
Bei einem statischen Controller wird die Einrichtung als SUC -sofern der Controller als solcher nicht bei Auslieferung eingerichtet ist- vor der ersten Inklusion von Geräten empfohlen.&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 (&amp;lt;ZWDongle&amp;gt; ist im folgenden durch den Namen des FHEM-Devices des eigenen Gateways zu ersetzen):&lt;br /&gt;
 get &amp;lt;ZWDongle&amp;gt; homeId&lt;br /&gt;
ergibt beispielsweise bei einem Gateway mit dem FHEM-Devicenamen ZWDongle_1:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
In diesem Beispiel ist die Home-Id des Gateways ZWDongle_1 e345c456 und das Gateway hat die Node-Id 1.&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 &amp;lt;ZWDongle&amp;gt; nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 {{Link2CmdRef|Anker=rename|Label=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 &amp;lt;ZWDongle&amp;gt; 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;ZWave-Devicename&amp;gt; neighborUpdate&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 (&amp;lt;ZWDongle&amp;gt;-Device, &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://devel.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://devel.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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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. 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 &amp;lt;ZWDongle&amp;gt; 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://devel.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;
&lt;br /&gt;
== Geräte-Vergleich ==&lt;br /&gt;
=== Doppel-Relais ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Eigenschaft !! FIBARO Double Switch 2-FGS-223 !! Qubino Flush 2 relays  !! Philio-PAN04 1&lt;br /&gt;
|-&lt;br /&gt;
| Funktion || Doppel-Relais || Doppel-Relais || Doppel-Relais&lt;br /&gt;
|-&lt;br /&gt;
| Standby-Leistung || ca. 0.4W || ca. 0.4W || ca. 0.5W&lt;br /&gt;
|-&lt;br /&gt;
| Reaktion beim Schalten am Tastereingang || schnell, kaum merkliche Verzögerung ||  schnell, kaum merkliche Verzögerung || langsam, unangenehm langes drücken des Tasters nötig &amp;gt;1 Sekunde &lt;br /&gt;
|-&lt;br /&gt;
| Geräte in FHEM || 3 &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 3  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 4  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 &amp;lt;br&amp;gt; x.03 Summengerät (ähnlich Hauptgerät, überflüssig)&lt;br /&gt;
|-&lt;br /&gt;
| Zustand Hauptgerät || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais&lt;br /&gt;
|-&lt;br /&gt;
| Statuswechsel Report vom Gerät zum FHEM || ca. 1 Sekunde || ca. 3 Sekunden || ca. 3-4 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| Empfänger des Status Reports || Hauptgerät und Untergeräte || Hauptgerät und Untergeräte  || Nur Hauptgerät &amp;lt;br&amp;gt;Aktualisierung der Untergeräte nur bei aktiver Abfrage &lt;br /&gt;
|-&lt;br /&gt;
| Leistungsmessung || Separat für Untergeräte || Separat für Untergeräte || Nur Summe&lt;br /&gt;
|-&lt;br /&gt;
| Sicherung nötig / Strom || ja, 2x 6.5A, Summe max 10A || ja, max 2x 4A  || nein, 2x 6.5A&lt;br /&gt;
|}&lt;br /&gt;
Beim Qubino Flush 2 relays muss eine MULTI_CHANNEL_ASSOCIATION mit dem Controller (Endpoint root) statt einer &amp;quot;normalen&amp;quot; Assoziation gesetzt werden, damit die Status der Untergeräte einzeln signalisert werden:&lt;br /&gt;
&lt;br /&gt;
 set associationDel 1 &amp;lt;controllerNodeId&amp;gt; &lt;br /&gt;
 set &amp;lt;device&amp;gt; mcaAdd 1 0 &amp;lt;controllerNodeId&amp;gt; 0 &lt;br /&gt;
&lt;br /&gt;
Bei einem FHEM-Updatestand ab 20.09.2019 erfolgt diese Einstellung automatisch.&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;{{Link2CmdRef|Anker=stateFormat|Label=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 {{Link2CmdRef|Anker=ZWaveget}}). 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;
{{Randnotiz|RNText=FHEM unterstützt derzeit ausschließlich SECURITY 1 und nicht das mit dem SDK 6.7 neu eingeführte SECURITY 2 (S2). Soweit bekannt, sind S2-Geräte rückwärtskompatibel zu SECURITY 1.}}&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 {{Link2CmdRef}} 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 zunächst nicht erneut vergeben. Diese frei gewordenen NodeIds werden bei Inklusionen in aufsteigender Reihenfolge erst wieder vergeben, nachdem die höchste verfügbare NodeId (232?) inkludiert wurde. Sie sind somit grundsätzlich nicht verloren.&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 {{Link2CmdRef}} - 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;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=DevIo&amp;diff=33576</id>
		<title>DevIo</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=DevIo&amp;diff=33576"/>
		<updated>2020-07-20T16:54:10Z</updated>

		<summary type="html">&lt;p&gt;Krikan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Dienstfunktionen für die Kommunikation per serieller Schnittstelle (USB/RS232), TCP/IP-Verbindung oder UNIX-Socket&lt;br /&gt;
|ModType=u&lt;br /&gt;
|ModForumArea=FHEM Development&lt;br /&gt;
|ModTechName=DevIo.pm&lt;br /&gt;
|ModOwner=rudolfkoenig ({{Link2FU|8|Forum}} / [[Benutzer Diskussion:Rudolfkoenig|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das Modul [[DevIo]](.pm) ist für Modulentwickler gedacht, um Daten zwischen einem FHEM-Modul und bspw. einer seriellen Schnittstelle, einer TCP/IP-Verbindung oder einem UNIX-Socket auszutauschen. Es übernimmt dabei die gesamte Verbindungsverwaltung und Aufrechterhaltung innerhalb von FHEM und nimmt dem Modulentwickler daher die gesamte Verbindungsverwaltung (Aufbau, Initialisierung, Neu-Verbindung bei Abbruch, etc.) ab. Es berücksichtigt dabei Besonderheiten zwischen Unix-basierten Betriebssystemen und Windows.&lt;br /&gt;
&lt;br /&gt;
Es dient dabei lediglich dem Zweck einen Kommunikationskanal für eine Definition in FHEM zu etablieren und Daten darüber auszutauschen. Die Interpretation der empfangenen Daten obliegt dem Modul, welches die Verbindung via DevIo geöffnet hat. Die ausgetauschten Daten werden durch DevIo nicht verändert.&lt;br /&gt;
&lt;br /&gt;
= Allgemeine Funktionsweise =&lt;br /&gt;
DevIo hat das Ziel eine besonders einfache Möglichkeit für Modulentwickler zu schaffen, um einen dauerhaften Kommunikationskanal mit einem Hardware- oder Netzwerk-Gerät bzw. Service zu etablieren. Um eine Verbindung aufzubauen muss zunächst die Gegenstelle bekannt sein. Dazu muss vor dem Verbindungsaufbau in dem Internal &amp;lt;code&amp;gt;$hash-&amp;gt;{DeviceName}&amp;lt;/code&amp;gt; der jeweiligen Definition das Ziel hinterlegt werden. Dies kann bspw. eine serielle Schnittstelle sein (z.B. &amp;quot;/dev/ttyUSB0&amp;quot; oder &amp;quot;COM1&amp;quot; unter Windows) oder eine TCP/IP-Gegenstelle (z.B. &amp;quot;192.168.1.100:1012&amp;quot;) sein. Eine detaillierte Aufstellung der möglichen Verbindungsarten und deren Angabe in &amp;lt;code&amp;gt;$hash-&amp;gt;{DeviceName}&amp;lt;/code&amp;gt; gibt es im folgenden Kapitel [[#Unterstützte Verbindungsarten|Unterstützte Verbindungsarten]].&lt;br /&gt;
&lt;br /&gt;
Die Funktion [[#DevIo_OpenDev()|DevIo_OpenDev()]] baut dabei die entsprechende Verbindung für eine einzelne Definition in Form eines Filedeskriptors auf und registriert diesen in dem globalen Hash &amp;lt;code&amp;gt;%selectlist&amp;lt;/code&amp;gt;&amp;lt;ref name=&amp;quot;selectlist&amp;quot;&amp;gt;[[DevelopmentModuleIntro#Wichtige_globale_Variablen_aus_fhem.pl|Development Module Introduction]] - Wichtige globale Variablen aus fhem.pl&amp;lt;/ref&amp;gt;. Sobald die Verbindung erfolgreich aufgebaut wurde, kann eine, durch den Modulautor mitgelieferte, Initialisierungs-Funktion ausgeführt werden, um die Kommunikation zu initialiseren (bspw. das Senden einer Authentifizierungs-/Loginsequenz oder aktivieren der Hardware, etc.).&lt;br /&gt;
&lt;br /&gt;
FHEM (respektive fhem.pl) prüft nun regelmäßig, ob Daten zum Lesen bereitstehen (also Daten empfangen wurden). Ist dies der Fall, so wird die [[DevelopmentModuleIntro#X_Read|X_Read()]]-Funktion des zugehörigen Moduls für die hinterlegte Definition aufgerufen. Hier können die Daten durch den Aufruf von [[#DevIo_SimpleRead()|DevIo_SimpleRead()]] nun eingelesen und verarbeitet werden. Das Senden von Daten ist durch den Aufruf von  [[#DevIo_SimpleWrite()|DevIo_SimpleWrite()]] sehr einfach möglich.&lt;br /&gt;
&lt;br /&gt;
Sollte die Verbindung zusammenbrechen (USB-Gerät abgezogen, Gerät per Netzwerk nicht mehr erreichbar, etc.), so erkennt dies DevIo und registriert die Definition in &amp;lt;code&amp;gt;%readyfnlist&amp;lt;/code&amp;gt;&amp;lt;ref name=&amp;quot;selectlist&amp;quot; /&amp;gt;. FHEM führt nun regelmäßig die [[DevelopmentModuleIntro#X_Ready|X_Ready()]]-Funktion des zugehörigen Moduls&lt;br /&gt;
aus um zu prüfen, ob die Verbindung wieder aufgebaut werden kann. Hier wird nun durch die Ausführung von [[#DevIo_OpenDev()|DevIo_OpenDev()]] versucht die Verbindung wieder herzustellen.&lt;br /&gt;
&lt;br /&gt;
Sobald die Verbindung nicht mehr benötigt wird, oder FHEM bspw. beendet wird, kann die Verbindung via [[#DevIo_CloseDev()|DevIo_CloseDev()]] sauber geschlossen werden.&lt;br /&gt;
&lt;br /&gt;
= Unterstützte Verbindungsarten = &lt;br /&gt;
&lt;br /&gt;
Die folgenden Verbindungsarten können via DevIo realisiert werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Verbindungsart !! Beispielangabe in&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;$hash-&amp;gt;{DeviceName}&amp;lt;/code&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;Serielle Schnittstelle&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/ttyUSB0@9600&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/ttyUSB0@9600,7,E,2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/ttyUSB0@directio&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;COM1@9600&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
Durch Angabe eines Geräts in Form eines Gerätepfad (UNIX-basierte Betriebssysteme) oder der Schnittstellenbezeichnung aus Windows kann eine serielle Verbindung geöffnet werden. Der Gerätename kann zusätzliche Angaben zu Baudrate, Datenbits, Parität und Stoppbits enthalten um die Verbindung entsprechend zu konfiguieren. Diese Angaben sind durch ein &amp;quot;@&amp;quot; getrennt an die Gerätebezeichnung angehangen:&lt;br /&gt;
&lt;br /&gt;
Schematische Syntax: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;&amp;lt;Gerät&amp;gt;&amp;lt;/font&amp;gt;&#039;&#039;&#039;&#039;&#039;@&#039;&#039;&#039;&#039;&#039;&amp;lt;Baudrate&amp;gt;&#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;&#039;&amp;lt;Datenbits&amp;gt;&#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;&#039;&amp;lt;Parität&amp;gt;&#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;&#039;&amp;lt;Stopbits&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Baudrate&amp;gt;&amp;lt;/code&amp;gt; - Eine gültige Taktfrequenz (Symbole pro Sekunde) mit der die Schnittstelle geöffnet werden soll (Beispiel: &amp;lt;code&amp;gt;9600&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;14400&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;115200&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Datenbits&amp;gt;&amp;lt;/code&amp;gt; - Die Anzahl an Datenbits (7 oder 8 Datenbits). Standardwert sofern nicht angegeben sind 8 Datenbits.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Parität&amp;gt;&amp;lt;/code&amp;gt; - Die zu verwendende Parität, sofern benötigt. Dabei bedeutet der Wert &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; keine Parität, &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt; bedeutet ungleiche Parität (odd) und &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; bedeutet gleiche Parität (even) Standardwert sofern nicht angegeben ist &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; (keine Parität).&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Stopbits&amp;gt;&amp;lt;/code&amp;gt; - Die Anzahl an zu verwendenden Stopbits (0, 1 oder 2 Stopbits). Standardwert sofern nicht angegeben sind 0 Stopbits.&lt;br /&gt;
&lt;br /&gt;
Wenn man unter Unix-basierten Betriebssystemen die Schnittstelle nicht explizit konfiguriert öffnen möchte, sondern das Gerät direkt öffnen möchte (und damit die OS-Einstellungen verwendet), kann man durch Angabe von &amp;lt;code&amp;gt;@directio&amp;lt;/code&amp;gt; die Konfiguration der Schnittstelle umgehen und das Gerät direkt öffnen:&lt;br /&gt;
&lt;br /&gt;
Bsp: &amp;lt;code&amp;gt;&amp;lt;font color=&amp;quot;grey&amp;quot;&amp;gt;/dev/ttyUSB0&amp;lt;/font&amp;gt;@directio&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Windows verwendet man als Gerätename die entsprechende Schnittstellenbezeichung wie bspw. &amp;lt;code&amp;gt;COM1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;COM2&amp;lt;/code&amp;gt;, usw.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;TCP/IP-Verbindung&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.1.2:1012&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;raspberry:5000&amp;lt;/code&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
Durch Angabe eines Hostnamen oder IP-Adresse und einem Port, kann eine TCP-Verbindung aufgebaut werden. Dazu muss Hostname/IP-Adresse und Port in folgendem Schema angegeben werden:&lt;br /&gt;
&lt;br /&gt;
Schematische Syntax: &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;Hostname/IP-Adresse&amp;gt;&#039;&#039;&#039;&#039;&#039;:&#039;&#039;&#039;&#039;&#039;&amp;lt;Port&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Hostname/IP-Adresse&amp;gt;&amp;lt;/code&amp;gt; - Der Hostname oder die IP-Adresse des zu verbindenden Gerätes/Server.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Port&amp;gt;&amp;lt;/code&amp;gt; - Der Zielport zu dem sich verbunden werden soll (0-65535).&lt;br /&gt;
&lt;br /&gt;
Die Verbindung kann optional verschlüsselt via SSL/TLS aufgebaut werden. Dazu muss das Internal &amp;lt;code&amp;gt;$hash-&amp;gt;{SSL}&amp;lt;/code&amp;gt; auf 1 gesetzt werden.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;UNIX-Socket&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
* &amp;lt;code&amp;gt;UNIX:SEQPACKET:/var/tmp/me_avm_home_external.ctl&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;UNIX:STREAM:/var/socket/con&amp;lt;/code&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
Durch Angabe eines Pfads zu einem UNIX-Domain-Socket kann eine Kommunikation mit einem anderen Prozess aufgebaut werden (Inter-Prozess-Kommunikation). Man kann den Socket dabei paketorientiert (&amp;quot;SEQPACKET&amp;quot;) oder als Stream (&amp;quot;STREAM&amp;quot;) öffnen. &lt;br /&gt;
&lt;br /&gt;
Schematische Syntax: &amp;lt;code&amp;gt;UNIX:&#039;&#039;&amp;lt;Typ&amp;gt;&#039;&#039;:&#039;&#039;&amp;lt;Pfad&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Typ&amp;gt;&amp;lt;/code&amp;gt; - Der Typ des Sockets. Für einen paketorientierten Socket ist hier &amp;lt;code&amp;gt;SEQPACKET&amp;lt;/code&amp;gt; zu verwenden, für einen streamorientierten Socket &amp;lt;code&amp;gt;STREAM&amp;lt;/code&amp;gt;. Der Typ muss immer mit angegeben werden.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;Pfad&amp;gt;&amp;lt;/code&amp;gt; - Der Pfad im Dateisystem zu dem gewünschten UNIX-Socket&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;FHEM IO-Modul&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
* &amp;lt;code&amp;gt;FHEM:DEVIO:Firmata_SerielleSchnittstelle@9600&amp;lt;/code&amp;gt; &lt;br /&gt;
|| &lt;br /&gt;
Beschreibung siehe {{Link2Forum|Topic=46276}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Wichtige Internals zur Konfiguration =&lt;br /&gt;
&lt;br /&gt;
Da DevIo ausschließlich definitionsbezogen arbeitet, erfolgt eine Konfiguration von DevIo über Internals, die im übergebenen &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt; gesetzt werden müssen (oder können). Hiermit lässt sich das Verhalten von DevIo entsprechend beeinflussen. &lt;br /&gt;
&lt;br /&gt;
Hier eine Auflistung von allen Internals, die DevIo beeinflussen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;min-width: 13em;&amp;quot; | Internal !!  Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &amp;lt;code&amp;gt;$hash-&amp;gt;{DeviceName}&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; |  Die Gegenstelle zu der eine Verbindung aufgebaut werden soll. Die möglichen Werte und deren Syntax ist im Kapitel [[#Unterstützte Verbindungsarten|Unterstützte Verbindungsarten]] genauer beschrieben.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &amp;lt;code&amp;gt;$hash-&amp;gt;{nextOpenDelay}&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Die Zeit in Sekunden, welche im Falle eines Verbindungsabbruchs gewartet werden soll, bevor ein erneuter Verbindungsversuch stattfindet. &lt;br /&gt;
&lt;br /&gt;
Standardwert: 60 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &amp;lt;code&amp;gt;$hash-&amp;gt;{TIMEOUT}&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Die maximale Zeit in Sekunden für den Aufbau einer TCP/IP-Verbindung. Sollte diese Zeit überschritten werden, bricht der Verbindungsaufbau mit einer Fehlermeldung ab.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG:&#039;&#039;&#039; Sollte beim Aufruf von [[#DevIo_OpenDev|DevIo_OpenDev()]] keine Callback-Funktion parametrisiert sein und die Gegenstelle antwortet beim Verbindungsaufbau nicht, so wird FHEM für die Dauer von &amp;lt;code&amp;gt;$hash-&amp;gt;{TIMEOUT}&amp;lt;/code&amp;gt; blockiert.&lt;br /&gt;
&lt;br /&gt;
Standardwert: 3 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &amp;lt;code&amp;gt;$hash-&amp;gt;{SSL}&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Flag (0 oder 1), ob eine TCP/IP-Verbindung verschlüsselt (via SSL/TLS) aufgebaut werden soll. Wenn dieses Flag auf 1 gesetzt ist, wird nach erfolgtem Verbindungsaufbau eine SSL-Session initiiert.&lt;br /&gt;
&lt;br /&gt;
Standardwert: 0 (keine Verschlüsselung)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &amp;lt;code&amp;gt;$hash-&amp;gt;{devioLoglevel}&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Das Loglevel in dem &amp;lt;code&amp;gt;disconnected&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;reappeared&amp;lt;/code&amp;gt; Meldungen geloggt werden sollen. Standardmäßig werden solche Verbindungsabbrüche (&amp;lt;code&amp;gt;disconnected&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;reappeared&amp;lt;/code&amp;gt;) im Loglevel 1 geloggt. Die erfolgreiche Erstverbindung wird standardmäßig im Loglevel 3 geloggt. Durch das Setzen von &amp;lt;code&amp;gt;$hash-&amp;gt;{devioLoglevel}&amp;lt;/code&amp;gt; werden diese Meldungen allesamt in dem gesetzten Loglevel ausgegeben. Details dazu siehe {{Link2Forum|Topic=61970}}.&lt;br /&gt;
&lt;br /&gt;
Standardwert: &#039;&#039;[leer]&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Die Funktionen =&lt;br /&gt;
== DevIo_OpenDev() ==&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$error = DevIo_OpenDev($hash, $reopen, $initfn);&lt;br /&gt;
$error = DevIo_OpenDev($hash, $reopen, $initfn, $callback);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_OpenDev() öffnet eine Verbindung zu dem Endpunkt der in &amp;lt;code&amp;gt;$hash-&amp;gt;{DeviceName}&amp;lt;/code&amp;gt; hinterlegt ist. Sobald die Verbindung erfolgreich hergestellt wurde, wird die Funktion &amp;lt;code&amp;gt;$initfn&amp;lt;/code&amp;gt; ausgeführt, sofern gesetzt, um die Verbindung zu initialisieren. Sofern eine TCP/IP-Verbindung hergestellt wird, kann eine optionale Callback-Funktion &amp;lt;code&amp;gt;$callback&amp;lt;/code&amp;gt; übergeben werden um den Verbindungsaufbau non-blocking durchzuführen.&lt;br /&gt;
&lt;br /&gt;
Der Rückgabewert enthält im Fehlerfall eine entsprechende Fehlermeldung. Im Erfolgsfall wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben. Sofern eine TCP/IP-Verbindung hergestellt wird und eine Callback-Funktion &amp;lt;code&amp;gt;$callback&amp;lt;/code&amp;gt; übergeben wurde, wird immer &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben, da ein evtl. Fehler an diese Callback-Funktion nach dem erfolgten Verbindungsversuch mitgeteilt wird.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | Die Hash-Referenz der Definition, für die eine Verbindung geöffnet werden soll&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$reopen&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&amp;lt;br&amp;gt;can be &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | Flag (0 oder 1), ob es sich um einen erneuten Verbindungsversuch handelt (im Rahmen der [[DevelopmentModuleIntro#X_Ready|X_Ready()]]-Funktion). Sollte es der erste Verbindungsversuch sein, so muss dieser Parameter den Wert 0 besitzen.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$initfn&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&amp;lt;br&amp;gt;can be &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
|| Der Name (als Zeichenkette) oder die Referenz auf eine Modulfunktion, welche optional nach dem erfolgreichen Aufbau/Wiederaufbau der Verbindung ausgeführt werden soll. Im Rahmen dieser Funktion kann weiterführende Kommunikation über die aufgebaute Verbindung erfolgen um zum Beispiel eine Loginsequenz oder eine Konfiguration der Gegenseite vorzunehmen, bevor die Verbindung allgemein benutzt werden kann. &lt;br /&gt;
&lt;br /&gt;
Die Funktion welche in &amp;lt;code&amp;gt;$initfn&amp;lt;/code&amp;gt; angegeben wurde, wird mit folgenden Parametern aufgerufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$ret = MYMODULE_InitFn($hash)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn der Rückgabewert &amp;lt;code&amp;gt;$ret&amp;lt;/code&amp;gt; einen Inhalt zurückliefert, wird die Initialisierung als fehlgeschlagen bewertet und die Verbindung wieder geschlossen um einen neuen Verbindungsversuch zu einem späteren Zeitpunkt zu versuchen. Der genaue Inhalt von &amp;lt;code&amp;gt;$ret&amp;lt;/code&amp;gt; ist dabei unerheblich, da er nicht weiterverwendet wird. Die Rückgabewerte &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; signalisieren dabei eine erfolgreiche Initialisierung.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;MYMODULE_InitFn&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;\&amp;amp;MYMODULE_InitFn&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$callback&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Der Name (als Zeichenkette) oder die Referenz auf eine Modulfunktion, welche aufgerufen werden soll um evtl. Fehlermeldungen beim Verbindungsaufbau einer TCP/IP-Verbindung an das Modul zurückzuliefern. Wenn eine Callback-Funktion gesetzt ist, erfolgt der Verbindungsaufbau non-blocking. Andernfalls wartet DevIo_OpenDev() bis die Verbindung steht bzw. ein Fehler auftritt (z.B. Timeout).&lt;br /&gt;
&lt;br /&gt;
Die Funktion welche in &amp;lt;code&amp;gt;$callback&amp;lt;/code&amp;gt; angegeben wurde, wird mit folgenden Parametern aufgerufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;MYMODULE_ConnectCallbackFn($hash, $error)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Argument &amp;lt;code&amp;gt;$error&amp;lt;/code&amp;gt; enthält dabei eine Fehlermeldung als Zeichenkette welche die aufgetretene Fehlermeldung enthält. Der Rückgabewert der Callback-Funktion wird nicht ausgewertet und ist daher irrelevant.&lt;br /&gt;
&lt;br /&gt;
Beispiel: &lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;MYMODULE_ConnectCallbackFn&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;\&amp;amp;MYMODULE_ConnectCallbackFn&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabe!! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$error &amp;lt;/code&amp;gt;&#039;&#039;&#039; || Eine Fehlermeldung als Zeichenkette, sollte der Verbindungsaufbau fehlschlagen. Im Erfolgsfall wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Wenn es sich um eine TCP/IP-Verbindung handelt und eine Callback-Funktion als Parameter &amp;lt;code&amp;gt;$callback&amp;lt;/code&amp;gt; angegeben wurde, wird immer &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben, andernfalls erfolgt der Verbindungsaufbau blocking und eine evtl. Fehlermeldung wird als Rückgabewert zurückgegeben. Im Erfolgsfall wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_IsOpen() ==&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$status = DevIo_IsOpen($hash);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_IsOpen() prüft, ob eine Verbindung für &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt; geöffnet ist. Falls ja, wird das zugehörige IO-Objekt zurückgegeben, andernfalls &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Diese Funktion kann dabei direkt in typischen if-Konstrukten verwendet werden um zu prüfen, ob eine Verbindung für die jeweilige Definition geöffnet oder geschlossen ist.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, deren Verbindung geprüft werden soll.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewerte:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabewert !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$status&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Der Status der Verbindung. Wenn eine Verbindung besteht, wird das zugehörige IO-Objekt zurückgegeben. Falls keine Verbindung besteht, wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_SimpleRead() ==&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$buf = DevIo_SimpleRead($hash);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_SimpleRead() liest anstehende Daten für die Verbindung von &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt; ein und gibt diese zurück.&lt;br /&gt;
&lt;br /&gt;
Sollte beim Versuch Daten zu lesen eine geschlossene Verbindung erkannt werden, so wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben und die Verbindung geschlossen. Es erfolgt zu einem späteren Zeitpunkt (siehe Internal &amp;lt;code&amp;gt;$hash-&amp;gt;{nextOpenDelay}&amp;lt;/code&amp;gt; aus Kapitel [[#Wichtige Internals zur Konfiguration|Wichtige Internals zur Konfiguration]]) ein neuer Verbindungsversuch.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, für deren Verbindung aktuell anstehende Daten gelesen werden sollen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabe!! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$buf&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die zu lesenden Daten als Zeichenkette. Im Falle eines Verbindungsabruchs wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_SimpleReadWithTimeout() ==&lt;br /&gt;
{{Randnotiz|RNTyp=Warn|RNText=&amp;lt;u&amp;gt;&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Benutzung von DevIo_SimpleReadWithTimeout() wird FHEM für die Dauer von bis zu &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden blockiert, sollten keine Daten bis dahin zum Lesen bereitstehen. -&amp;gt; DevIo_SimpleReadWithTimeout() NICHT NUTZEN!}}&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$buf = DevIo_SimpleReadWithTimeout($hash, $timeout);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_SimpleReadWithTimeout() wartet maximal &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden bis die Verbindung von &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt; Daten zum einlesen bereitstellt und gibt diese zurück. Sollte nach dem Warten von &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; noch immer keine Daten zum Lesen bereitstehen, so wird ein Leerstring zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, für deren Verbindung aktuell anstehende Daten gelesen werden sollen.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die maximale Wartezeit in Sekunden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabe!! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$buf&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die zu lesenden Daten als Zeichenkette.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_TimeoutRead() ==&lt;br /&gt;
{{Randnotiz|RNTyp=Warn|RNText=&amp;lt;u&amp;gt;&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Benutzung von DevIo_TimeoutRead() wird FHEM für die Dauer von &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden blockiert. -&amp;gt; DevIo_TimeoutRead() NICHT NUTZEN!}}&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$buf = DevIo_TimeoutRead($hash, $timeout);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_SimpleReadWithTimeout() wartet &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden und liest sämtliche Daten für die Verbindung von &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt; ein, die in dieser Zeit eintreffen. Sollten keinerlei Daten während der Wartezeit eintreffen, so wird ein Leerstring zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, für deren Verbindung Daten eingelesen werden sollen.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Wartezeit in Sekunden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabe!! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$buf&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die eingelesenen Daten als Zeichenkette.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_SimpleWrite() ==&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;DevIo_SimpleWrite($hash, $msg, $type);&lt;br /&gt;
DevIo_SimpleWrite($hash, $msg, $type, $addnl);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_SimpleWrite() sendet den Inhalt von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; über die Verbindung von &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;. Mit den beiden Argumenten &amp;lt;code&amp;gt;$type&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;$addnl&amp;lt;/code&amp;gt; kann die Formatierung von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; beeinflusst werden bevor die Daten tatsächlich gesendet werden.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, über deren Verbindung die Daten gesendet werden sollen.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die zu schreibenden Daten als Zeichenkette. Abhängig von &amp;lt;code&amp;gt;$type&amp;lt;/code&amp;gt; kann &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; Byte-Characters, HEX-Darstellungen oder normale ASCII-Zeichen enthalten.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$type&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Art des Inhalts von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt;. Abhängig von dem Inhalt von &amp;lt;code&amp;gt;$type&amp;lt;/code&amp;gt; wird &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; entsprechend geändert oder nicht. Desweiteren werden die Daten für Logausgaben evtl. leserlich gemacht.&lt;br /&gt;
&lt;br /&gt;
Folgende Werte sind möglich:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; enthält Daten in Byteform. Der Inhalt von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; wird 1:1 gesendet. Zur besseren Lesbarkeit werden die Daten bei Logausgaben in HEX-Darstellung umgewandelt.&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; enthält Binärdaten in HEX-Darstellung (0-9/A-F). Der Inhalt von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; wird vorher in Byteform umgewandelt und anschließend gesendet. In Logausgaben wird die HEX-Darstellung wie übergeben verwendet.&lt;br /&gt;
* &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; enthält normale ASCII-Textzeichen. Der Inhalt von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; wird 1:1 gesendet. In Logausgaben wird &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; wie übergeben ausgegeben.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$addnl&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Ein Flag (0/1) welches, sofern aktiviert, einen Zeilenumbruch (&amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;) an &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; anfügt, bevor es gesendet wird.&lt;br /&gt;
&lt;br /&gt;
Standardwert: 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_Expect() ==&lt;br /&gt;
{{Randnotiz|RNTyp=Warn|RNText=&amp;lt;u&amp;gt;&#039;&#039;&#039;ACHTUNG:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Bei der Benutzung von DevIo_Expect() wird FHEM für die Dauer von bis zu &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden blockiert.&lt;br /&gt;
# Sollte im ersten Versuch keine Antwort auf die zuvor gesendeten Daten innerhalb von &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden eintreffen, wird die Verbindung geschlossen und neu aufgebaut. Es erfolgt dabei &#039;&#039;&#039;KEINE INITIALISIERUNG&#039;&#039;&#039; durch &amp;lt;code&amp;gt;$initfn&amp;lt;/code&amp;gt; aus [[#DevIo_OpenDev()|DevIo_OpenDev()]].&lt;br /&gt;
-&amp;gt;  DevIo_Expect() NICHT NUTZEN!&lt;br /&gt;
}}&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;$buf = DevIo_Expect($hash, $msg, $timeout);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_Expect() sendet den Inhalt von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; und wartet bis zu &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden auf eine Antwort. Sollte in dieser Zeit keine Antwort eintreffen, so wird die Verbindung einmalig geschlossen, erneut geöffnet (ohne Aufruf einer Initialisierungs-Funktion) und der Vorgang wiederholt. Die empfangene Antwort wird anschließend als Funktionsergebnis zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Wenn beim ersten Versuch keine Antwort innerhalb von &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden eintrifft, wird das Event &amp;lt;code&amp;gt;FAILED&amp;lt;/code&amp;gt; generiert (siehe [[#Generierte Events|Generierte Events]]). Anschließend wird die Verbindung geschlossen, neu geöffnet (ohne Initialisierung) und &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; erneut gesendet. Sollte nun eine Antwort eintreffen, so wird das Event &amp;lt;code&amp;gt;CONNECTED&amp;lt;/code&amp;gt; generiert und die empfangene Antwort zurückgegeben. Sollte dennoch keine Antwort eintreffen, so wird das Event &amp;lt;code&amp;gt;DISCONNECTED&amp;lt;/code&amp;gt; getriggert.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, für deren Verbindung Daten gesendet und anschließen gelesen werden sollen.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die zu sendenden Daten auf die eine Antwort erwartet wird. Die Daten werden ohne Konvertierung direkt gesendet (entspricht &amp;lt;code&amp;gt;$type&amp;lt;/code&amp;gt; gleich &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; bei [[#DevIo_SimpleWrite()|DevIo_SimpleWrite]]).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die maximale Wartezeit in Sekunden bis zum Eintreffen einer Antwort.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rückgabewert:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rückgabe!! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$buf&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die empfangene Antwort. Sollte es zu einem Fehler gekommen sein (Senden von &amp;lt;code&amp;gt;$msg&amp;lt;/code&amp;gt; fehlgeschlagen, keine Antwort innerhalb von &amp;lt;code&amp;gt;$timeout&amp;lt;/code&amp;gt; Sekunden erhalten, etc.), so wird &amp;lt;code&amp;gt;undef&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== DevIo_CloseDev() ==&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;DevIo_CloseDev($hash);&lt;br /&gt;
DevIo_CloseDev($hash, $isFork);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Funktion DevIo_CloseDev() schließt eine evtl. geöffnete Verbindung für die Definition &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Optional kann man mit dem Flag &amp;lt;code&amp;gt;$isFork&amp;lt;/code&amp;gt; angeben, dass man sich aktuell in einem Fork vom Hauptprozess befindet. Dadurch werden beim Schließen einer seriellen Verbindung die Kommunikationsparameter nicht zurückgesetzt. Dies verhindert einen Ausfall der nachwievor bestehenden Verbindung im Elternprozess.&lt;br /&gt;
&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mandatory&#039;&#039;&lt;br /&gt;
|| Die Hash-Referenz der Definition, deren Verbindung geschlossen werden soll.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &#039;&#039;&#039;&amp;lt;code&amp;gt;$isFork&amp;lt;/code&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;optional&#039;&#039;&lt;br /&gt;
|| Ein Flag (0 oder 1), welches angibt, dass DevIo_CloseDev() innerhalb eines geforkten Kindprozess ausgeführt wird. Dadurch werden die Kommunikationsparameter im Falle einer seriellen Verbindung (Baudrate, Datenbits, Parität, etc.) nicht zurückgesetzt. Dieses Flag wird primär von dem Modul [[Blocking_Call|Blocking.pm]] verwendet um Verbindungen in einem geforkten Kindprozess zu schließen, ohne die Verbindung im Hauptprozess zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
Standardwert: 0 (Verbindung wird im Hauptprozess geschlossen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Generierte Events =&lt;br /&gt;
Die Funktionen von DevIo generieren verschiedene Events für die entsprechende Definition (parametrisiert durch &amp;lt;code&amp;gt;$hash&amp;lt;/code&amp;gt;). Diese können bspw. in der [[DevelopmentModuleIntro#X_Notify|Notify]]-Funktion des entsprechenden Moduls verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Hier eine Übersicht der generierten Events:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Event !! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;code&amp;gt;CONNECTED&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die Verbindung wurde nach einem Verbindungsabbruch erfolgreich wieder aufgebaut. Dieses Event wird nur nach einem erfolgreichen Reconnect von einer zuvor verlorenen Verbindung generiert. Es wird &#039;&#039;&#039;nicht&#039;&#039;&#039; nach der erfolgreichen Initialverbindung generiert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Hinweis:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;Seit [https://svn.fhem.de/trac/changeset/18985/ SVN-Revision 18985] wird das &amp;lt;code&amp;gt;CONNECTED&amp;lt;/code&amp;gt;-Event auch beim erfolgreichen Aufbau der initialen Verbindung getriggert. Dies gilt jedoch nur für TCP-Verbindungen. Bei allen anderen Verbindungsarten bleibt das Verhalten unverändert. (siehe {{Link2Forum|Topic=98809|Message=921911}})&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;code&amp;gt;DISCONNECTED&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Die zuvor erfolgreich aufgebaute Verbindung ist zusammengebrochen. Es wird ein neuer Verbindungsversuch nach &amp;lt;code&amp;gt;$hash-&amp;gt;{nextOpenDelay}&amp;lt;/code&amp;gt; Sekunden erfolgen (siehe [[#Wichtige Internals zur Konfiguration|Wichtige Internals zur Konfiguration]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Hinweis:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;Seit [https://svn.fhem.de/trac/changeset/18985/ SVN-Revision 18985] wird das &amp;lt;code&amp;gt;DISCONNECTED&amp;lt;/code&amp;gt;-Event auch nach dem ersten initialem erfolglosen Verbindungsversuch getriggert. Dies gilt jedoch nur für TCP-Verbindungen. Bei allen anderen Verbindungsarten bleibt das Verhalten unverändert. (siehe {{Link2Forum|Topic=98809|Message=921911}})&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;code&amp;gt;FAILED&amp;lt;/code&amp;gt;&#039;&#039;&#039; || Dieses Event wird nur bei der Nutzung der Funktion [[#DevIo_Expect|DevIo_Expect()]] generiert, sofern es keine Antwort auf die zuvor gesendeten Daten gibt. Dies bedeutet konkret, dass Gerät hat nicht auf die eigene Anfrage geantwortet und die Verbindung wird daher neu aufgebaut. Details dazu, siehe [[#DevIo_Expect()|DevIo_Expect()]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Hinweis bei der Datenverarbeitung (Buffering) =&lt;br /&gt;
DevIo beschränkt sich ausschließlich auf die Verbindungsverwaltung. Sobald die Verbindung etabliert wurde, übernimmt FHEM (fhem.pl) die Verarbeitung von eingehenden Daten und informiert das entsprechende Modul durch Aufruf der [[DevelopmentModuleIntro#X_Read|Read]]-Funktion. Dabei hat weder DevIo, noch FHEM selber Kenntnis von der Struktur der Daten. Sowohl DevIo, als auch FHEM selber können nicht erkennen, ob die empfangenen Daten weder vollständig, noch valide in ihrem Aufbau sind. Dies alles obliegt dem Modul, welches die Verbindung initiiert hat. Man sollte daher immer davon ausgehen, dass beim Lesen von Daten (in [[DevelopmentModuleIntro#X_Read|X_Read()]]) diese unvollständig sein können, oder sogar mehrere Datagramme enthalten sein können. &lt;br /&gt;
&lt;br /&gt;
Dazu stellt DevIo dem Modulentwickler das Internal &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; in der jeweiligen Definition zur Verfügung um dort Daten zwischenzuspeichern, bis ein vollständiges Datagramm daraus verarbeitet werden kann. Alle eingelesenen Daten werden dazu in der [[DevelopmentModuleIntro#X_Read|Read]]-Funktion immer an &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; hinten angehangen. Sobald ein vollständiges Datagramm in &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; erkannt wurde, wird dieses herausgenommen und verarbeitet, solange bis kein vollständiges Datagramm in &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; erkennbar ist. Hierbei ist jedoch entscheidend, woran man ein abgeschlossenes Datagramm erkennen kann. Dies kann je nach Protokoll sehr unterschiedlich sein (bspw. Zeilenumbruch &amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt; oder ein Semikolon &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;, etc.). &lt;br /&gt;
&lt;br /&gt;
DevIo initialisiert &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; nach dem erfolgreichen Verbindungsaufbau mit einem Leerstring (&amp;lt;code&amp;gt;&amp;quot;&amp;quot;&amp;lt;/code&amp;gt;). Sobald eine Verbindung mit [[#DevIo_CloseDev()|DevIo_CloseDev()]] geschlossen wird, wird &amp;lt;code&amp;gt;$hash-&amp;gt;{PARTIAL}&amp;lt;/code&amp;gt; gelöscht.&lt;br /&gt;
&lt;br /&gt;
Hier ein Beispiel, wie man ein solches Buffering verwendet für ein Protokoll, welches Datagramme durch einen Zeilenumbruch &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; (Newline) abtrennt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
sub MY_MODULE_Read($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
  my $name = $hash-&amp;gt;{NAME};&lt;br /&gt;
  &lt;br /&gt;
  my $data = DevIo_SimpleRead($hash);&lt;br /&gt;
  return if(!defined($data)); # connection lost&lt;br /&gt;
  &lt;br /&gt;
  my $buffer = $hash-&amp;gt;{PARTIAL};&lt;br /&gt;
  &lt;br /&gt;
  Log3 $name, 5, &amp;quot;MY_MODULE ($name) - received $data (buffer contains: $buffer)&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  # concat received data to $buffer&lt;br /&gt;
  $buffer .= $data;&lt;br /&gt;
&lt;br /&gt;
  # as long as the buffer contains newlines (complete datagramm)&lt;br /&gt;
  while($buffer =~ m/\n/)&lt;br /&gt;
  {&lt;br /&gt;
    my $msg;&lt;br /&gt;
    &lt;br /&gt;
    # extract the complete message ($msg), everything else is assigned to $buffer&lt;br /&gt;
    ($msg, $buffer) = split(&amp;quot;\n&amp;quot;, $buffer, 2);&lt;br /&gt;
    &lt;br /&gt;
    # remove trailing whitespaces&lt;br /&gt;
    chomp $msg;&lt;br /&gt;
    &lt;br /&gt;
    # parse the extracted message&lt;br /&gt;
    MY_MODULE_ParseMessage($hash, $msg);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # update $hash-&amp;gt;{PARTIAL} with the current buffer content&lt;br /&gt;
  $hash-&amp;gt;{PARTIAL} = $buffer; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Beispielimplementierung in einem Modul =&lt;br /&gt;
== serielle Verbindung ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
package main;&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
use DevIo; # load DevIo.pm if not already loaded&lt;br /&gt;
&lt;br /&gt;
# called upon loading the module MY_MODULE&lt;br /&gt;
sub MY_MODULE_Initialize($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
&lt;br /&gt;
  $hash-&amp;gt;{DefFn}    = &amp;quot;MY_MODULE_Define&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{UndefFn}  = &amp;quot;MY_MODULE_Undef&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{SetFn}    = &amp;quot;MY_MODULE_Set&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{ReadFn}   = &amp;quot;MY_MODULE_Read&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{ReadyFn}  = &amp;quot;MY_MODULE_Ready&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when a new definition is created (by hand or from configuration read on FHEM startup)&lt;br /&gt;
sub MY_MODULE_Define($$)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash, $def) = @_;&lt;br /&gt;
  my @a = split(&amp;quot;[ \t]+&amp;quot;, $def);&lt;br /&gt;
&lt;br /&gt;
  my $name = $a[0];&lt;br /&gt;
  &lt;br /&gt;
  # $a[1] is always equals the module name &amp;quot;MY_MODULE&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  # first argument is a serial device (e.g. &amp;quot;/dev/ttyUSB0@9600&amp;quot;)&lt;br /&gt;
  my $dev = $a[2]; &lt;br /&gt;
&lt;br /&gt;
  return &amp;quot;no device given&amp;quot; unless($dev);&lt;br /&gt;
  &lt;br /&gt;
  # close connection if maybe open (on definition modify)&lt;br /&gt;
  DevIo_CloseDev($hash) if(DevIo_IsOpen($hash));  &lt;br /&gt;
&lt;br /&gt;
  # add a default baud rate (9600), if not given by user&lt;br /&gt;
  $dev .= &#039;@9600&#039; if(not $dev =~ m/\@\d+$/);&lt;br /&gt;
  &lt;br /&gt;
  # set the device to open&lt;br /&gt;
  $hash-&amp;gt;{DeviceName} = $dev;&lt;br /&gt;
  &lt;br /&gt;
  # open connection with custom init function&lt;br /&gt;
  my $ret = DevIo_OpenDev($hash, 0, &amp;quot;MY_MODULE_Init&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
  return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when definition is undefined &lt;br /&gt;
# (config reload, shutdown or delete of definition)&lt;br /&gt;
sub MY_MODULE_Undef($$)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash, $name) = @_;&lt;br /&gt;
 &lt;br /&gt;
  # close the connection &lt;br /&gt;
  DevIo_CloseDev($hash);&lt;br /&gt;
  &lt;br /&gt;
  return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called repeatedly if device disappeared&lt;br /&gt;
sub MY_MODULE_Ready($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
  &lt;br /&gt;
  # try to reopen the connection in case the connection is lost&lt;br /&gt;
  return DevIo_OpenDev($hash, 1, &amp;quot;MY_MODULE_Init&amp;quot;); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when data was received&lt;br /&gt;
sub MY_MODULE_Read($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
  my $name = $hash-&amp;gt;{NAME};&lt;br /&gt;
  &lt;br /&gt;
  # read the available data&lt;br /&gt;
  my $buf = DevIo_SimpleRead($hash);&lt;br /&gt;
  &lt;br /&gt;
  # stop processing if no data is available (device disconnected)&lt;br /&gt;
  return if(!defined($buf));&lt;br /&gt;
  &lt;br /&gt;
  Log3 $name, 5, &amp;quot;MY_MODULE ($name) - received: $buf&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
  #&lt;br /&gt;
  # do something with $buf, e.g. generate readings, send answers via DevIo_SimpleWrite(), ...&lt;br /&gt;
  #&lt;br /&gt;
   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called if set command is executed&lt;br /&gt;
sub MY_MODULE_Set($$@)&lt;br /&gt;
{&lt;br /&gt;
    my ($hash, $name, $cmd) = @_;&lt;br /&gt;
&lt;br /&gt;
    my $usage = &amp;quot;unknown argument $cmd, choose one of statusRequest:noArg on:noArg off:noArg&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    if($cmd eq &amp;quot;statusRequest&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;get_status\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    elsif($cmd eq &amp;quot;on&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;on\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    elsif($cmd eq &amp;quot;off&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;off\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        return $usage;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
# will be executed upon successful connection establishment (see DevIo_OpenDev())&lt;br /&gt;
sub MY_MODULE_Init($)&lt;br /&gt;
{&lt;br /&gt;
    my ($hash) = @_;&lt;br /&gt;
&lt;br /&gt;
    # send a status request to the device&lt;br /&gt;
    DevIo_SimpleWrite($hash, &amp;quot;get_status\r\n&amp;quot;, 2);&lt;br /&gt;
    &lt;br /&gt;
    return undef; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
1;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TCP/IP-Verbindung == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
package main;&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
use DevIo; # load DevIo.pm if not already loaded&lt;br /&gt;
&lt;br /&gt;
# called upon loading the module MY_MODULE&lt;br /&gt;
sub MY_MODULE_Initialize($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
&lt;br /&gt;
  $hash-&amp;gt;{DefFn}    = &amp;quot;MY_MODULE_Define&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{UndefFn}  = &amp;quot;MY_MODULE_Undef&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{SetFn}    = &amp;quot;MY_MODULE_Set&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{ReadFn}   = &amp;quot;MY_MODULE_Read&amp;quot;;&lt;br /&gt;
  $hash-&amp;gt;{ReadyFn}  = &amp;quot;MY_MODULE_Ready&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when a new definition is created (by hand or from configuration read on FHEM startup)&lt;br /&gt;
sub MY_MODULE_Define($$)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash, $def) = @_;&lt;br /&gt;
  my @a = split(&amp;quot;[ \t]+&amp;quot;, $def);&lt;br /&gt;
&lt;br /&gt;
  my $name = $a[0];&lt;br /&gt;
  &lt;br /&gt;
  # $a[1] is always equals the module name &amp;quot;MY_MODULE&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  # first argument is the hostname or IP address of the device (e.g. &amp;quot;192.168.1.120&amp;quot;)&lt;br /&gt;
  my $dev = $a[2]; &lt;br /&gt;
&lt;br /&gt;
  return &amp;quot;no device given&amp;quot; unless($dev);&lt;br /&gt;
  &lt;br /&gt;
  # close connection if maybe open (on definition modify)&lt;br /&gt;
  DevIo_CloseDev($hash) if(DevIo_IsOpen($hash));  &lt;br /&gt;
&lt;br /&gt;
  # add a default port (1012), if not explicitly given by user&lt;br /&gt;
  $dev .= &#039;:1012&#039; if(not $dev =~ m/:\d+$/);&lt;br /&gt;
&lt;br /&gt;
  # set the IP/Port for DevIo&lt;br /&gt;
  $hash-&amp;gt;{DeviceName} = $dev;&lt;br /&gt;
    &lt;br /&gt;
  # open connection with custom init and error callback function (non-blocking connection establishment)&lt;br /&gt;
  DevIo_OpenDev($hash, 0, &amp;quot;MY_MODULE_Init&amp;quot;, &amp;quot;MY_MODULE_Callback&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
  return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when definition is undefined &lt;br /&gt;
# (config reload, shutdown or delete of definition)&lt;br /&gt;
sub MY_MODULE_Undef($$)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash, $name) = @_;&lt;br /&gt;
 &lt;br /&gt;
  # close the connection &lt;br /&gt;
  DevIo_CloseDev($hash);&lt;br /&gt;
  &lt;br /&gt;
  return undef;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called repeatedly if device disappeared&lt;br /&gt;
sub MY_MODULE_Ready($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
  &lt;br /&gt;
  # try to reopen the connection in case the connection is lost&lt;br /&gt;
  return DevIo_OpenDev($hash, 1, &amp;quot;MY_MODULE_Init&amp;quot;, &amp;quot;MY_MODULE_Callback&amp;quot;); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called when data was received&lt;br /&gt;
sub MY_MODULE_Read($)&lt;br /&gt;
{&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
  my $name = $hash-&amp;gt;{NAME};&lt;br /&gt;
  &lt;br /&gt;
  # read the available data&lt;br /&gt;
  my $buf = DevIo_SimpleRead($hash);&lt;br /&gt;
  &lt;br /&gt;
  # stop processing if no data is available (device disconnected)&lt;br /&gt;
  return if(!defined($buf));&lt;br /&gt;
  &lt;br /&gt;
  Log3 $name, 5, &amp;quot;MY_MODULE ($name) - received: $buf&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
  #&lt;br /&gt;
  # do something with $buf, e.g. generate readings, send answers via DevIo_SimpleWrite(), ...&lt;br /&gt;
  #&lt;br /&gt;
   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# called if set command is executed&lt;br /&gt;
sub MY_MODULE_Set($$@)&lt;br /&gt;
{&lt;br /&gt;
    my ($hash, $name, $cmd) = @_;&lt;br /&gt;
    &lt;br /&gt;
    my $usage = &amp;quot;unknown argument $cmd, choose one of statusRequest:noArg on:noArg off:noArg&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    if($cmd eq &amp;quot;statusRequest&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;get_status\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    elsif($cmd eq &amp;quot;on&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;on\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    elsif($cmd eq &amp;quot;off&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
         DevIo_SimpleWrite($hash, &amp;quot;off\r\n&amp;quot;, 2);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        return $usage;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
    &lt;br /&gt;
# will be executed upon successful connection establishment (see DevIo_OpenDev())&lt;br /&gt;
sub MY_MODULE_Init($)&lt;br /&gt;
{&lt;br /&gt;
    my ($hash) = @_;&lt;br /&gt;
&lt;br /&gt;
    # send a status request to the device&lt;br /&gt;
    DevIo_SimpleWrite($hash, &amp;quot;get_status\r\n&amp;quot;, 2);&lt;br /&gt;
    &lt;br /&gt;
    return undef; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# will be executed if connection establishment fails (see DevIo_OpenDev())&lt;br /&gt;
sub MY_MODULE_Callback($)&lt;br /&gt;
{&lt;br /&gt;
    my ($hash, $error) = @_;&lt;br /&gt;
    my $name = $hash-&amp;gt;{NAME};&lt;br /&gt;
&lt;br /&gt;
    # create a log emtry with the error message&lt;br /&gt;
    Log3 $name, 5, &amp;quot;MY_MODULE ($name) - error while connecting: $error&amp;quot;; &lt;br /&gt;
    &lt;br /&gt;
    return undef; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
1;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referenzen = &lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Development]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=33372</id>
		<title>Z-Wave</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Z-Wave&amp;diff=33372"/>
		<updated>2020-06-08T14:57:42Z</updated>

		<summary type="html">&lt;p&gt;Krikan: /* Definition von Geräten / Slaves */ -&amp;gt; devspec funktioniert nicht zuverlässig bei neighborUpdate&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 1400 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;)[https://web.archive.org/web/20160319202135/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 [https://web.archive.org/web/20160319202135/http://wiki.zwaveeurope.com/index.php?title=SDK_Versions_and_Explorer_Frames wiki.zwaveeurope.com]. Aktuellstes SDK ist Stand 10/2017 das SDK 6.7x, 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 höher) 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;
Z-Wave-Controllerfunktionen werden derzeit in die Firmware [http://www.culfw.de culfw] für den [[CUL]] implementiert. Weitere Informationen im [[ZWCUL]] - Artikel.}}&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=78248|Message=702044}})&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 das zugehörige FHEM-Device nach dem Namensschema &amp;lt;code&amp;gt;ZWDongle_&amp;lt;[https://forum.fhem.de/index.php/topic,92885.msg854533.html#msg854533 Anhang]&amp;gt;&amp;lt;/code&amp;gt; angelegt. Ein manuelles Anlegen des ZWDongle-Moduls oder Eingriffe in die Konfiguration sind unter Linux normalerweise nicht notwendig. &lt;br /&gt;
&lt;br /&gt;
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;). &lt;br /&gt;
&lt;br /&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/ttyUSB1@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/ttyACM1@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;
Bei einem statischen Controller wird die Einrichtung als SUC -sofern der Controller als solcher nicht bei Auslieferung eingerichtet ist- vor der ersten Inklusion von Geräten empfohlen.&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 (&amp;lt;ZWDongle&amp;gt; ist im folgenden durch den Namen des FHEM-Devices des eigenen Gateways zu ersetzen):&lt;br /&gt;
 get &amp;lt;ZWDongle&amp;gt; homeId&lt;br /&gt;
ergibt beispielsweise bei einem Gateway mit dem FHEM-Devicenamen ZWDongle_1:&lt;br /&gt;
 ZWDongle_1 homeId =&amp;gt; HomeId:e345c456 CtrlNodeId:01 &lt;br /&gt;
In diesem Beispiel ist die Home-Id des Gateways ZWDongle_1 e345c456 und das Gateway hat die Node-Id 1.&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 &amp;lt;ZWDongle&amp;gt; nodeList&lt;br /&gt;
ergibt beispielsweise:&lt;br /&gt;
 ZWDongle_1 nodeList =&amp;gt; ZWDongle_1 UNKNOWN_2&lt;br /&gt;
&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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 {{Link2CmdRef|Anker=rename|Label=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 &amp;lt;ZWDongle&amp;gt; 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;ZWave-Devicename&amp;gt; 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 (&amp;lt;ZWDongle&amp;gt;-Device, &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://devel.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://devel.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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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 &amp;lt;ZWDongle&amp;gt; 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. 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 &amp;lt;ZWDongle&amp;gt; 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://devel.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;
&lt;br /&gt;
== Geräte-Vergleich ==&lt;br /&gt;
=== Doppel-Relais ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Eigenschaft !! FIBARO Double Switch 2-FGS-223 !! Qubino Flush 2 relays  !! Philio-PAN04 1&lt;br /&gt;
|-&lt;br /&gt;
| Funktion || Doppel-Relais || Doppel-Relais || Doppel-Relais&lt;br /&gt;
|-&lt;br /&gt;
| Standby-Leistung || ca. 0.4W || ca. 0.4W || ca. 0.5W&lt;br /&gt;
|-&lt;br /&gt;
| Reaktion beim Schalten am Tastereingang || schnell, kaum merkliche Verzögerung ||  schnell, kaum merkliche Verzögerung || langsam, unangenehm langes drücken des Tasters nötig &amp;gt;1 Sekunde &lt;br /&gt;
|-&lt;br /&gt;
| Geräte in FHEM || 3 &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 3  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 || 4  &amp;lt;br&amp;gt; x Hauptgerät &amp;lt;br&amp;gt; x.01 Relais 1 &amp;lt;br&amp;gt; x.02 Relais 2 &amp;lt;br&amp;gt; x.03 Summengerät (ähnlich Hauptgerät, überflüssig)&lt;br /&gt;
|-&lt;br /&gt;
| Zustand Hauptgerät || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais || Oder-Verknüpfung der beiden Relais&lt;br /&gt;
|-&lt;br /&gt;
| Statuswechsel Report vom Gerät zum FHEM || ca. 1 Sekunde || ca. 3 Sekunden || ca. 3-4 Sekunden&lt;br /&gt;
|-&lt;br /&gt;
| Empfänger des Status Reports || Hauptgerät und Untergeräte || Hauptgerät und Untergeräte  || Nur Hauptgerät &amp;lt;br&amp;gt;Aktualisierung der Untergeräte nur bei aktiver Abfrage &lt;br /&gt;
|-&lt;br /&gt;
| Leistungsmessung || Separat für Untergeräte || Separat für Untergeräte || Nur Summe&lt;br /&gt;
|-&lt;br /&gt;
| Sicherung nötig / Strom || ja, 2x 6.5A, Summe max 10A || ja, max 2x 4A  || nein, 2x 6.5A&lt;br /&gt;
|}&lt;br /&gt;
Beim Qubino Flush 2 relays muss eine MULTI_CHANNEL_ASSOCIATION mit dem Controller (Endpoint root) statt einer &amp;quot;normalen&amp;quot; Assoziation gesetzt werden, damit die Status der Untergeräte einzeln signalisert werden:&lt;br /&gt;
&lt;br /&gt;
 set associationDel 1 &amp;lt;controllerNodeId&amp;gt; &lt;br /&gt;
 set &amp;lt;device&amp;gt; mcaAdd 1 0 &amp;lt;controllerNodeId&amp;gt; 0 &lt;br /&gt;
&lt;br /&gt;
Bei einem FHEM-Updatestand ab 20.09.2019 erfolgt diese Einstellung automatisch.&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/ (englisch)&lt;br /&gt;
** http://www.zwaveeurope.com/ (englisch)&lt;br /&gt;
** 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;{{Link2CmdRef|Anker=stateFormat|Label=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 {{Link2CmdRef|Anker=ZWaveget}}). 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;
{{Randnotiz|RNText=FHEM unterstützt derzeit ausschließlich SECURITY 1 und nicht das mit dem SDK 6.7 neu eingeführte SECURITY 2 (S2). Soweit bekannt, sind S2-Geräte rückwärtskompatibel zu SECURITY 1.}}&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 {{Link2CmdRef}} 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 zunächst nicht erneut vergeben. Diese frei gewordenen NodeIds werden bei Inklusionen in aufsteigender Reihenfolge erst wieder vergeben, nachdem die höchste verfügbare NodeId (232?) inkludiert wurde. Sie sind somit grundsätzlich nicht verloren.&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 {{Link2CmdRef}} - 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;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mimo&amp;diff=33259</id>
		<title>Benutzer Diskussion:Michael Mimo</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mimo&amp;diff=33259"/>
		<updated>2020-05-20T09:05:09Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Krikan verschob die Seite Benutzer Diskussion:Michael Mimo nach Benutzer Diskussion:Michael Mino: Seite während der Benutzerkontoumbenennung von „Michael Mimo“ in „Michael Mino“ automatisch v…&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#WEITERLEITUNG [[Benutzer Diskussion:Michael Mino]]&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33258</id>
		<title>Benutzer Diskussion:Michael Mino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33258"/>
		<updated>2020-05-20T09:05:09Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Krikan verschob die Seite Benutzer Diskussion:Michael Mimo nach Benutzer Diskussion:Michael Mino: Seite während der Benutzerkontoumbenennung von „Michael Mimo“ in „Michael Mino“ automatisch v…&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Michael Mimo,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, &amp;lt;!--[[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Was_Wikipedia_nicht_ist was Wikipedia nicht ist], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter &amp;lt;!--[[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]--&amp;gt;[http://de.wikipedia.org/wiki/Hilfe:Zusammenfassung_und_Quellen Zusammenfassung und Quellen]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Krikan]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Krikan|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 09:42, 20. Mai 2020 (CEST)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Questions? ==&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please let me know. --[[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 09:45, 20. Mai 2020 (CEST)&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33257</id>
		<title>Benutzer Diskussion:Michael Mino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33257"/>
		<updated>2020-05-20T07:45:46Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Neuer Abschnitt /* Questions? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Michael Mimo,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, &amp;lt;!--[[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Was_Wikipedia_nicht_ist was Wikipedia nicht ist], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter &amp;lt;!--[[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]--&amp;gt;[http://de.wikipedia.org/wiki/Hilfe:Zusammenfassung_und_Quellen Zusammenfassung und Quellen]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Krikan]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Krikan|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 09:42, 20. Mai 2020 (CEST)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Questions? ==&lt;br /&gt;
&lt;br /&gt;
If you have any questions, please let me know. --[[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 09:45, 20. Mai 2020 (CEST)&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33256</id>
		<title>Benutzer Diskussion:Michael Mino</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Benutzer_Diskussion:Michael_Mino&amp;diff=33256"/>
		<updated>2020-05-20T07:42:27Z</updated>

		<summary type="html">&lt;p&gt;Krikan: Begrüßungsseite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen! ==&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;6&amp;quot; style=&amp;quot;line-height: 20px; background: #E0E0E0; border: 2px solid #1874CD;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#1874CD;&amp;quot; |&amp;lt;big&amp;gt;&amp;lt;span style=&amp;quot;color: #FAFAFA&amp;quot;&amp;gt;&#039;&#039;&#039;Hallo Michael Mimo,&#039;&#039;&#039; willkommen im FHEM Wiki!&amp;lt;/span&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | Danke für dein Interesse an unserem Projekt, ich freue mich schon auf deine weiteren Beiträge. Die folgenden Seiten sollten dir die ersten Schritte erleichtern, bitte nimm dir daher etwas Zeit, sie zu lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;FHEM-spezifische Informationen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Systemübersicht]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;FHEM Systemübersicht&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[FHEMWiki:Über FHEMWiki]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Informationen über dieses Wiki&#039;&#039;&lt;br /&gt;
&amp;lt;!-- Abschnitt auf Kommentar gesetzt&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Todo|FHEM-spezifische Anleitungen und Regeln.}}&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
 Ende von &#039;Abschnitt auf Kommentar gesetzt&#039; --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Generelle Informationen über (Media)Wikis&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:Crystal Clear app kedit.svg|rechts|30px|link=Hilfe:Bearbeiten]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &#039;&#039;&#039;[[Hilfe:Bearbeiten]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Zugang zu allen wichtigen Informationen.&#039;&#039;&lt;br /&gt;
| width=&amp;quot;8%&amp;quot; | [[Datei:X-office-presentation.svg|rechts|30px|link=Wikipedia:Tutorial]]&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; | &amp;lt;!-- &#039;&#039;&#039;[[Wikipedia:Tutorial]]&#039;&#039;&#039;--&amp;gt;&#039;&#039;&#039;[http://de.wikipedia.org/wiki/Wikipedia:Tutorial Wikipedia:Tutorial]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Schritt-für-Schritt-Anleitung für Einsteiger.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Applications-system.svg|rechts|30px|link=Wikipedia:Grundprinzipien]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Grundprinzipien]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Grundprinzipien Wikipedia:Grundprinzipien]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Die grundlegende Philosophie unseres Projekts.&#039;&#039;&lt;br /&gt;
| [[Datei:MentorenProgrammLogo-7.svg|rechts|60px|link=Wikipedia:Mentorenprogramm]]&lt;br /&gt;
| &#039;&#039;&#039;&amp;lt;!--[[Wikipedia:Mentorenprogramm]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm Wikipedia:Mentorenprogramm]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;Persönliche Einführung in die Beteiligung bei Wikipedia.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
----&lt;br /&gt;
Bitte beachte, &amp;lt;!--[[Wikipedia:Was Wikipedia nicht ist|was Wikipedia nicht ist]]--&amp;gt;[http://de.wikipedia.org/wiki/Wikipedia:Was_Wikipedia_nicht_ist was Wikipedia nicht ist], und &amp;quot;unterschreibe&amp;quot; deine Diskussionsbeiträge durch Eingabe von &amp;lt;code&amp;gt;--&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder durch Drücken der Schaltfläche [[Datei:button_sig.png|Signaturknopf|20px|link=Hilfe:Signatur]] über dem Bearbeitungsfeld. Artikel werden jedoch nicht unterschrieben, und wofür die Zusammenfassungszeile da ist, erfährst du unter &amp;lt;!--[[wikipedia:Hilfe:Zusammenfassung und Quellen|Hilfe:Zusammenfassung und Quellen]]--&amp;gt;[http://de.wikipedia.org/wiki/Hilfe:Zusammenfassung_und_Quellen Zusammenfassung und Quellen]. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:Nuvola apps ksirc.png|25px|link=Benutzer Diskussion:Krikan]] &amp;amp;nbsp;&amp;amp;nbsp; &#039;&#039;&#039;Hast du Fragen an mich?&#039;&#039;&#039; Schreib mir auf [[Benutzer Diskussion:Krikan|&amp;lt;u&amp;gt;meiner&amp;lt;/u&amp;gt; Diskussionsseite]]! Viele Grüße, [[Benutzer:Krikan|Christian]] ([[Benutzer Diskussion:Krikan|Diskussion]]) 09:42, 20. Mai 2020 (CEST)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=32563</id>
		<title>Vorlage:FHEMWiki News</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vorlage:FHEMWiki_News&amp;diff=32563"/>
		<updated>2020-01-26T13:51:48Z</updated>

		<summary type="html">&lt;p&gt;Krikan: FHEM 6.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|26.01.2020|FHEM Version 6.0 wurde freigegeben. Updatehinweise: {{Link2Forum|Topic=107782}}}}&lt;br /&gt;
{{News|17.12.2019|Mit dem Modul [[SSChatBot - Integration des Synology Chat Servers|SSChatBot]] kann der Synology Chat Server in FHEM integriert werden. Es können Mitteilungen zwischen FHEM und Chat ausgetauscht sowie Befehle in FHEM ausgeführt werden. }}&lt;br /&gt;
{{News|23.09.2019|Das Modul [[CanOverEthernet]] ermöglicht das Empfangen von Can-Over-Ethernet Paketen von Steuerungen der Firma Technische Alternative}}&lt;br /&gt;
{{News|05.04.2019|Das [[SamsungAV]] Modul ermöglicht die Steuerung von Samsung Fernsehern und Bluray-Playern.}}&lt;br /&gt;
{{News|06.03.2019|Mit dem Modul [[Arlo]] ist die Einbindung von Arlo Kameras über die Arlo Cloud möglich}}&lt;br /&gt;
{{News|26.01.2019|Das [[TRÅDFRI|tradfri]] Modul erweitert die Palette der [[ZigBee]] Module.}}&lt;br /&gt;
{{News|14.01.2019|Der [[FHEM Connector für Amazon Alexa|FHEM Connector]] Skill für Amazon Alexa ist verfügbar.}}&lt;br /&gt;
{{News|02.11.2018|Das Modul [[TA_CMI_UVR16x2_UVR1611|TA_CMI_JSON]] kann Werte des C.M.I. der Firma Technische Alternative auslesen und eignet sich so optimal zum Loggen von Daten zB der UVR16x2 oder UVR1611.}}&lt;br /&gt;
{{News|11.09.2018|Mit dem Modul [[AutoShuttersControl|AutoShuttersControl]] oder kurz ASC können typische Aufgabenstellungen im Zusammenhang mit Rollläden u.ä. automatisiert werden, wie zum Beispiel das Öffnen bei Sonnenaufgang, Schließen bei Sonnenuntergang oder das Anfahren von Lüftungspositionen beim Öffnen des zugehörigen Fensters.  }}&lt;br /&gt;
{{News|12.02.2018|Die Module [[Modul Babble|Babble]] und [[Talk2Fhem|Talk2Fhem]] erweitern die Sprachsteuerungsmöglichkeiten von FHEM}}&lt;br /&gt;
{{News|02.10.2017|[[FTUI eigene Widgets|Eigene Widgets für FHEM Tablet UI erstellen]]}}&lt;br /&gt;
{{News|30.08.2017|[[WINCONNECT]] - Windows PC steuern und Informationen abfragen/anzeigen. }}&lt;br /&gt;
{{News|24.08.2017|[[FHEMWEB/Widgets]] - Widgets (Frontendelemente) von FHEMWEB }}&lt;br /&gt;
{{News|24.08.2017|Neues Modul [[Modul_YAAHM|YAAHM]] wird per update verteilt. Es stellt eine Oberfläche bereit, um per Webinterface die zyklische Ausführung von Kommandos - mit Tages- und Wochenprofil - zu konfigurieren}}&lt;br /&gt;
{{News|24.07.2017|[[Telnet|Verbindung mit dem FHEM-Server per Telnet]]}}&lt;br /&gt;
{{News|20.07.2017|[[FHEM startet nicht - Tipps zur Fehlersuche]]}}&lt;br /&gt;
{{News|06.06.2017|[[‎Relaisplatine-Homebrew-MySensors|MySensors-Relaisplatine im Selbstbau]]}}&lt;br /&gt;
{{News|31.05.2017|[[Datenbankgestützte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_Überschußeinspeisung|Datenbankgestützte Erstellung der Energiebilanz einer PV-Anlage mit Überschußeinspeisung]]}}&lt;br /&gt;
{{News|30.04.2017|[[DoorPiBoard]]: Eine Platine zur Umsetzung des [[DoorPi_und FHEM|DoorPi-Projektes]]}}&lt;br /&gt;
{{News|21.03.2017|Artikel zum alternativen Frontend [[:Kategorie:FHEM_Tablet_UI|Tablet UI]] aktualisiert und deutlich erweitert}}&lt;br /&gt;
{{News|02.03.2017|Neues Modul zur Ansteuerung von [[LGTV_WebOS|LG-TVs mit dem Betriebssystem WebOS]] wird per update verteilt}}&lt;br /&gt;
{{News|20.02.2017|Neues Modul [[SIP-Client|SIP]], ein SIP-Client für FHEM, wird per update verteilt}}&lt;br /&gt;
{{News|19.02.2017|FHEM Version 5.8 wurde freigegeben. Updatehinweise beachten: {{Link2Forum|Topic=67419}}}}&lt;br /&gt;
{{News|18.01.2017|Neues Modul [[DOIFtools]] mit Funktionen zur Unterstützung des Benutzers im Umgang mit [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|12.01.2017|Neues Modul zur Ansteuerung des Bluetooth 4.1 BLE Pflanzensensors [[XiaomiFlowerSens|Xiaomi Flower Care Smart Monitor]] wird per update ausgeliefert}}&lt;br /&gt;
{{News|01.01.2017|Diverse neue Wiki-Artikel mit Informationen und Hilfen zu [[DOIF#Links|DOIF]] }}&lt;br /&gt;
{{News|10.12.2016|FHEM Wiki ist auf einen neuen Server umgezogen und hat eine neue Standard-Internetadresse: https://wiki.fhem.de}}&lt;br /&gt;
{{News|21.11.2016|Neues Modul [[Modul_PostMe|PostMe]] stellt eine komfortable Oberfläche zur Listenverwaltung bereit}}&lt;br /&gt;
{{News|11.10.2016|Neue Module [[NUKI|NUKIbridge und NUKIDevice]] zur Ansteuerung des Nuki Smartlock werden per update verteilt}}&lt;br /&gt;
{{News|07.10.2016|Neues Modul [[TRAFFIC]] zur Erfassung der Fahrzeiten bei aktueller Verkehrslage mittels Google Maps Directions API wird per update verteilt}}&lt;br /&gt;
{{News|19.07.2016|Neues Modul zur Unterstützung der HomeMatic-Interfaces [[HM-MOD-RPI-PCB_HomeMatic_Funkmodul_für_Raspberry_Pi|Funkmodul für Raspberry Pi]] und [[HM-LGW-O-TW-W-EU_Funk-LAN_Gateway|Funk-LAN Gateway]] wird per update verteilt }}&lt;br /&gt;
{{News|12.07.2016|Neues Modul [[DbRep - Reporting und Management von DbLog-Datenbankinhalten]] wird per update verteilt }}&lt;br /&gt;
{{News|08.02.2016|Neues Modul [[Mediaportal|MEDIAPORTAL]] (Steuerung einer Mediaportal-Installation über Wifiremote) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neues Modul [[HP1000]] (Einbindung einer HP1000 Wetterstation) wird per update verteilt}}&lt;br /&gt;
{{News|16.11.2015|Neuer FHEM Befehl [[msg]] (Intelligentes Versenden/Routing von Nachrichten der Typen Audio,Text,Mail,Push,Light,Screen) wird per update verteilt}}&lt;br /&gt;
{{News|15.11.2015|FHEM Version 5.7 wurde veröffentlicht. Unbedingt Updatehinweise beachten: {{Link2Forum|Topic=44094}}}}&lt;br /&gt;
{{News|30.10.2015|FHEM Wiki unterstützt nun [[Syntax Highlighting]]}}&lt;br /&gt;
{{News|18.10.2015|Neues Modul [[TechemHKV]] (Empfang von Daten eines Techem Heizkostenverteilers) wird per update verteilt}}&lt;br /&gt;
{{News|02.10.2015|Kleiner FHEM-Einsteiger-Kurs als Wiki Artikel unter [[Erste_Schritte_in_fhem|Erste Schritte in FHEM]]}}&lt;br /&gt;
{{News|24.09.2015|Umfangreiche Überarbeitung der Wiki Artikel über [[:Kategorie:panStamp|panStamp Hardware und Software]]}}&lt;br /&gt;
{{News|11.09.2015|Neues Modul [[AMAD]] (Steuern und Informationsanzeige von Android-Geräten) wird per update verteilt}}&lt;br /&gt;
{{News|15.06.2015|Neues Modul [[yowsup]] (WhatsApp Unterstützung) wird per update verteilt}}&lt;br /&gt;
{{News|03.04.2015|Neues Geräte-Modul [[JawboneUp]] wird per update verteilt}}&lt;br /&gt;
{{News|23.03.2015|Neue Geräte-Module [[Modbus]], [[ModbusAttr]] und [[Modbus#Writing_modules_for_devices_using_this_module_as_a_library|ModbusSET]] werden per update verteilt}}&lt;br /&gt;
{{News|10.02.2015|FHEM Wiki ist auf einen neuen Server umgezogen und [[FHEMWiki:Interna#Offene_Probleme|Aktualisierung der MediaWiki-Software]]}}&lt;br /&gt;
{{News|31.01.2015|Neues Geräte-Modul [[Pushbullet]] wird per update verteilt}}&lt;br /&gt;
{{News|14.01.2015|Neues Hilfs-Modul [[CALVIEW]] wird per update verteilt}}&lt;br /&gt;
{{News|08.01.2015|Neues Geräte-Modul [[Buderus_Web_Gateway|km200]] zur Anbindung eines Buderus Web-Gateways wird per update verteilt}}&lt;br /&gt;
{{News|18.12.2014|Neues Geräte-Modul [[SONOS]] wird per update verteilt}}&lt;br /&gt;
{{News|15.12.2014|Überarbeitetes und erweitertes Geräte-Modul [[HTTPMOD]] wird per update verteilt}}&lt;br /&gt;
{{News|10.12.2014|Neues Geräte-Modul [[Vitotronic_200_(Viessmann_Heizungssteuerung)|VCONTROL]] zur Anbindung einer Viessmann Heizung wird per update verteilt}}&lt;br /&gt;
{{News|17.11.2014|Neues Hilfs-Modul [[logProxy]] wird per update verteilt}}&lt;br /&gt;
{{News|09.11.2014|FHEM Version 5.6 wurde veröffentlicht}}&lt;br /&gt;
{{News|27.10.2014|Neues Geräte-Modul [[harmony]] zur FHEM-Anbindung Logitech Harmony Hub basierter Fernbedienungen wird per update verteilt}}&lt;br /&gt;
{{News|25.10.2014|Neues Geräte-Modul [[KostalPiko|KOSTALPIKO]] wird per update verteilt}}&lt;br /&gt;
{{News|24.10.2014|Neues Hilfs-Modul [[HourCounter]] wird per update verteilt}}&lt;br /&gt;
{{News|06.09.2014|Neues Hilfs-Modul [[CustomReadings]] per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Neues Hilfs-Modul [[DOIF]] wird per update verteilt}}&lt;br /&gt;
{{News|19.08.2014|Der Befehl [[update]] wurde überarbeitet: {{Link2Forum|Topic=26311}} }}&lt;br /&gt;
{{News|13.08.2014|Zusätzliche Domäne fhem.org aktiviert: {{Link2Forum|Topic=26113}} }}&lt;br /&gt;
{{News|29.09.2013|FHEM Version 5.5 wurde veröffentlicht}}&lt;br /&gt;
{{News|11.05.2013|Die meisten Daten aus dem FhemWiki sind wieder hergestellt.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki wird neu aufgebaut.}}&lt;br /&gt;
{{News|04.05.2013|FHEM Wiki Update zu  [[Special:Version|MediaWiki 1.20.5]].}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Krikan</name></author>
	</entry>
</feed>