<?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=Originalhardy</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=Originalhardy"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Originalhardy"/>
	<updated>2026-04-05T23:22:13Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Kategorie:FHEM_Tablet_UI_V3&amp;diff=37494</id>
		<title>Kategorie:FHEM Tablet UI V3</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Kategorie:FHEM_Tablet_UI_V3&amp;diff=37494"/>
		<updated>2022-07-11T07:49:28Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: Verweis auf Github Doku&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Oberfläche für FHEM v3&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModFTopic=115259&lt;br /&gt;
|ModForumArea=TabletUI&lt;br /&gt;
|ModTechName=n.a.&lt;br /&gt;
|ModOwner=setstate ({{Link2FU|7023|Forum}})&lt;br /&gt;
}}&lt;br /&gt;
[[FHEM Tablet UI v3]] (FTUI3) ist ein funktionsreiches Frontend-Framework zum Steuern und Überwachen von in FHEM integrierten Geräten. Es basiert auf HTML/CSS/JavaScript und stellt somit keine zusätzlichen Anforderungen an den FHEM-Server. Es ist die Nachfolgeversion von FHEM Tablet UI v2 aber nicht abwärtskompatibel. Ein Umstieg auf FTUI3 hat eine Neu-Programmierung der Oberfläche zur Folge.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe zahlreicher Komponenten, die sehr leicht mit HTML Code konfiguriert werden können, ist es möglich, innerhalb kurzer Zeit ein den eigenen Wünschen entsprechendes User-Interface aufzubauen.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die Installation von FHEM Tablet UI v3 (FTUI3) erzeugt keinen großen Aufwand und besteht im Großen und Ganzen aus zwei Schritten:&lt;br /&gt;
*Dateien aus dem GitHub-Repository herunterladen&lt;br /&gt;
*Eine Beispieldatei anlegen&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Diese Anleitung geht davon aus, dass FHEM unter Debian nach der Anleitung [https://debian.fhem.de Stable build using apt] installiert wurde.&lt;br /&gt;
Ist dies nicht der Fall, muss der Pfad &#039;&#039;&#039;/opt/fhem&#039;&#039;&#039; dementsprechend angepasst werden.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Zuerst müssen alle Dateien von FHEM Tablet UI in das FHEM-Verzeichnis &#039;&#039;&#039;/opt/fhem/www/ftui&#039;&#039;&#039; kopiert werden. Das geht mit folgendem &#039;&#039;&#039;update&#039;&#039;&#039;-Befehl über die FHEM-Befehlszeile.&lt;br /&gt;
:&amp;lt;code&amp;gt;update all https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI3_Installation_01.png|thumb|none|Schritt 1: Dateien kopieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{FTUI3 kann in weiterer Folge unter der URL &amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http(s)://&amp;lt;fhem-server&amp;gt;:8083/fhem/ftui/index.html&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Damit FHEM Tablet UI mit FHEM kommunizieren kann, ist noch die &#039;&#039;&#039;longpoll&#039;&#039;&#039;-Einstellung im [[FHEMWEB]] Device festzulegen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr WEB longpoll websocket&amp;lt;/code&amp;gt;&lt;br /&gt;
:bzw. bei Problemen mit &#039;&#039;websocket&#039;&#039;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr WEB longpoll 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI3_Installation_03.png|thumb|none|Schritt 3: longpoll einstellen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Weil FTUI noch nichts anzuzeigen hat, wird die Datei &#039;&#039;&#039;/opt/fhem/www/ftui/index-example.html&#039;&#039;&#039; nach &#039;&#039;&#039;/opt/fhem/www/ftui/index.html&#039;&#039;&#039; kopiert.&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo cp -a /opt/fhem/www/ftui/index-example.html /opt/fhem/www/ftui/index.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI3_Installation_04.png|thumb|none|Schritt 4: index.html erstellen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Abschließend muss FHEM noch &#039;&#039;&#039;neu gestartet&#039;&#039;&#039; werden (&#039;&#039;shutdown restart&#039;&#039;) da das Attribut &#039;&#039;&#039;longpoll&#039;&#039;&#039; geändert wurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Somit ist FHEM Tablet UI bereit zur Verwendung und kann durch Aufruf der URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://&amp;lt;fhem-server&amp;gt;:8083/fhem/ftui/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; oder den Link im FHEM-Menü geöffnet werden&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
Ein Update von FTUI kann ebenfalls über die FHEM-Kommandozeile erfolgen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Prüfen der Änderungen seit dem letzten Download/Update durch Eingabe von:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update check https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Update der geänderten Dateien durch Eingabe von:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update all https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine weitere Option ist das Hinzufügen des FTUI-Git-Repositories zum allgemeinem Update-Vorgang von FHEM. Dabei wird dann bei einem FHEM-Update auch gleich FHEM Tablet UI aktualisiert, bzw. die Änderungen angezeigt.&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update add https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachte: Das Ergebnis des o.g. Befehls wird in FHEM/controls.txt eingetragen, siehe auch [[Update#update_add]]&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
https://github.com/knowthelist/ftui/&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=EnOcean_Starter_Guide&amp;diff=37464</id>
		<title>EnOcean Starter Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=EnOcean_Starter_Guide&amp;diff=37464"/>
		<updated>2022-06-02T06:33:09Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: Link aktualisiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|Noch einzuarbeitetende Moduländerungen : http://forum.fhem.de/index.php/topic,36237.msg285274.html#msg285274: Vereinfachte Anlage von FHEM-EnOcean-Devices gemäß 18 und 19 einarbeiten, Anlage Liste von nicht offiziellen EEPs und Zuordnung zu Geräten, bessere Einbindung von getNextId ++++ http://forum.fhem.de/index.php/topic,42354.0.html: Plot-Anlage einbinden ++++ http://forum.fhem.de/index.php/topic,45810.0.html: RLT ++++ https://forum.fhem.de/index.php/topic,97027.0.html: autocreate nur noch für Teach-In-Telegramm, wenn nicht &amp;quot;attr &amp;lt;IODev&amp;gt; learningDev all&amp;quot; gesetzt ist. }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=TCM&lt;br /&gt;
|ModPurpose=Einbindung EnOcean-Gateway&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=TCM&lt;br /&gt;
|ModForumArea=EnOcean&lt;br /&gt;
|ModTechName=00_TCM.pm &lt;br /&gt;
|ModOwner=klaus.schauer ([http://forum.fhem.de/index.php?action=profile;u=293 Forum] / [[Benutzer Diskussion:Klaus.schauer|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|Name=EnOcean&lt;br /&gt;
|ModPurpose=Ansteuerung EnOcean-Geräte über TCM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=EnOcean&lt;br /&gt;
|ModForumArea=EnOcean&lt;br /&gt;
|ModTechName=10_EnOcean.pm &lt;br /&gt;
|ModOwner=klaus.schauer ([http://forum.fhem.de/index.php?action=profile;u=293 Forum] / [[Benutzer Diskussion:Klaus.schauer|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== EnOcean ==&lt;br /&gt;
[http://www.enocean.com/de/ EnOcean] ist &lt;br /&gt;
* ein [http://www.enocean.com/de/enocean-wireless-standard/ ISO ratifizierter Funkstandard], ausgelegt für Funksensoren und Funksensornetze mit besonders niedrigem Energieverbrauch&lt;br /&gt;
* ein Anbieter batterieloser Funksensoren&lt;br /&gt;
EnOcean-Endgeräte mit dem von der EnOcean Alliance zur Verfügung gestellten EnOcean-Funkprotokoll werden von [https://www.enocean-alliance.org/de/produkte/ zahlreichen Hardware-Herstellern] angeboten. &lt;br /&gt;
&lt;br /&gt;
=== EnOcean Equipment Profile ===&lt;br /&gt;
Abhängig von den Funktionen des EnOcean-Endgerätes werden bestimmte veröffentlichte Anwendungs-Profile/Funk-Telegramme, die sogenannten EnOcean Equipment Profiles (EEPs), zur Funkkommunikation genutzt. Technische Details zum EnOcean-Funkprotokoll und insbesondere zu den [http://www.enocean-alliance.org/eep/ EnOcean Equipment Profiles (EEPs)] sind auf der Internetseite der [http://www.enocean-alliance.org EnOcean Alliance] zu finden.&lt;br /&gt;
&lt;br /&gt;
==== Manufacturer Specific Communication ====&lt;br /&gt;
EnOcean bietet - neben den veröffentlichten Standard-Enocean-Profilen - die Möglichkeit für die Nutzung von herstellerspezifischen Anwendungs-Profilen/Funk-Telegrammen (MSC = Manufacturer Specific Communication). Falls die Herstellerfirmen den Inhalt dieser MSC-Telegramme nicht veröffentlichen, ist eine Unterstützung durch FHEM grundsätzlich nicht möglich. Teilweise werden die Produkte sowohl mit MSC- als auch mit Standard-Enocean-Profilen vertrieben {{Link2Forum|Topic=19544|Message=132240}}. Angaben zu den verwendeten Profilen/Telegrammen sind den Bedienungsanleitungen der Produkte zu entnehmen.&lt;br /&gt;
&lt;br /&gt;
=== uni- versus bidirektional ===&lt;br /&gt;
EnOcean-Endgeräte gibt es sowohl in uni- als auch in bidirektionalen Ausführungen. Bei &#039;&#039;&#039;unidirektionalen Endgeräten&#039;&#039;&#039; erfolgt die Funk-Kommunikation nur in eine Richtung. Einem Aktor, der Licht schaltet, kann zwar der Befehl zum An- bzw. Ausschalten gegeben werden, er liefert aber keine Rückinformation über die erfolgreiche Ausführung des Befehls. Bei &#039;&#039;&#039;bidirektionalen Endgeräten&#039;&#039;&#039; erfolgt die Funk-Kommunikation hingegen in zwei Richtungen: sie bieten &lt;br /&gt;
# Sende- und &lt;br /&gt;
# Empfangsmöglichkeiten. &lt;br /&gt;
Der bidirektionale Aktor kann somit unter anderem die erfolgreiche Ausführung eines empfangenen Befehls zurückmelden.&lt;br /&gt;
&lt;br /&gt;
=== SenderID ===&lt;br /&gt;
Damit EnOcean Funk-Aktoren (z.B. Relais, Dimmer, Heizungsventil) auf EnOcean Sensoren (z.B. Taster, Temperatursensor, Fensterkontakt, Energieverbrauchsmesser) reagieren können, werden die Sensoren bei den Aktoren eingelernt (Teach-in). So wird festgelegt, dass z.B. &amp;quot;Funktaster 1&amp;quot; den &amp;quot;Dimmer 1&amp;quot; steuert. &lt;br /&gt;
Alle EnOcean Geräte mit Sendefunktion haben mindestens eine eindeutige, unabänderliche 8-stellige Hex-SenderID (z.B. ffc54500; teilweise auch dargestellt mit Punkten oder Doppelpunkten dazwischen). Die SenderID ist meist auf den EnOcean Geräten aufgedruckt oder liegt der Verpackung des Endgerätes bei. Beim Anlernvorgang wird die eindeutige SenderID des Sensors in der Empfängertabelle des Aktors gespeichert.&lt;br /&gt;
 &lt;br /&gt;
== EnOcean 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_EnOcean-Forum_enthalten.3F|Anfragen im Forum]] die Aktualität von FHEM überprüfen.&lt;br /&gt;
&lt;br /&gt;
Die Nutzung von EnOcean in FHEM ist (nicht nur für den Anfänger) ausschließlich mit der standardmäßig eingeschalteten [[autocreate|autocreate-Funktion]] einfach umsetzbar. 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 EnOcean behandeln, so werden doch wesentliche Punkte für ein Verständnis von FHEM vermittelt.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden und auf den [[:Kategorie:EnOcean 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 SenderIDs der EnOcean-Geräte haben eine zentrale Bedeutung in FHEM. Sie sind eindeutiges Unterscheidungsmerkmal, werden von FHEM im Rahmen der Funkkommunikation genutzt und in der Definition der Geräte bzw. den Attributen des Geräte hinterlegt. Auch wenn FHEM die SenderIDs des Gateways regelmäßig automatisch vergeben kann, ist für einen Überblick über die SenderIDs hilfreich eine Tabelle mit folgender oder ähnlicher Struktur aufzubauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; A&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; B&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; C&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; D&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; E&lt;br /&gt;
&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; Nr.&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; Name EnOcean&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; Name in FHEM&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; HEX (Sender-ID)&lt;br /&gt;
&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt; Zimmer&lt;br /&gt;
&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;amp;lt;Name Hardwareschalter&amp;amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;amp;lt;Name in FHEM&amp;amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;amp;lt;HEX Code&amp;amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;amp;lt;Raumname&amp;amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; TCM_ESP3_0&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; TCM_ESP3_0&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; AABBCC00&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; 1&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; EnO_switch_123456&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; eg_fl_Licht&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; AABBCC01&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; EG_Flur&lt;br /&gt;
&amp;lt;/td&amp;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;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; 128&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definition von TCM / Gateway ==&lt;br /&gt;
FHEM kann mit einem Funkgateway, das auf einem TCM-Modul basiert, EnOcean-Funk empfangen und senden. &lt;br /&gt;
Bisher gibt es zwei Transceiver Chips von EnOcean: &lt;br /&gt;
* TCM120 (ausgelaufen)&lt;br /&gt;
** für den USB-Port: [https://embedded-intelligence.de/de/products/hardware/bsc-bor.html BSC BOR] &lt;br /&gt;
* TCM310 &lt;br /&gt;
** als USB-Stick: [http://www.enocean.com/de/enocean_module/usb-300-oem/ USB 300] und [http://busware.de/tiki-index.php?page=EUL Busware EUL]&lt;br /&gt;
** als Aufsteckmodul für Raspberry Pi: [http://www.enocean.com/de/enocean-pi/ EnOceanPi]&amp;lt;BR&amp;gt; &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;
::* Die seriellen Schnittstelle /dev/ttyAMA0 muss am Raspberry Pi freigeschaltet werden, damit das EnOceanPi-Modul funktionsfähig ist. Zur Vorgehensweise siehe: {{Link2Forum|Topic=14814|Message=95265}}&lt;br /&gt;
&lt;br /&gt;
Zudem existiert eine {{Link2Forum|Topic=22635|Message=160582|LinkText=Lösung zur kabelgebundenen Anbindung}} des FHEM-Rechners mittels Eltako FGW14 an den [[EnOcean-Eltako-RS485-Bus|Eltako RS485-Bus]], über die sowohl Busaktoren als auch EnOcean-Funkaktoren gesteuert werden können und auch EnOcean-Funktelegramme über das [[EnOcean-Eltako-RS485-Bus|FAM14 Funkantennenmodul]] am RS485-Bus empfangen werden können.&lt;br /&gt;
&lt;br /&gt;
Das TCM-basierte Gateway wird unter Linux nach Anschluss an den FHEM-Rechner beim FHEM-Start oder ohne FHEM-Neustart durch Aufruf des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; zumeist automatisch erkannt und grundlegend durch entsprechende Einträge in der Konfiguration definiert. Ein manuelles Anlegen des TCM-Moduls oder Eingriffe in die Konfiguration sind normalerweise nicht notwendig. Werden am FHEM-Server unter Linux mehrere USB-Gateways eingesetzt, empfiehlt es sich zur Erhöhung der Betriebsstabilität das TCM-Gateway über [[Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden|Serial-by-Id]] anzusprechen. Unter Windows ist ein manuelles Anlegen der Definition des TCM-Gateways wegen fehlender Unterstützung des Befehls &amp;lt;code&amp;gt;usb scan&amp;lt;/code&amp;gt; notwendig. &lt;br /&gt;
&lt;br /&gt;
Bei RS485-basierte Gateways (bspw. FGW14) muss in der [[Konfiguration]] zusätzlich manuell das Attribut &amp;lt;code&amp;gt;comType&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;RS485&amp;lt;/code&amp;gt; gesetzt werden. &lt;br /&gt;
&lt;br /&gt;
Beispiele der automatisch erzeugten define-Zeile in der Konfiguration:&lt;br /&gt;
&lt;br /&gt;
EnOceanPi an Raspberry Pi:&lt;br /&gt;
 define TCM_ESP3_0 TCM ESP3 /dev/ttyAMA0@57600&lt;br /&gt;
&lt;br /&gt;
TCM310/USB300 an Fritzbox oder Raspberry Pi:&lt;br /&gt;
 define TCM_ESP3_0 TCM ESP3 /dev/ttyUSB0@57600&lt;br /&gt;
&lt;br /&gt;
Hier folgt ein Beispiel der define-Zeile in der Konfiguration für kabelgebundene Anbindung mit FGW14 über serielle Schnittstelle&lt;br /&gt;
 define TCM_ESP2_0 TCM ESP2 /dev/ttyS3@57600&lt;br /&gt;
 attr TCM_ESP2_0 comType RS485                    &amp;lt;---- Manuell zu setzen&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Definition ist das Gateway im Raum &amp;quot;Everything&amp;quot; in der Gruppe &amp;quot;TCM&amp;quot; zu finden. Wenn neben dem Gatewaynamen &amp;quot;initialized&amp;quot; oder &amp;quot;opened&amp;quot; angezeigt wird, ist FHEM in der Lage mit den EnOcean-Geräten zu kommunizieren.&lt;br /&gt;
&lt;br /&gt;
Wie im [[#SenderID|Einführungsabschnitt]] bereits erläutert hat jedes sendende EnOcean-Endgerät mindestens eine eindeutige SenderID. Diese SenderID kann aus Sicherheitsgründen nicht vom EnOcean-Gateway simuliert werden. Vielmehr hat das Gateway eigene SenderIDs, die separat in die Endgeräte/Aktoren angelernt werden müssen. Das Gateway stellt 128 verschiedene SenderIDs zur Verfügung. Ausgehend von der baseID, die bei jedem Gateway grundsätzlich anders ist, werden die SenderIDs fortlaufend hexadezimal hochgezählt:&lt;br /&gt;
* FHEM stehen 127 fortlaufende eigene SenderID zur Verfügung&lt;br /&gt;
* beginnend mit der baseID des TCM + 1&lt;br /&gt;
&lt;br /&gt;
Die baseID des TCM erhält man durch Eingabe von&lt;br /&gt;
 get TCM_ESP3_0 baseID &lt;br /&gt;
in das Befehl-Eingabefeld (TCM_ESP3_0 gegebenenfalls durch den eigenen Gatewaynamen ersetzen) oder duch Auswahl dieses Befehls in den Objektdetails des FHEM-Gateway-Device.&lt;br /&gt;
&lt;br /&gt;
Das Webfrontend zeigt dann beispielsweise:&lt;br /&gt;
 BaseID=AABBCC00,RemainingWriteCycles=0A&lt;br /&gt;
Die niedrigste SenderID in diesem Beispiel ist AABBCC0&#039;&#039;&#039;1&#039;&#039;&#039; (BaseID=AABBCC00 +1 HEX!!!), die nächste AABBCC0&#039;&#039;&#039;2&#039;&#039;&#039; usw.&lt;br /&gt;
&lt;br /&gt;
Nach der Definition des Gateways und Ermittlung der baseID des Gateways kann nun der nächste Schritt, die Definition der EnOcean-Geräte in FHEM, erfolgen.&lt;br /&gt;
&lt;br /&gt;
== Definition von Geräten ==&lt;br /&gt;
=== Definition / Anlernvorgang (Teach-In) ===&lt;br /&gt;
Damit FHEM und EnOcean-Geräte miteinander kommunizieren können, müssen sie miteinander bekannt gemacht werden. Dies geschieht durch Definition des Gerätes in FHEM und den Anlernvorgang. Dazu muss sich FHEM im {{Link2CmdRef|Anker=TCM_learningMode|Label=learningMode}} befinden. Viele Geräte werden von FHEM während des Anlernvorgangs automatisch erkannt und definiert. Dennoch ist ein grundlegendes Verständnis der Anlernvorgänge und Unterscheidungsprinzipen in FHEM und EnOcean notwendig. Sofern das Gerät Bestätigungstelegramme verschicken kann, sind diese zwingend &#039;&#039;&#039;vorher&#039;&#039;&#039; am Gerät einzuschalten (u.a. Eltako). &lt;br /&gt;
&lt;br /&gt;
FHEM entnimmt die Angaben, wie ein Funk-Telegramm für ein bestimmtes Gerät aufgebaut ist, im Wesentlichen den folgenden Attributen der Definition des Gerätes:&lt;br /&gt;
*&amp;lt;code&amp;gt;subtype&amp;lt;/code&amp;gt;: FHEM-Profilname, der als Klartextname das genutzte EEP des Gerätes (EEP steht meist in der Bedienungsanleitung des Gerätes) repräsentiert . Einige FHEM-Profile z. B. &amp;quot;roomSensorControl.01&amp;quot; bedienen mehrere ähnliche EEP gleichzeitig.&lt;br /&gt;
*&amp;lt;code&amp;gt;manufID&amp;lt;/code&amp;gt;: Code für den Hersteller des Gerätes (Übersetzungstabelle Code zu Name ist in der [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/10_EnOcean.pm 10_EnOcean.pm] unter %EnO_manuf)&lt;br /&gt;
*&amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt;: Modell des Gerätes&lt;br /&gt;
*&amp;lt;code&amp;gt;eep&amp;lt;/code&amp;gt;: EEP des Gerätes. Unter anderem werden die Informationen zur automatischen Anlage von [[FileLog]], [[SVG]] und des Attributs &amp;lt;code&amp;gt;webCmd&amp;lt;/code&amp;gt; anhand des EEPs ermittelt.&lt;br /&gt;
Während des Anlernvorgangs werden diese Angaben von FHEM soweit wie möglich automatisch in der Definition vorbelegt. Hinweise zu den Besonderheiten von bestimmten Geräten und EEP finden sich oft in der {{Link2CmdRef|Anker=EnOcean}} zu EnOcean. Darum bitte immer in der commandref zunächst nach dem speziellen Gerät (Modellbezeichnung) suchen, wenn dies keinen Treffer liefert nach dem verwendeten EEP suchen. Die gegebenen Hinweise und Erläuterungen dort beachten.&lt;br /&gt;
 &lt;br /&gt;
Die Definition und der Anlernvorgang unterscheiden sich je nach Gerätetyp:&lt;br /&gt;
* Sensoren:&lt;br /&gt;
** [[#Schalter/Switch|Schalter (EEP RPS)]]: werden automatisch beim ersten empfangenen Funktelegramm in FHEM mit den notwendigen Attributen angelegt.&lt;br /&gt;
** [[#Kontakte|Kontakte (EEP 1BS)]]: werden automatisch beim ersten empfangenen Funktelegramm in FHEM mit den notwendigen Attributen angelegt.&lt;br /&gt;
** [[#Sonstige_Sensoren|Sonstige Sensoren (EEP 4BS)]]: Durch Versand eines speziellen Anlern-Funktelegramms können sie in FHEM automatisch mit den notwendigen Attributen angelegt werden. Im Anlerntelegramm übermittelt der Sensor FHEM die EEP-Profilangabe und die Hersteller-ID. Aufgrund dieser Angaben kann FHEM das Gerät eindeutig erkennen und die richtigen Attribute in FHEM setzen. Einige wenige Sensoren verschicken leider ein Anlerntelegramm ohne EEP-Profilangabe und/oder Herstellerangabe (Bsp: Omnio Ratio eagle-PM101). Bei diesen Sensoren müssen die Attribute subType, manufID und/oder model manuell in FHEM gesetzt werden, damit eine richtige Auswertung der Funktelegramme erfolgt.&lt;br /&gt;
* Aktoren (4BS, VLD, UTE, MSC): Bei den Aktoren gibt es je nach Gerätetyp verschiedene Anlernvorgänge, die unterschiedlich in FHEM ausgeführt werden. Einige Aktoren unterstützen auch mehrere Anlernvorgänge. Grundsätzlich muss wegen abweichender Vorgehensweise in FHEM unterschieden werden zwischen&lt;br /&gt;
** [[#uni- versus bidirektional|unidirektionalen]] Aktoren und&lt;br /&gt;
*** [[#Teach-In_als_Tasteremulation|Teach-In als Tasteremulation]]&lt;br /&gt;
*** [[#Teach-In_als_Gateway.2FPC-Steuerung|Teach-In als Gateway/PC-Steuerung]]&lt;br /&gt;
** [[#uni- versus bidirektional|bidirektionalen]] Aktoren&lt;br /&gt;
*** [[#Teach-In_als_Tasteremulation_2|Teach-In als Tasteremulation]]&lt;br /&gt;
*** [[#Unidirektionales_4BS-Teach-In|Unidirektionales 4BS-Teach-In]]&lt;br /&gt;
*** [[#Bidirektionales_4BS-Teach-In|Bidirektionales 4BS-Teach-In]]&lt;br /&gt;
*** [[#UTE-Teach-In|UTE-Teach-In]]&lt;br /&gt;
&lt;br /&gt;
In den nachfolgenden Gliederungspunkten wird beispielhaft für je ein Gerät aus den obigen Gerätetypen die Einbindung in FHEM erläutert.&lt;br /&gt;
&lt;br /&gt;
Grundlegend gilt immer:&lt;br /&gt;
FHEM legt sendende, noch nicht definierte EnOcean Geräte selbst an, wenn&lt;br /&gt;
* in Konfiguration autocreate aktiviert ist:&lt;br /&gt;
** &amp;lt;code&amp;gt;{{Link2CmdRef|Lang=de|Anker=autocreate|Label=define autocreate autocreate}}&amp;lt;/code&amp;gt;&lt;br /&gt;
* FHEM/das TCM-Modul sich im &amp;lt;code&amp;gt;learningMode&amp;lt;/code&amp;gt; befindet und&lt;br /&gt;
* FHEM eine Nachricht vom noch nicht definierten EnOcean Gerät empfängt&lt;br /&gt;
Im Webfrontend werden automatisch angelegte neue Geräte im Raum &amp;quot;EnOcean&amp;quot; angezeigt.&lt;br /&gt;
&lt;br /&gt;
=== Sensoren ===&lt;br /&gt;
&#039;&#039;&#039;Sensoren Beispiele:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Schalter/Switch ====&lt;br /&gt;
[[EnOcean-PTM-210-Taster|PTM 210 - Schaltermodul]] ([http://www.enocean.com/de/enocean_module/ptm-210-data-sheet-pdf/ Datenblatt])&lt;br /&gt;
&lt;br /&gt;
EEP: F6-02-xx&lt;br /&gt;
&lt;br /&gt;
FHEM in den learningMode (&amp;lt;code&amp;gt;set &amp;lt;nowiki&amp;gt;&amp;lt;IODev&amp;gt; teach &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
&lt;br /&gt;
Dann einen beliebigen Taster des Moduls drücken (und loslassen). Beim Drücken des Tasters wird vom Taster eine Nachricht ausgesendet, die von FHEM empfangen wird. Daraufhin definiert FHEM automatisch den Taster und der Taster ist in FHEM angelernt. FHEM fügt dazu folgenden Code zur Konfiguration hinzu:&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define EnO_switch_FFC54500 EnOcean FFC54500                    &amp;lt;-- &amp;quot;FFC54500&amp;quot; ist die 8-stellige Hex-SenderID des Tasters&lt;br /&gt;
 attr EnO_switch_FFC54500 IODev TCM_ESP3_0&lt;br /&gt;
 attr EnO_switch_FFC54500 room EnOcean&lt;br /&gt;
 attr EnO_switch_FFC54500 subType switch                        &amp;lt;-- handelt sich um einen Schalter&lt;br /&gt;
 # attr EnO_switch_FFC54500 eventMap AI:off A0:on BI:an B0:aus  &amp;lt;-- bei Bedarf ... die gemapten Werte (hier: off, on, an, aus) sollen eindeutig sein&lt;br /&gt;
 define FileLog_EnO_switch_FFC54500 FileLog ./log/EnO_switch_FFC54500-%Y.log EnO_switch_FFC54500&lt;br /&gt;
 attr FileLog_EnO_switch_FFC54500 logtype text&lt;br /&gt;
&lt;br /&gt;
Ein Schalter (hier: FT55) hat vier Taster:&lt;br /&gt;
{|&lt;br /&gt;
| &#039;&#039;&#039;Taster&#039;&#039;&#039; || &#039;&#039;&#039;in FHEM&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| links oben || A0&lt;br /&gt;
|-&lt;br /&gt;
| links unten || AI (nicht &amp;quot;eins&amp;quot; sondern &amp;quot;i&amp;quot;!)&lt;br /&gt;
|-&lt;br /&gt;
| rechts oben || B0&lt;br /&gt;
|-&lt;br /&gt;
| rechts unten || BI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Log FileLog_EnO_switch_FFC54500 zeichnet beim einmaligen Drücken des linken unteren Tasters (&amp;quot;AI&amp;quot;) folgendes auf:&lt;br /&gt;
 2014-01-01_07:00:01 EnO_switch_FFC54500 buttons: pressed&lt;br /&gt;
 2014-01-01_07:00:01 EnO_switch_FFC54500 channelA: AI&lt;br /&gt;
 2014-01-01_07:00:01 EnO_switch_FFC54500 AI&lt;br /&gt;
 2014-01-01_07:00:02 EnO_switch_FFC54500 buttons: released&lt;br /&gt;
&lt;br /&gt;
Der angelegte Sensor repräsentiert im Webfrontend den physischen Schalter (bspw. an der Wand). Ein Druck auf den physischen Taster ändert den Zustand im Webfrontend. Jedoch führt ein Schalten des Repräsentanten im Webfrontend nicht zu einer Schaltung des Aktors.&lt;br /&gt;
&lt;br /&gt;
FHEM kann sich &#039;&#039;&#039;nicht&#039;&#039;&#039; als einer der vorhandenen (automatisch angelegten) physischen Sensoren ausgeben (um z.B. das Licht zu schalten), sondern verwendet eigene SenderIDs. Diese FHEM-eigenen SenderIDs können in EnOcean-Aktoren eingelernt werden, damit die Aktoren auf FHEM reagieren [[#Aktoren|siehe unten]].&lt;br /&gt;
&lt;br /&gt;
==== Kontakte ====&lt;br /&gt;
[[EnOcean-STM-250-Fenster-T%C3%BCrkontakt|STM 320 Batterieloses Magnetkontakt-Funkmodul]] ([http://www.enocean.com/de/enocean_module/stm-320-data-sheet-pdf/ Datenblatt])&lt;br /&gt;
&lt;br /&gt;
EEP: D5-00-01&lt;br /&gt;
&lt;br /&gt;
FHEM in den learningMode versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
&lt;br /&gt;
Anlerntelegramm laut Anleitung verschicken oder Magnetkontakt öffnen und schließen.&lt;br /&gt;
&lt;br /&gt;
Der Kontakt wird automatisch in FHEM definiert und ist angelernt.&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define EnO_contact_0000FF53 EnOcean 0000FF53&lt;br /&gt;
 attr EnO_contact_0000FF53 IODev TCM_ESP3_0&lt;br /&gt;
 attr EnO_contact_0000FF53 room EnOcean&lt;br /&gt;
 attr EnO_contact_0000FF53 subType contact&lt;br /&gt;
 define FileLog_EnO_contact_0000FF53 FileLog ./log/EnO_contact_0000FF53-%Y.log EnO_contact_0000FF53&lt;br /&gt;
 attr FileLog_EnO_contact_0000FF53 logtype text&lt;br /&gt;
 attr FileLog_EnO_contact_0000FF53 room EnOcean&lt;br /&gt;
&lt;br /&gt;
==== Sonstige Sensoren ====&lt;br /&gt;
===== 4BS-Teach-In =====&lt;br /&gt;
FHEM in den learningMode versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
Dann das Anlerntelegramm laut Bedienungsanleitung am Sensor auslösen. Der Sensor wird dann automatisch in FHEM definiert und ist angelernt.&lt;br /&gt;
&lt;br /&gt;
===== Profilloses 4BS-Teach-In =====&lt;br /&gt;
Omnio Ratio eagle-PM101 Licht- und Anwesenheitssensor ([http://www.omnio.ch/content-en/downloads/Betriebsanleitungen/2902000_Betriebsanleitung_ea.pdf Betriebsanleitung])&lt;br /&gt;
&lt;br /&gt;
FHEM in den learningMode versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
&lt;br /&gt;
Das Anlerntelegramm vom Omnio Ratio eagle-PM101 verschicken (MÖGLICH??)&lt;br /&gt;
&lt;br /&gt;
Im angelegten FHEM-Device manuell das Attribut &amp;lt;code&amp;gt;subType&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;PM101&amp;lt;/code&amp;gt; setzen.&lt;br /&gt;
&lt;br /&gt;
=== Aktoren ===&lt;br /&gt;
Die Bedienungsanleitungen und die commandref liefern Informationen, welche Anlernvorgänge der Aktor unterstützt. Finden sich keine Hinweise auf besondere PC- oder Gateway-Anlernvorgänge, so kann FHEM als &amp;quot;Notlösung&amp;quot; immer als virtueller FHEM-Schalter (Tasteremulation) angelernt werden. Einige Aktoren unterstützen mehrere Arten von Anlernvorgängen. Hier ist der mit den meisten/besten Steuerungsmöglichkeiten zu bevorzugen.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Aktoren Beispiele:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== unidirektionale Aktoren ====&lt;br /&gt;
Bei unidirektionalen Aktoren steht eine SenderID des TCM-Gateways immer im &amp;lt;code&amp;gt;define&amp;lt;/code&amp;gt; des FHEM-Devices. Mit dieser SenderID steuert FHEM den Aktor. Diese SenderID muss dazu im Aktor eingelernt werden.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;MERKE:&#039;&#039;&#039; Eine SenderID des TCM-Gateways muss bei unidirektionalen Aktoren immer im &amp;lt;code&amp;gt;define&amp;lt;/code&amp;gt; des Devices stehen.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MERKE:&#039;&#039;&#039; Bei unidirektionalen Aktoren stimmt der Status des FHEM-Devices im Webfrontend nur mit dem realen Aktorzustand überein, wenn ausschließlich über FHEM gesteuert wird ([[#Physischer_EnOcean-_und_virtueller_FHEM-Schalter_zu_einem_Device_zusammenfassen|Abhilfe]])}}&lt;br /&gt;
===== Teach-In als Tasteremulation =====&lt;br /&gt;
PEHA 451 FU-EP o.T. (Schaltaktor unidirektional) &lt;br /&gt;
&lt;br /&gt;
Eine [[#Wie ermittelt man freie Sender-IDs des TCM-basierten Funkgateways?|freie SenderID des TCM-basierten Gateways heraussuchen]] und diese als EnOcean-Gerät in FHEM definieren, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 define eg_fl_Licht EnOcean AABBCC01&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man FHEM auch anweisen, für das EnOcean-Gerät selbst die nächste freie SenderID zu ermitteln. Die Definition ist dann folgendermaßen vorzunehmen:&lt;br /&gt;
 define eg_fl_Licht EnOcean getNextID&lt;br /&gt;
&lt;br /&gt;
Anschließend das Attribut &amp;lt;code&amp;gt;subType&amp;lt;/code&amp;gt; beim erzeugten Device auf &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt; setzen. Durch diese Definition wird ein 8-fach EnOcean-Taster erzeugt. Der Taster hat 4 Kanäle (A,B,C,D) zu je 2 Tasten (0,I). Alle diese 8 Taster senden mit der gleichen SenderID des TCM. Das entspricht einem Gerät mit 4 Schaltwippen die jeweils &amp;quot;oben&amp;quot; &#039;&#039;&#039;oder&#039;&#039;&#039; &amp;quot;unten&amp;quot; gedrückt sein können. FHEM emuliert mit diesem EnOcean-Gerät einen EnOcean-Schalter (darum auch &amp;quot;virtueller FHEM-Schalter&amp;quot;). Der Taster 0 des Kanal A wird &amp;quot;gedrückt&amp;quot; mit &amp;lt;code&amp;gt;set eg_fl_Licht A0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dieser virtuelle FHEM-Schalter wird in den Aktor wie ein physischer Schalter eingelernt. Den Aktor in den Anlernmodus bringen (Taste LRN/SET drücken) und den virtuellen FHEM-Schalter betätigen, indem im Befehl-Eingabefeld eingeben wird:&lt;br /&gt;
 set eg_fl_Licht B0&lt;br /&gt;
Wenn der Aktor den erfolgreichen Anlernvorgang signalisiert, den Anlernmodus am Aktor ausschalten.&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define eg_fl_Licht EnOcean AABBCC01        &amp;lt;--- AABBCC01 ist eine der 127 SenderID&#039;s des TCM, mit der FHEM sendet &lt;br /&gt;
 attr eg_fl_Licht room EG_Flur&lt;br /&gt;
 attr eg_fl_Licht eventMap BI:off B0:on&lt;br /&gt;
 attr eg_fl_Licht subType switch&lt;br /&gt;
 define FileLog_eg_fl_Licht FileLog ./log/ eg_fl_Licht-%Y.log eg_fl_Licht&lt;br /&gt;
 attr FileLog_eg_fl_Licht logtype text&lt;br /&gt;
&lt;br /&gt;
Der Status des Devices im Webfrontend stimmt bei unidirektionalen Aktoren nur, wenn die Steuerung des Aktors ausschließlich über FHEM erfolgt. Wird der Aktor sowohl über einen physischen Schalter als auch über FHEM gesteuert, so müssen die Status der beiden Devices für physischen und virtuellen Schalter im Webfrontend verknüpft werden, damit der richtige Status des Aktors angezeigt wird ([[#Physischer EnOcean- und virtueller FHEM-Schalter zu einem Device zusammenfassen |siehe unten]]).&lt;br /&gt;
&lt;br /&gt;
===== Teach-In als Gateway/PC-Steuerung =====&lt;br /&gt;
&amp;quot;ältere&amp;quot; Eltako FSB61 (Produktionszeitraum KW 43/10 - KW 40/11 [http://www.eltako.com/fileadmin/downloads/de/_bedienung/FSB61NP_30200420-3_dtsch.pdf Bedienungsanleitung])&lt;br /&gt;
&lt;br /&gt;
EEP: A5-3F-7F &lt;br /&gt;
&lt;br /&gt;
Eine [[#Wie ermittelt man freie Sender-IDs des TCM-basierten Funkgateways?|freie SenderID des TCM-basierten Gateways heraussuchen]] und diese als EnOcean-Gerät in FHEM definieren, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 define eg_fl_Rollo EnOcean AABBCC02&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man FHEM auch anweisen, für das EnOcean-Gerät selbst die nächste freie SenderID zu ermitteln. Die Definiton ist dann folgendermaßen vorzunehmen:&lt;br /&gt;
 define eg_fl_Rollo EnOcean getNextID&lt;br /&gt;
&lt;br /&gt;
Beim erzeugten FHEM-Device muss das Attribut &amp;lt;code&amp;gt;subType&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;manufProfile&amp;lt;/code&amp;gt; gesetzt werden. Die Attribute &amp;lt;code&amp;gt;manufID&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;model&amp;lt;/code&amp;gt; sind auf die unten in der Konfiguration gezeigten Werte zu setzen.&lt;br /&gt;
&lt;br /&gt;
Dieser virtuelle FHEM-Schalter wird in den Aktor als PC/Szenentaster angelernt indem im Befehl-Eingabefeld eingeben wird:&lt;br /&gt;
 set eg_fl_Rollo teach&lt;br /&gt;
Wenn der Aktor den erfolgreichen Anlernvorgang signalisiert, den Anlernmodus am Aktor ausschalten.&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define eg_fl_Rollo EnOcean AABBCC02        &amp;lt;--- AABBCC02 ist eine der 127 SenderID&#039;s des TCM, mit der FHEM sendet &lt;br /&gt;
 attr eg_fl_Rollo room EG_Flur&lt;br /&gt;
 attr eg_fl_Rollo subType manufProfile&lt;br /&gt;
 attr eg_fl_Rollo manufID 00D&lt;br /&gt;
 attr eg_fl_Rollo model Eltako_FSB61&lt;br /&gt;
&lt;br /&gt;
Der Status des Devices im Webfrontend stimmt bei unidirektionalen Aktoren nur, wenn die Steuerung des Aktors ausschließlich über FHEM erfolgt. Wird der Aktor sowohl über einen physischen Schalter als auch über FHEM gesteuert, so müssen die Status der beiden Devices für physischen und virtuellen Schalter im Webfrontend verknüpft werden, damit der richtige Status des Aktors angezeigt wird ([[#Physischer EnOcean- und virtueller FHEM-Schalter zu einem Device zusammenfassen |siehe unten]]).&lt;br /&gt;
&lt;br /&gt;
==== bidirektionale Aktoren ====&lt;br /&gt;
Bei bidirektionalen Aktoren steht die SenderID des Aktors im &amp;lt;code&amp;gt;define&amp;lt;/code&amp;gt; des FHEM-Devices. FHEM ordnet empfangene Bestätigungstelegramme anhand der Aktor-SenderID dem passenden FHEM-Device zu. Eine SenderID des TCM-Gateways mit der FHEM den Aktor steuert steht bei bidirektionalen Aktoren immer im Attribut &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt;. Diese SenderID muss dazu im Aktor eingelernt werden.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;MERKE:&#039;&#039;&#039; Eine SenderID des TCM-Gateways muss bei bidirektionalen Aktoren immer im Attribut &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt; des Devices stehen.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MERKE:&#039;&#039;&#039; Bei bidirektionalen Aktoren stimmt nach korrekter Einbindung in FHEM der Status des FHEM-Devices im Webfrontend immer mit dem realen Aktorzustand überein.}}&lt;br /&gt;
===== Teach-In als Tasteremulation =====&lt;br /&gt;
[[EnOcean-FSR61VA-10A-Stromsto%C3%9F-Schaltrelais_mit_Strommessung|10A-Stromstoß-Schaltrelais mit Strommessung FSR61VA]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Schaltrelais (bidirektional)&lt;br /&gt;
&lt;br /&gt;
FHEM in den learningMode versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
&lt;br /&gt;
Die [[#SenderID|SenderID]] des Aktors heraussuchen und diese als EnOcean-Gerät in FHEM definieren, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 define EnO_switch_FSR61VA EnOcean FFAABBC0&lt;br /&gt;
&lt;br /&gt;
Eine freie SenderID des TCM-basierten Gateways heraussuchen und diese im Attribut &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt; des angelegten Devices hinterlegen.&lt;br /&gt;
&lt;br /&gt;
Anschließend die Attribute &amp;lt;code&amp;gt;subType&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;switchMode&amp;lt;/code&amp;gt; wie im unten wiedergegebenen exemplarischen Auszug aus der Konfiguration anlegen.&lt;br /&gt;
&lt;br /&gt;
Damit der FSR61VA auf FHEM reagieren kann (Ein/Ausschalten), wird das FHEM-Device EnO_switch_FSR61VA in den FSR61VA als Richtungstaster (bzw. Taster ein/aus) eingelernt:&lt;br /&gt;
# Unterer Drehschalter je nach Produktionswoche des FSR61VA (aufgedruckt):&lt;br /&gt;
## bis KW 2/13: &amp;quot;ca. Mitte&amp;quot; (Taster Ein/Aus einlernen)&lt;br /&gt;
## ab KW 3/13 bis KW 10/14: &amp;quot;60&amp;quot; (Taster Ein/Aus einlernen)&lt;br /&gt;
## ab KW 11/14: &amp;quot;40&amp;quot; (Richtungstaster einlernen)&lt;br /&gt;
# Oberer Funktions-Drehschalter: &amp;quot;LRN&amp;quot; (LED blinkt)&lt;br /&gt;
# FHEM Eingabefeld: „set EnO_switch_FSR61VA B0“, &amp;amp;lt;Enter&amp;amp;gt; (LED erlischt)&lt;br /&gt;
# Oberer Funktions-Drehschalter: Eine der ESV-Einstellungen&lt;br /&gt;
# Unterer Funktions-Drehschalter: auf &amp;quot;oo&amp;quot; einstellen (unendlich)&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus der Konfiguration&lt;br /&gt;
 define EnO_switch_FSR61VA EnOcean FFAABBC0         --&amp;gt; EnO_switch_FSR61VA ist ein frei gewählter eindeutiger Name&lt;br /&gt;
                                                        für das FHEM-Device.&lt;br /&gt;
                                                        FFAABBC0 ist die erste am Boden des FSR61VA aufgedruckte SenderID. &lt;br /&gt;
                                                        Damit sendet das FSR61VA den Schaltzustand (B0/BI --&amp;gt; ein/aus)&lt;br /&gt;
 attr EnO_switch_FSR61VA IODev TCM_ESP3_0             --&amp;gt; TCM_ESP3_0 ist der Name des Devices, mit dem FHEM EnOcean-Funk &lt;br /&gt;
                                                        sendet und empfängt.&lt;br /&gt;
 attr EnO_switch_FSR61VA subDef FF998877            --&amp;gt; FF998877 ist eine der 127 SendeIDs des TCM_ESP3_0, damit sendet FHEM an den FSR61VA&lt;br /&gt;
 attr EnO_switch_FSR61VA subType switch             --&amp;gt; es handelt sich um einen EnOcean Schalter (der kann A0, AI, B0, BI,...)&lt;br /&gt;
 attr EnO_switch_FSR61VA switchMode pushbutton      --&amp;gt; als &amp;quot;pushbutton&amp;quot; sendet FHEM bei einem &lt;br /&gt;
                                                        &amp;quot;set EnO_switch_FSR61VA B0&amp;quot; nach dem Kommando (B0) noch ein &amp;quot;release&amp;quot;.&lt;br /&gt;
                                                        Das brauchts, wenn der FSR61VA als ES oder ESV betrieben wird.&lt;br /&gt;
                                                        Sonst wird jedes &amp;quot;set&amp;quot;-Kommando vom FSR61VA als  &lt;br /&gt;
                                                        &amp;quot;länger als eine Sekunde gedrückt&amp;quot; interpretiert -&amp;gt; &amp;quot;Tasterdauerlicht&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== Unidirektionales 4BS-Teach-In =====&lt;br /&gt;
[[EnOcean-FSR14-4x-RS485-Bus-Schaltaktor-4-Kanal-Stromsto%C3%9F-Schaltrelais|RS485-Bus-Aktor 4-Kanal-Stromstoß-Schaltrelais FSR14]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Schaltrelais (bidirektional)&lt;br /&gt;
&lt;br /&gt;
FHEM in den learningMode versetzen, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 set TCM_ESP3_0 teach 600&lt;br /&gt;
&lt;br /&gt;
Die [[#SenderID|SenderID]] des Aktors heraussuchen und diese als EnOcean-Gerät in FHEM definieren, dazu im Befehl-Eingabefeld eingeben:&lt;br /&gt;
 define EnOcean_switch_FEFF4AF8 EnOcean FEFF4AF8&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNText=Ab {{Link2Forum|Topic=31450|Message=239937|LinkText=Updatestand 04.01.2015}} ist eine manuelle Vergabe einer freien SenderID per &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt; nicht mehr notwendig. Beim ersten Senden des &amp;quot;teach&amp;quot;-Befehls an den Aktor wird eine freie SenderID vergeben, sofern keine gültige SenderID eingetragen war.}}&lt;br /&gt;
Eine freie SenderID des TCM-basierten Gateways heraussuchen und diese im Attribut &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt; des angelegten Devices hinterlegen.&lt;br /&gt;
&lt;br /&gt;
Anschließend die Attribute &amp;lt;code&amp;gt;subType&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;gwCmd&amp;lt;/code&amp;gt; wie im unten wiedergegebenen exemplarischen Auszug aus der Konfiguration anlegen.&lt;br /&gt;
&lt;br /&gt;
Jetzt den Aktor in den Lernmodus versetzen und dann von FHEM das Lerntelegramm verschicken:&lt;br /&gt;
 set EnOcean_switch_FEFF4AF8 teach&lt;br /&gt;
Lernmodus am Aktor ausschalten&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define EnOcean_switch_FEFF4AF8 EnOcean FEFF4AF8   &amp;lt;--- FEFF4AF8 ist hier die SenderID eines FSR14-Kanals (Aktor)&lt;br /&gt;
 attr EnOcean_switch_FEFF4AF8 subDef AABBCC03      &amp;lt;--- AABBCC03 ist eine der 127 SenderID&#039;s des TCM, mit der FHEM sendet [[#Taster - physisch und in FHEM|(siehe unten)]]&lt;br /&gt;
 attr EnOcean_switch_FEFF4AF8 room EnOcean        # Der Raum kann angepasst werden&lt;br /&gt;
 attr EnOcean_switch_FEFF4AF8 gwCmd switching     # Wichtig für FSR14&lt;br /&gt;
 attr EnOcean_switch_FEFF4AF8 subType gateway     # Wichtig für FSR14&lt;br /&gt;
 define FileLog_EnOcean_switch_FEFF4AF8 FileLog ./log/EnOcean_switch_FEFF4AF8-%Y.log EnOcean_switch_FEFF4AF8&lt;br /&gt;
 attr FileLog_EnOcean_switch_FEFF4AF8 logtype text&lt;br /&gt;
&lt;br /&gt;
===== Bidirektionales 4BS-Teach-In =====&lt;br /&gt;
[[EnOcean-MD15-Kleinstellantrieb|Kleinstellantrieb MD15-FTL-xx]]&amp;lt;br /&amp;gt; &lt;br /&gt;
Funkgesteuerter, batteriegespeister Kleinstellantrieb für Raumtemperaturregelung (bidirektional)&lt;br /&gt;
&lt;br /&gt;
EEP: A5-20-01&lt;br /&gt;
&lt;br /&gt;
4BS-Bidirektionales-Teach-In:&lt;br /&gt;
&lt;br /&gt;
#Aktor möglichst komplett zurücksetzen, sofern nicht mehr im Original-Auslieferzustand&lt;br /&gt;
#Falls vorhanden, alle bisherigen FHEM-Devices des Aktors löschen und nach Speichern der geänderten Konfiguration FHEM neu starten&lt;br /&gt;
#FHEM in Lernmodus schalten: &amp;lt;code&amp;gt;set &amp;lt;nowiki&amp;gt;&amp;lt;IODev&amp;gt; teach &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#Taster am MD15-FTL-xx so lange drücken, bis ein Signalton ertönt. MD15 bestätigt erfolgreichen Anlernvorgang durch das Aufleuchten der Status-LED und 2 Signaltöne&lt;br /&gt;
#Aktor wird in FHEM automatisch mit allen notwendigen Parametern angelegt.&lt;br /&gt;
&lt;br /&gt;
* exemplarischer Auszug aus Konfiguration&lt;br /&gt;
 define EnO_sensor_01000EFA EnOcean 01000EFA&lt;br /&gt;
 attr EnO_sensor_01000EFA IODev TCM_ESP3_0&lt;br /&gt;
 attr EnO_sensor_01000EFA comMode biDir&lt;br /&gt;
 attr EnO_sensor_01000EFA destinationID unicast&lt;br /&gt;
 attr EnO_sensor_01000EFA manufID 00A&lt;br /&gt;
 attr EnO_sensor_01000EFA room EnOcean&lt;br /&gt;
 attr EnO_sensor_01000EFA subDef AABBCC04&lt;br /&gt;
 attr EnO_sensor_01000EFA subType hvac.01&lt;br /&gt;
 define FileLog_EnO_sensor_01000EFA FileLog ./log/EnO_sensor_01000EFA-%Y.log EnO_sensor_01000EFA&lt;br /&gt;
 attr FileLog_EnO_sensor_01000EFA logtype text&lt;br /&gt;
 attr FileLog_EnO_sensor_01000EFA room EnOcean&lt;br /&gt;
&lt;br /&gt;
===== UTE-Teach-In =====&lt;br /&gt;
[[EnOcean-D-452-FU-EBIM-Aktor-2fach|Einbau-Aktor 452 FU-EBIM o.T.]]&amp;lt;br /&amp;gt;&lt;br /&gt;
2-Kanal-Multifunktionsaktor (bidirektional) mit Energiemessfunktion&lt;br /&gt;
&lt;br /&gt;
EEP: D2-01-08&lt;br /&gt;
&lt;br /&gt;
UTE-Teach-In:&lt;br /&gt;
&lt;br /&gt;
#Aktor möglichst komplett zurücksetzen, sofern nicht mehr im Original-Auslieferzustand&lt;br /&gt;
#Falls vorhanden, alle bisherigen FHEM Devices des Aktors löschen und nach Speichern der geänderten Konfiguration FHEM neu starten&lt;br /&gt;
#FHEM in Lernmodus schalten: &amp;lt;code&amp;gt;set &amp;lt;nowiki&amp;gt;&amp;lt;IODev&amp;gt; teach &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#Aktor-Kanal 0 oder 1 in Lernmodus versetzen (immer nur einen Kanal)&lt;br /&gt;
#Aktor-Kanal 0 oder 1 wird in FHEM automatisch mit allen notwendigen Parametern angelegt.&lt;br /&gt;
#Das Anlernen für den zweiten Kanal wie nach 3. bis 5. beschrieben wiederholen&lt;br /&gt;
&lt;br /&gt;
Die Kanäle können jetzt geschaltet werden mit:&lt;br /&gt;
&lt;br /&gt;
*FHEM Device für Kanal 0: set &amp;lt;Name_0&amp;gt; on|off 0&lt;br /&gt;
*FHEM Device für Kanal 1: set &amp;lt;Name_1&amp;gt; on|off 1&lt;br /&gt;
&lt;br /&gt;
Falls gewünscht, kann der Kanal mit dem Attribut attr &amp;lt;Name_0|1&amp;gt; defaultChannel 0|1 voreingestellt werden. Dann entfällt die Angabe des Kanals im set-Befehl.&lt;br /&gt;
&lt;br /&gt;
Die Statusrückmeldungen mit den aktuellen Werten des Energieverbrauches und der Leistung werden vom Aktor automatisch gesendet. Sie werden sowohl als Telegramme nach EEP D2-01-08 als auch nach EEP A5-11-04 mit unterschiedlichen SenderIDs (vgl. Etikett in Original-Verpackung) gesendet.&lt;br /&gt;
Die Rückmeldungen nach EEP D2-01-08 werden von FHEM im Aktor-Device subType actuator.01 berücksichtigt. Die Rückmeldungen nach EEP A5-11-04 werden von FHEM in einem senor-device subType lightCtrlState.02 berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Besonderheiten für die Anzeige im WebFrontend ==&lt;br /&gt;
&lt;br /&gt;
=== Aufteilung der Kanäle in unabhängige Devices ===&lt;br /&gt;
===== Mehrkanalige bidirektionale Aktoren =====&lt;br /&gt;
Mehrkanalige bidirektionale Aktoren (bspw. Eltako FMS61NP) haben teilweise nur eine SenderID und werden daher in FHEM über ein FHEM-Device im Webfrontend abgebildet und gesteuert. Um im WebFrontend für jeden Kanal ein separates FHEM-Device zur Anzeige und Steuerung zu erhalten, kann [[ReadingsProxy|readingsProxy]] genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Zunächst wird der Aktor standardmäßig in FHEM definiert/angelernt und die Funktion geprüft (hier am Beispiel eines Aktor mit dem Namen &amp;quot;Aktor&amp;quot;). Anschließend wird pro Kanal ein readingProxy-Device mit Bezug auf das Reading channelA, channelB, ... angelegt:&lt;br /&gt;
&lt;br /&gt;
 #Kanal A zur Steuerung mit on und off&lt;br /&gt;
 define AktorKanalA readingsProxy Aktor:channelA&lt;br /&gt;
 attr AktorKanalA setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;A0&amp;quot;:&amp;quot;AI&amp;quot;;;} &lt;br /&gt;
 attr AktorKanalA setList off on &lt;br /&gt;
 attr AktorKanalA valueFn {($VALUE eq &amp;quot;A0&amp;quot;)?&amp;quot;on&amp;quot;:&amp;quot;off&amp;quot;}&lt;br /&gt;
 attr AktorKanalA webCmd off:on &lt;br /&gt;
&lt;br /&gt;
 #Kanal B zur Steuerung mit on und off&lt;br /&gt;
 define AktorKanalB readingsProxy Aktor:channelB&lt;br /&gt;
 attr AktorKanalB setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;B0&amp;quot;:&amp;quot;BI&amp;quot;;;} &lt;br /&gt;
 attr AktorKanalB setList off on &lt;br /&gt;
 attr AktorKanalB valueFn {($VALUE eq &amp;quot;B0&amp;quot;)?&amp;quot;on&amp;quot;:&amp;quot;off&amp;quot;}&lt;br /&gt;
 attr AktorKanalB webCmd off:on &lt;br /&gt;
&lt;br /&gt;
Jeder Kanal wird jetzt separat im WebFrontend durch das readingsProxy-Device abgebildet (Statusanzeige) und kann mit diesem gesteuert werden.&lt;br /&gt;
&lt;br /&gt;
Ein ausführlicheres readingsProxy-Beispiel für einen mehrkanaligen Jalousieaktor mit Visualisierung über Slider enthält dieser {{Link2Forum|Topic=59418|Message=512758}}.&lt;br /&gt;
[[Datei:EnO_Jalousie_OmnioAktor_REGJ12-04.png|400px|thumb|center|readingsProxy-Beispiel für einen mehrkanaligen Jalousieaktor mit Visualisierung über Slider]]&lt;br /&gt;
&lt;br /&gt;
===== Virtuelle Schalter für unidirektionale Aktoren =====&lt;br /&gt;
Um die 4 Kanäle jeweils einzeln als Schalter (einzelne Schaltwippe) im WebFrontend abzubilden kann [[ReadingsProxy|readingsProxy]] genutzt werden. So werden vier Schalter (im unten gezeigten Beispiel: fhemSchalterKanal[A-D]) mit nur einer der 127 eigenen SenderIDs zur Verfügung gestellt.&lt;br /&gt;
{{Randnotiz|RNTyp=i|RNText=Ab [[version|Modulversion]] 11866/31.7.2016 besitzen auch virtuelle Schalter die Readings channel[A-D]. Ein readingsProxy sollte seitdem besser von diesen Readings, wie im [[#Mehrkanalige_bidirektionale_Aktoren|vorherigen Abschnitt]] dargestellt, abgeleitet werden. }}&lt;br /&gt;
Anders als bei den bekannten bidirektionalen Aktoren und den FHEM-Devices der physischen Schalter, existiert bei den virtuellen Schaltern das Reading channelA, channelB, ... nicht. Daher muss das readingsProxy für den virtuellen Schalter vom Reading state abgeleitet werden:&lt;br /&gt;
&lt;br /&gt;
 #Kanal A zur Steuerung mit on und off&lt;br /&gt;
 define fhemSchalterKanalA readingsProxy fhemSchalter:state&lt;br /&gt;
 attr fhemSchalterKanalA setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;A0&amp;quot;:&amp;quot;AI&amp;quot;;;}&lt;br /&gt;
 attr fhemSchalterKanalA setList on off&lt;br /&gt;
 attr fhemSchalterKanalA valueFn {$LASTCMD}&lt;br /&gt;
 attr fhemSchalterKanalA webCmd on:off&lt;br /&gt;
&lt;br /&gt;
 #Kanal B zur Steuerung mit on und off&lt;br /&gt;
 define fhemSchalterKanalB readingsProxy fhemSchalter:state&lt;br /&gt;
 attr fhemSchalterKanalB setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;B0&amp;quot;:&amp;quot;BI&amp;quot;;;}&lt;br /&gt;
 attr fhemSchalterKanalB setList on off&lt;br /&gt;
 attr fhemSchalterKanalB valueFn {$LASTCMD}&lt;br /&gt;
 attr fhemSchalterKanalB webCmd on:off&lt;br /&gt;
&lt;br /&gt;
 #Kanal C zur Steuerung mit on und off&lt;br /&gt;
 define fhemSchalterKanalC readingsProxy fhemSchalter:state&lt;br /&gt;
 attr fhemSchalterKanalC setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;C0&amp;quot;:&amp;quot;CI&amp;quot;;;}&lt;br /&gt;
 attr fhemSchalterKanalC setList on off&lt;br /&gt;
 attr fhemSchalterKanalC valueFn {$LASTCMD}&lt;br /&gt;
 attr fhemSchalterKanalC webCmd on:off&lt;br /&gt;
&lt;br /&gt;
 #Kanal D zur Steuerung mit on und off&lt;br /&gt;
 define fhemSchalterKanalD readingsProxy fhemSchalter:state&lt;br /&gt;
 attr fhemSchalteKanalD setFn {($CMD eq &amp;quot;on&amp;quot;)?&amp;quot;D0&amp;quot;:&amp;quot;DI&amp;quot;;;}&lt;br /&gt;
 attr fhemSchalterKanalD setList on off&lt;br /&gt;
 attr fhemSchalterKanalD valueFn {$LASTCMD}&lt;br /&gt;
 attr fhemSchalterKanalD webCmd on:off&lt;br /&gt;
&lt;br /&gt;
Werden diese FHEM-Taster (und etwaige physische Taster) in EnOcean-Aktoren eingelernt (siehe Anleitung des Aktors), so können nun die EnOcean-Aktoren mit physischen Tastern (sendet mit der 8-stelligen SenderID des Tasters) und mit virtuellen FHEM-Readingsproxy-Schaltern (senden mit einer der 127 eigenen SenderIDs) bedient werden.&lt;br /&gt;
&lt;br /&gt;
=== Physischer EnOcean- und virtueller FHEM-Schalter zu einem Device zusammenfassen ===&lt;br /&gt;
Um im Webfrontend die Aktionen beider Schalter in einem Element zusammengefasst und damit den realen Zustand bei &#039;&#039;&#039;unidirektionalen&#039;&#039;&#039; Aktoren zu sehen, kann man eine &amp;lt;code&amp;gt;structure&amp;lt;/code&amp;gt; nutzen:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
(Bei bidirektionalen Aktoren ist dies aufgrund der Statusrückmeldungen nicht notwendig. Achtung: Teilweise müssen Statusrückmeldungen/Bestätigungstelegramme erst am Aktor eingeschaltet werden)&lt;br /&gt;
&lt;br /&gt;
 #Definition des virtuellen FHEM-Schalters&lt;br /&gt;
 define fhemSchalter EnOcean AABBCC01              &amp;lt;--- AABBCC01 ist eine der 127 SenderID&#039;s des TCM, mit der FHEM sendet&lt;br /&gt;
 attr fhemSchalter eventMap BI:off B0:on&lt;br /&gt;
 attr fhemSchalter icon icoBELEUCHTUNG.png&lt;br /&gt;
 attr fhemSchalter subType switch&lt;br /&gt;
 &lt;br /&gt;
 #Definition des physischen Tasters (z.B. durch autocreate erzeugt)&lt;br /&gt;
 define EnO_switch_0021E4BB EnOcean 0021E4BB      &amp;lt;--- 0021E4BB ist die (aufgedruckte) 8-stellige SenderID des physischen Tasters&lt;br /&gt;
 attr EnO_switch_0021E4BB eventMap BI:off B0:on&lt;br /&gt;
 attr EnO_switch_0021E4BB room EnOcean&lt;br /&gt;
 attr EnO_switch_0021E4BB subType switch&lt;br /&gt;
 attr EnO_switch_0021E4BB dummy&lt;br /&gt;
 &lt;br /&gt;
 #fhemSchalter ist der Name des virtuellen FHEM-Schalters&lt;br /&gt;
 #EnO_switch_0021E4BB ist der (z.B. per autocreate erstellte) FHEM-Taster&lt;br /&gt;
 define Gruppe_test_notify structure room fhemSchalter EnO_switch_0021E4BB&lt;br /&gt;
 attr Gruppe_test_notify eventMap BI:off B0:on&lt;br /&gt;
 attr Gruppe_test_notify room Gaestezimmer&lt;br /&gt;
 attr Gruppe_test_notify clientstate_behavior last&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man für diesen Zweck auch ein &amp;lt;code&amp;gt;notify&amp;lt;/code&amp;gt; in Verbindung mit &amp;lt;code&amp;gt; setreading &amp;lt;device&amp;gt; state &amp;lt;state&amp;gt;&amp;lt;/code&amp;gt; nutzen:&lt;br /&gt;
&lt;br /&gt;
 define nAbgleich notify EnO_switch_0021E4BB:(on|off) setreading fhemSchalter state $EVENT&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== Warum schaltet mein Aktor nicht, wenn ich im WebFrontend auf das Icon für den physischen Taster/Schalter klicke bzw. mit &amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; &amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; ansteuere? ===&lt;br /&gt;
:Aus Sicherheitsgründen können bei EnOcean keine physischen Geräte(-adressen) durch FHEM bzw. das TCM-Gateway emuliert werden. FHEM muss zur Steuerung separat an den Aktor angelernt werden. Dazu eine der TCM-Adressen an den Aktor anlernen.&lt;br /&gt;
&lt;br /&gt;
=== Welche Infos sollten Anfragen im EnOcean-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 devices (Ausgabe von &amp;lt;code&amp;gt;list &amp;lt;device&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* passender Ausschnitt aus Logfile (siehe Link im FHEM-Menü links) generiert mit gesetztem Attribut verbose 5 am TCM-Device (&amp;lt;code&amp;gt;attr &amp;lt;IODev&amp;gt; verbose 5&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Wie kann ich zur Fortentwicklung der EnOcean-Module beitragen? ===&lt;br /&gt;
* Erfolgreichen Einsatz von neuen/bisher nicht gemeldeten EnOcean-Geräten im Forum mitteilen&lt;br /&gt;
* In der {{Link2CmdRef}} als [untested] markierte EEPs bei erfolgreichen Tests im Forum als getestet melden&lt;br /&gt;
* Codeschnipsel und Ideen im Forum posten&lt;br /&gt;
* Fehler und Probleme im Forum melden&lt;br /&gt;
* Wiki: Neue Geräte ins Wiki aufnehmen; Codeschnipsel und Beispiele einpflegen&lt;br /&gt;
&lt;br /&gt;
=== Wie findet man die Sender-ID eines bidirektionalen Aktors? ===&lt;br /&gt;
* Aufkleber auf dem Aktor oder beigelegte Information in der Aktorverpackung&lt;br /&gt;
* Ermittlung mit FHEM:&lt;br /&gt;
# Bestätigungstelegramme am Aktor aktivieren&lt;br /&gt;
# Funktaster am Aktor anlernen oder alternativ Taster am örtlichen Steuereingang anschließen&lt;br /&gt;
# FHEM in den learningMode versetzen: &amp;lt;code&amp;gt;set &amp;lt;nowiki&amp;gt;&amp;lt;IODev&amp;gt; teach &amp;lt;time/s&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# [[Event monitor|Event Monitor]] aufrufen&lt;br /&gt;
# Aktor mit Taster schalten&lt;br /&gt;
# Im Event Monitor wird nun die Sender-ID des Aktors durch das Bestätigungstelegramm angezeigt. Sofern ein Funktaster zur Ansteuerung genutzt wird, zeigt der Event Monitor auch dessen Sender-ID.&lt;br /&gt;
# FHEM hat mittels autocreate für das Bestätigungstelegramm ein Device angelegt, sofern das vorher noch nicht existierte. Dieses Device kann man nach eventueller Änderung des subType und dem Setzen anderer gegebenenfalls notwendiger Attribute an den Aktor anlernen.&lt;br /&gt;
&lt;br /&gt;
=== Wie ermittelt man freie Sender-IDs des TCM-basierten Funkgateways? ===&lt;br /&gt;
FHEM ermittelt eine freie SenderID automatisch, wenn die Definition folgermaßen erfolgt:&lt;br /&gt;
* unidirektionaler Aktor:&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define &amp;lt;name&amp;gt; EnOcean getNextID &amp;lt;EEP&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Im definierten Device ist &amp;quot;getNextID&amp;quot; durch eine freie SenderID des TCMs ersetzt.&lt;br /&gt;
* bidirektionaler Aktor:&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define &amp;lt;name&amp;gt; EnOcean &amp;lt;SenderId des Aktors&amp;gt; &amp;lt;EEP&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Dem definierten Device wird das Attribut &amp;lt;code&amp;gt;subDef&amp;lt;/code&amp;gt; mit dem Wert &amp;lt;code&amp;gt;getNextId&amp;lt;/code&amp;gt; zugewiesen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;attr &amp;lt;name&amp;gt; subDef getNextID&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &amp;quot;getNextID&amp;quot; ersetzt FHEM automatisch durch eine freie SenderID des TCMs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manuelle Ermittlung der freien SenderIDs, wenn die obige automatische mit FHEM fehlschlägt oder eine manuelle Vergabe gewünscht wird:&lt;br /&gt;
* Aus der oben [[EnOcean_Starter_Guide#Vorbereitung|gezeigten Tabelle]]&lt;br /&gt;
* Anzeige der nächsten freien Sender-ID: &amp;lt;pre&amp;gt;{EnOcean_CheckSenderID(&amp;quot;getNextID&amp;quot;,&amp;quot;&amp;lt;IODev&amp;gt;&amp;quot;,&amp;quot;0000000&amp;quot;)}; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auflistung der bereits vergebenen Sender-IDs: &amp;lt;pre&amp;gt;{EnOcean_CheckSenderID(&amp;quot;getUsedID&amp;quot;,&amp;quot;&amp;lt;IODev&amp;gt;&amp;quot;,&amp;quot;0000000&amp;quot;)}; &amp;lt;/pre&amp;gt;&lt;br /&gt;
* Auflistung der noch nicht vergebenen Sender-IDs: &amp;lt;pre&amp;gt;{EnOcean_CheckSenderID(&amp;quot;getFreeID&amp;quot;,&amp;quot;&amp;lt;IODev&amp;gt;&amp;quot;,&amp;quot;0000000&amp;quot;)}; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Den jeweiligen Befehl in das &amp;quot;[[Konfiguration#Befehl-Eingabefeld|Befehl-Eingabefeld]]&amp;quot; kopieren, &amp;lt;IODev&amp;gt; durch den Namen des TCM-Devices ersetzen und dann Auslösen.&lt;br /&gt;
&lt;br /&gt;
=== Schaltet immer AI ein und A0 aus, BI ein und B0 aus usw. ? ===&lt;br /&gt;
Nein. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Verhalten der Aktoren ist abhängig vom Hersteller und/oder vom Anlernvorgang. Laut EEP schaltet xI ein und x0 aus. Dies wird von den meisten Herstellern entsprechend umgesetzt. Eltako definiert dies genau andersherum: xI schaltet aus und x0 ein. Analog sind auch die jeweiligen Bestätigungstelegramme der Aktoren herstellerspezifisch festgelegt. Zudem kann bei einigen Aktoren auch je nach Anlernvorgang ein anderes Verhalten erreicht werden; Details enthalten die Bedienungsanleitungen.&lt;br /&gt;
&lt;br /&gt;
=== Wie kann man einen Plot für ein EnOcean-Device anlegen? ===&lt;br /&gt;
Bei der manuellen Anlage von Devices über das EEP und bei der automatischen Anlage durch die autocreate-Funktion beim teach-in werden neben dem Device selbst auch das FileLog-Device und -soweit als Vorlage von FHEM mitgeliefert- die SVG-Devices mit .gplot-Datei für die Plots automatisch erzeugt. Manuell sollten die Devices deshalb möglichst über die Vorgabe des EEP erzeugt werden:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define &amp;lt;name&amp;gt; EnOcean &amp;lt;ID&amp;gt; &amp;lt;EEP&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; oder&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define &amp;lt;name&amp;gt; EnOcean &amp;lt;EEP&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define test EnOcean A5-04-02&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei bestehenden Devices können die FileLog- und SVG-Devices nachträglich erzeugt werden. Hierzu wird im DEF das entsprechende EEP statt der ID eingetragen und {{Taste|modify &amp;lt;name&amp;gt;}} bestätigt. Nach dem automatischen Anlegen der zugehörigen Devices erscheint dort wieder die ID.&lt;br /&gt;
&lt;br /&gt;
Sollte für das EEP keine .gplot-Vorlage für einen Plot bzw. das SVG-Device existieren, kann ein Plot mit dem [[Plots erzeugen|.gplot-Editor]] erstellt werden.&lt;br /&gt;
&lt;br /&gt;
=== Was muss man beim Einsatz der &amp;quot;set extensions&amp;quot; (on-for-timer, on-till, ...) beachten? ===&lt;br /&gt;
Die {{Link2CmdRef|Anker=setExtensions|Label=set extensions}} werden von EnOcean grundsätzlich unterstützt, wenn das Device als &lt;br /&gt;
# set-Befehle &amp;quot;on&amp;quot; und &amp;quot;off&amp;quot; automatisch anbietet &#039;&#039;&#039;oder&#039;&#039;&#039; &lt;br /&gt;
# dies manuell durch das Mapping (bspw. &amp;lt;code&amp;gt;eventMap BI:on B0:off&amp;lt;/code&amp;gt;) erreicht wird.&lt;br /&gt;
&lt;br /&gt;
Im 1. Fall sind alle &amp;quot;set extensions&amp;quot;-Befehle automatisch funktionsfähig.&lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNTyp=Info|RNText=Die Ergänzung des Attributs eventMap im 2. Fall ist nur bis FHEM-Updatestand 09.01.2019 vorzunehmen. Ab Updatestand 10.01.2019 müssen/dürfen durch das Mapping (bspw. &amp;lt;code&amp;gt;eventMap BI:on B0:off&amp;lt;/code&amp;gt;) nur die Befehle &amp;quot;on&amp;quot; und &amp;quot;off&amp;quot; festgelegt werden.}}&lt;br /&gt;
Im 2. Fall ist die eventMap jedoch zusätzlich - je nach gewünschten &amp;quot;set extensions&amp;quot;-Befehl - zwingend weiter zu ergänzen:&lt;br /&gt;
* on-tor-timer:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap on-for-timer:on-for-timer BI:on B0:off&amp;lt;/code&amp;gt;  ({{Link2Forum|Topic=28855|Message=214960}})&lt;br /&gt;
* off-tor-timer:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap off-for-timer:off-for-timer BI:on B0:off&amp;lt;/code&amp;gt;&lt;br /&gt;
* on-till:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap on-till:on-till BI:on B0:off&amp;lt;/code&amp;gt;  ({{Link2Forum|Topic=29993|Message=226886}})&lt;br /&gt;
* off-till:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap off-till:off-till BI:on B0:off&amp;lt;/code&amp;gt;&lt;br /&gt;
* blink:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap on-for-timer:on-for-timer BI:on B0:off&amp;lt;/code&amp;gt;  ({{Link2Forum|Topic=31358|Message=239151}})&lt;br /&gt;
* intervals:  &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; eventMap on-till:on-till BI:on B0:off&amp;lt;/code&amp;gt;&lt;br /&gt;
Sollen mehrere &amp;quot;set extensions&amp;quot;-Befehle verwendet werden, so sind die obigen Codes entsprechend zu kombinieren.&lt;br /&gt;
&lt;br /&gt;
=== Für mein EnOcean-Gerät gibt es keine spezielle Wiki-Seite; wo finde ich dann Informationen? ===&lt;br /&gt;
* In der {{Link2CmdRef}} nach dem Gerät suchen&lt;br /&gt;
* In der commandref nach dem verwendeten EEP suchen&lt;br /&gt;
* Im Wiki nach einem Gerät mit einer ähnlichen EEP/subType suchen&lt;br /&gt;
* Im EnOcean-Forum nach Threads zum Gerät/EEP suchen&lt;br /&gt;
&lt;br /&gt;
=== Warum funktioniert mein Eltako-Gerät nicht wie in commandref/Wiki beschrieben? ===&lt;br /&gt;
* Eltako-Geräte haben bei gleicher Produktbezeichnung teilweise je nach Produktionswoche unterschiedliche Funktionen/Eigenschaften&lt;br /&gt;
* die Produktionswoche ist auf dem Gerät angegeben (z.B. 11/14 -&amp;gt; Elfte Woche im Jahr 2014)&lt;br /&gt;
* in den nach Produktionswoche untergliederten [http://www.eltako.com/de/bedienungsanleitungen/gebaeudefunk-powerline.html Bedienungsanleitungen] stehen genauere Angaben&lt;br /&gt;
* Angaben in commandref/Wiki analog für die Angaben laut Bedienungsanleitung für den speziellen Produktionszeitraum umsetzen&lt;br /&gt;
* bei gravierenden Abweichungen und Neuerungen Info im Forum/Wiki&lt;br /&gt;
&lt;br /&gt;
=== Wie kann ich Eltako-Aktoren anhand Ihrer Modellbezeichnung grob unterscheiden? ===&lt;br /&gt;
* 12er Baureihe (ausgelaufen) = unidirektionale RS485-Bus-Aktoren für Hutschiene&lt;br /&gt;
* 14er Baureihe = bidirektionale RS485-Bus-Aktoren für Hutschiene&lt;br /&gt;
* 61er Baureihe = uni- und bidirektionale Aktoren je nach Produktionszeitraum für Einbaumontage (Hohlwanddose)&lt;br /&gt;
* 70/71er Baureihe = uni- und bidirektionale Aktoren je nach Produktionszeitraum für Einbaumontage (Zwischendecke)&lt;br /&gt;
* zwischen den Modellreihen gibt es bei uni- und bidirektonalen Aktoren bei der Ansteuerung Übereinstimmungen; Angaben können dementsprechend analog zwischen den Geräten übertragen werden&lt;br /&gt;
&lt;br /&gt;
=== Wie kann ich PEHA-Aktoren anhand Ihrer Modellbezeichnung grob unterscheiden? ===&lt;br /&gt;
* Easyclick-Unterputzempfänger: unidirektionale Aktoren für Einbaumontage; Modellbezeichnung enthält typischerweise die Buchstaben EP&lt;br /&gt;
* Easyclickpro-Unterputzempfänger: bidirektionale Aktoren für Einbaumontage; Modellbezeichnung enthält die Buchstaben EBI oder EBIM (mit zusätzlicher Energiemessung)&lt;br /&gt;
&lt;br /&gt;
=== Wo finde ich Angaben zu Jäger Direkt - OPUS GreenNet EnOcean-Geräten? ===&lt;br /&gt;
* Es handelt sich im Wesentlichen um umgelabelte Produkte anderer Hersteller (Peha, Eltako usw.). Anhand der Gehäuseform lassen sich Rückschlüsse ziehen&lt;br /&gt;
* Angaben zu den &amp;quot;Original&amp;quot;-Produkten können grundsätzlich -soweit bekannt- auf OPUS GreenNet Geräte übertragen werden&lt;br /&gt;
&lt;br /&gt;
=== Wie ermittele ich die Signalstärke, Signalqualität durch die Anzeige des RSSI/Repeatingcounter? ===&lt;br /&gt;
* Durch anlegen einer readingsGroup: &amp;lt;code&amp;gt;define TCM_Signal readingsGroup TYPE=EnOcean:+TCM_ESP3_0_RSSI,+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RepeatingCounter,+TCM_ESP3_0_TIME&amp;lt;/code&amp;gt;&lt;br /&gt;
Dabei muss TCM_ESP3_0 durch den Devicenamen des eigenen TCMs ersetzt werden!&lt;br /&gt;
&lt;br /&gt;
=== Wo genau ist der Unterschied zwischen &amp;quot;EEP Manufacturer Specific Applications&amp;quot; und &amp;quot;Inofficial EEP for special devices&amp;quot;? ===&lt;br /&gt;
* Die inoffiziellen EEPs sind nichts anderes als Device-Vorlagen für bestimmte Aktoren. Dadurch soll dem Anwender u.a. manuelle Attributzuweisungen abgenommen werden. Teilweise werden auch spezielle Plots angelegt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;br /&gt;
[[Kategorie:EnOcean Components|!]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_Tablet_UI&amp;diff=37400</id>
		<title>FHEM Tablet UI</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_Tablet_UI&amp;diff=37400"/>
		<updated>2022-04-12T12:57:18Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: Hinweis auf FTUI3 erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Version der Tablet UI wird nicht weiterentwickelt!&amp;lt;ref&amp;gt;https://forum.fhem.de/index.php/topic,115259.msg1095261.html#msg1095261&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe https://forum.fhem.de/index.php/topic,115259.msg1095261.html#msg1095261&lt;br /&gt;
&lt;br /&gt;
Es gibt eine neue Version 3 hier: [[FHEM Tablet UI v3]]&lt;br /&gt;
&lt;br /&gt;
Achtung: Version 3 ist nicht mit Version 2 kompatibel. &amp;lt;ref&amp;gt;Ein Umstieg auf FTUI3 hat eine Neu-Programmierung der Oberfläche zur Folge.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Oberfläche für FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModFTopic=34233&lt;br /&gt;
|ModForumArea=TabletUI&lt;br /&gt;
|ModTechName=n.a.&lt;br /&gt;
|ModOwner=setstate ({{Link2FU|7023|Forum}})&lt;br /&gt;
}}&lt;br /&gt;
[[FHEM Tablet UI v2]] (FTUI2) ist ein leichtgewichtiges aber funktionsreiches Frontend-Framework zum Steuern und Überwachen von in FHEM integrierten Geräten. Es basiert auf HTML/CSS/JavaScript und stellt somit keine zusätzlichen Anforderungen an den FHEM-Server.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe zahlreicher Widgets, die sehr leicht mit HTML Code konfiguriert werden können, ist es möglich, innerhalb kurzer Zeit ein den eigenen Wünschen entsprechendes User-Interface aufzubauen.&lt;br /&gt;
&lt;br /&gt;
Für den Betrieb ist nur eine FHEM-Installation mit [[HTTPSRV|HTTPSRV-Modul]] sowie ein gängiger Webbrowser notwendig.&lt;br /&gt;
&lt;br /&gt;
Mit wenigen Anpassungen ist es auch möglich, das UI auf anderen Webservern (Apache, u.a.) zu betreiben. Somit können FHEM und FHEM Tablet UI auch auf getrennten Systemen ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
[[File:tablet_ui.png|thumb|500px|center|Beispiel für ein mit [[FHEM Tablet UI]] erstelltes User-Interface]]&lt;br /&gt;
&lt;br /&gt;
{{Todo|Design-Möglichkeiten erklären, Navigationsmethoden ausformulieren}} &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Die Installation von FHEM Tablet UI v2 erzeugt keinen großen Aufwand und besteht im Großen und Ganzen aus drei Schritten:&lt;br /&gt;
*Dateien aus dem GitHub-Repository herunterladen&lt;br /&gt;
*FHEM konfigurieren ([[HTTPSRV]]-Device erstellen, [[FHEMWEB]]-Attribut longpoll einstellen)&lt;br /&gt;
*Eine Beispieldatei anlegen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Diese Anleitung geht davon aus, dass FHEM unter Debian nach der Anleitung [https://debian.fhem.de Stable build using apt] installiert wurde.&lt;br /&gt;
Ist dies nicht der Fall, muss der Pfad &#039;&#039;&#039;/opt/fhem&#039;&#039;&#039; dementsprechend angepasst werden.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Zuerst müssen alle Dateien von FHEM Tablet UI in das FHEM-Verzeichnis &#039;&#039;&#039;/opt/fhem/www&#039;&#039;&#039; kopiert werden. Das geht mit folgendem &#039;&#039;&#039;update&#039;&#039;&#039;-Befehl über die FHEM-Befehlszeile.&lt;br /&gt;
:&amp;lt;code&amp;gt;update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI_Installation_01.png|thumb|none|Schritt 1: Dateien kopieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Anschließend ist ein neues [[HTTPSRV]]-Device in FHEM anzulegen, welches auf den Ordner mit den gerade heruntergeladenen Dateien verweist.&lt;br /&gt;
:&amp;lt;code&amp;gt;define TABLETUI HTTPSRV ftui/ ./www/tablet/ Tablet-UI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI_Installation_02.png|thumb|none|Schritt 2: HTTPSRV-Device anlegen]]&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Dieser Schritt kann ausgelassen werden, wenn die Funktionalitäten von [[FHEMWEB]] ausreichend sind. Dann muss FTUI aber in weiterer Folge unter der URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http(s)://&amp;lt;fhem-server&amp;gt;:8083/fhem/tablet/index.html&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; aufgerufen werden und es wird kein Link auf FTUI in der FHEM GUI erstellt. Vorteil ist aber, dass das FHEMWEB-Caching verwendet werden kann. Siehe dieser {{Link2Forum|Topic=86362|Message=788258}}.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Damit FHEM Tablet UI mit FHEM kommunizieren kann, ist noch die &#039;&#039;&#039;longpoll&#039;&#039;&#039;-Einstellung im [[FHEMWEB]] Device festzulegen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr WEB longpoll websocket&amp;lt;/code&amp;gt;&lt;br /&gt;
:bzw. bei Problemen mit &#039;&#039;websocket&#039;&#039;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr WEB longpoll 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI_Installation_03.png|thumb|none|Schritt 3: longpoll einstellen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Weil FTUI noch nichts anzuzeigen hat, wird die Datei &#039;&#039;&#039;/opt/fhem/www/tablet/index-example.html&#039;&#039;&#039; nach &#039;&#039;&#039;/opt/fhem/www/tablet/index.html&#039;&#039;&#039; kopiert.&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo cp -a /opt/fhem/www/tablet/index-example.html /opt/fhem/www/tablet/index.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[Datei:FTUI_Installation_04.png|thumb|none|Schritt 4: index.html erstellen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Abschließend muss FHEM noch &#039;&#039;&#039;neu gestartet&#039;&#039;&#039; werden (&#039;&#039;shutdown restart&#039;&#039;) da das Attribut &#039;&#039;&#039;longpoll&#039;&#039;&#039; geändert wurde.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Somit ist FHEM Tablet UI bereit zur Verwendung und kann durch Aufruf der URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://&amp;lt;fhem-server&amp;gt;:8083/fhem/ftui/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; oder den Link im FHEM-Menü geöffnet werden&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
Ein Update von FTUI kann ebenfalls über die FHEM-Kommandozeile erfolgen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Prüfen der Änderungen seit dem letzten Download/Update durch Eingabe von:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update check https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Update der geänderten Dateien durch Eingabe von:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine weitere Option ist das Hinzufügen des FTUI-Git-Repositories zum allgemeinem Update-Vorgang von FHEM. Dabei wird dann bei einem FHEM-Update auch gleich FHEM Tablet UI aktualisiert, bzw. die Änderungen angezeigt.&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;update add https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beachte: Das Ergebnis des o.g. Befehls wird in FHEM/controls.txt eingetragen, siehe auch [[Update#update_add]]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
===DOCTYPE===&lt;br /&gt;
In allen HTML-Dateien, die im Browser geladen werden und das typische HTML-Gerüst besitzen (also alle Hauptseiten, jedoch keine Template-Dateien), sollte eine &#039;&#039;Document Type Declaration&#039;&#039; (DTDT) eingefügt werden. Mit ihr wird festgelegt, welche &#039;&#039;Document Type Definition&#039;&#039; hier verwendet wird (das kommt aus der Metasprache XML), konkret also, in welcher Version der nachfolgende HTML-Code vom Browser interpretiert werden soll. Lässt man die DTDT weg, oder definiert sie auf verschiedenen Seiten unterschiedlich, kann ein und der selbe HTML-Code zu unterschiedlichen Darstellungen führen. Die DTDT erfolgt immer auf der ersten Zeile, noch vor dem &amp;lt;code&amp;gt;&amp;lt;html&amp;gt;&amp;lt;/code&amp;gt;-Tag. Nachfolgend wird HTML5 verwendet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;...&amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;...&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===META-Parameter===&lt;br /&gt;
Das Tablet UI lässt sich über die META-Parameter konfigurieren. Diese Parameter sind in jeder &#039;&#039;&#039;.html&#039;&#039;&#039; Datei (z.B. index.html) im Abschnitt &#039;&#039;&#039;&amp;lt;head&amp;gt;&#039;&#039;&#039; einzutragen. Ausgenommen davon sind Dateien, die als Template, Pagebutton-Zielseiten oder ähnliches eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
Die Parameter sind immer nach diesem Schema aufgebaut:&lt;br /&gt;
 &amp;lt;meta name=&amp;quot;[Parameter-Name]&amp;quot; content=&amp;quot;[Parameter-Wert]&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Verbindung zu FHEM===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter-Name!!Standard-Wert!!Mögliche Werte!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|web_device||WEB||String||FHEM-Device, welches für das Polling verwendet wird&lt;br /&gt;
|-&lt;br /&gt;
|longpoll||1||0, 1||&lt;br /&gt;
&#039;&#039;&#039;0&#039;&#039;&#039;: Longpoll deaktiviert; alle 30s ein Shortpoll (Neuladen der gesamten Statusänderungen)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;: Longpoll aktiv; geänderte Stati werden sofort aktualisiert, zusätzlich werden alle 15min die gesamten Statusänderungen geladen.&lt;br /&gt;
|-&lt;br /&gt;
|longpoll_type||websocket||websocket, ajax, 0||&lt;br /&gt;
&#039;&#039;&#039;websocket&#039;&#039;&#039;: Für die Aktualisierung der Daten wird das Websocket-Protokoll verwendet. Werden vom Browser keine Websockets unterstützt, gibt es einen automatischen Fallback auf Ajax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ajax&#039;&#039;&#039;: Ajax wird für die Aktualisierung verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0&#039;&#039;&#039;: Longpoll deaktiviert, Shortpoll wird verwendet.&lt;br /&gt;
|-&lt;br /&gt;
|longpoll_filter||.*||RegEx||Event-Filter. Kann verwendet werden, wenn z.B. Devices, die in FTUI angezeigt werden, in einem eigenen FHEM-Room sind.&lt;br /&gt;
|-&lt;br /&gt;
|longpoll_maxage||240||Integer||Kommen in diesem Zeitraum (Sekunden) keine Longpoll-Events bei FTUI an, wird die Verbindung als &amp;quot;disconnected&amp;quot; angesehen und ein neuer Verbindungsversuch wird gestartet.&lt;br /&gt;
|-&lt;br /&gt;
|shortpoll_interval||900||Integer||Zeitraum in Sekunden, nach dem ein vollständiger Refresh stattfindet&lt;br /&gt;
|-&lt;br /&gt;
|shortpoll_only_interval||30||Integer||Zeitraum in Sekunden, nach dem ein vollständiger Refresh stattfindet, sollte Longpoll deaktiviert sein&lt;br /&gt;
|-&lt;br /&gt;
|fhemweb_url||/fhem/||Integer||URL zu FHEM. Wird benötigt wenn FTUI auf einem anderen als dem FHEM Server läuft oder nicht im Standard-Pfad installiert ist. &lt;br /&gt;
Hinweis: Wenn FHEM auf einem anderem Server/Domain läuft muss man das &amp;quot;CORS&amp;quot; Attribut im FHEMWEB Modul (s.o.) auf 1 setzen, sonst bekommt man Cross Origin Fehler. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionalität===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter-Name!!Standard-Wert!!Mögliche Werte!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|debug||0||0 - 5||Log-Level&lt;br /&gt;
|-&lt;br /&gt;
|toast||5||Integer||Anzahl an gleichzeitig angezeigten Toast-Nachrichten. Um keine anzuzeigen, ist der Wert auf 0 zu setzen.&lt;br /&gt;
|-&lt;br /&gt;
|toast_position||bottom-left||||Position im Browserfenster, wo die Toast-Nachrichten angezeigt werden.&lt;br /&gt;
|-&lt;br /&gt;
|lang||de||de||Sprache der Oberfläche (für z.B. Datums-/Zeitfunktionen)&lt;br /&gt;
|-&lt;br /&gt;
|username||||String||Benutzername für eine Basic-Authentifierung *&lt;br /&gt;
|-&lt;br /&gt;
|password||||String||Passwort für eine Basic-Authentifizierung *&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;*&#039;&#039;&#039; Derzeit wird die Basic-Authentifizierung in Kombination mit WebSockets nicht unterstützt. Die Verwendung von &#039;&#039;&#039;longpoll=1&#039;&#039;&#039; (ajax) ist daher notwendig.&lt;br /&gt;
&lt;br /&gt;
===Toast-Nachrichten===&lt;br /&gt;
[[Datei:Ftui_toast.png|thumb|Toast-Nachrichten]]&lt;br /&gt;
Tablet-UI liefert Informationen darüber, was im Moment gerade passiert. Das geschieht über Toast-Nachrichten, die in der Standardeinstellung unten links im Browser auftauchen.&lt;br /&gt;
&lt;br /&gt;
Wird beispielsweise ein Gerät eingeschaltet, so erscheint eine kleine Nachricht mit dem abgesetzten Befehl. Auch Fehlermeldungen und Statusinformationen werden angezeigt. Ob überhaupt und was konkret angezeigt wird, richtet sich nach dem eingestellten Debug-Level (siehe oben). Beim Debug-Level 5 werden alle Nachrichten angezeigt, bei 0 keine.&lt;br /&gt;
&lt;br /&gt;
Die Position der Toast-Nachrichten kann über den Meta-Tag &amp;lt;code&amp;gt;meta name=&#039;toast_position&#039;&amp;lt;/code&amp;gt; festgelegt werden. Für oben-mittig müsste folgender Code eingefügt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;meta name=&#039;toast_position&#039; content=&#039;top-center&#039;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Möglich sind folgende Positionen:&lt;br /&gt;
* &amp;lt;code&amp;gt;top-left&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top-right&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-left&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-right&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top-center&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-center&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;mid-center&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die maximale Anzahl an Nachrichten, die gleichzeitig angezeigt werden können, lässt sich mit &amp;lt;code&amp;gt;meta name=&#039;toast&#039;&amp;lt;/code&amp;gt; Sind maximal 2 Nachrichten gewünscht, muss folgender Meta-Tag gesetzt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;meta name=&#039;toast&#039; content=&#039;2&#039;&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Navigationsmethoden==&lt;br /&gt;
{{Todo|Dieser Abschnitt dient derzeit lediglich als Sammlung von Stichpunkten und muss vollständig überarbeitet werden.}} &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unterschied zwischen Pagetab und Pagebutton:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pagetab:&#039;&#039;&#039; Ganze Seite austauschen -&amp;gt; Menü muss auf jede Seite&lt;br /&gt;
[[FTUI_Widget_Pagetab]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pagebutton:&#039;&#039;&#039; Teil der Seite austauschen -&amp;gt; Menü nur in erster Seite&lt;br /&gt;
[[FTUI_Widget_Pagebutton]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pagelink:&#039;&#039;&#039; damit kann man beliebige Widgets kapseln und vorhandene Pagebutton-Seiten ansteuern &lt;br /&gt;
[[FTUI Widget Link]]&lt;br /&gt;
&lt;br /&gt;
==Gestaltung==&lt;br /&gt;
===Layout-Optionen===&lt;br /&gt;
* [[FTUI Layout Gridster|Gridster]]&lt;br /&gt;
* [[FTUI Layout Flex|Flex]]&lt;br /&gt;
* [[FTUI Layout Sheet|Tabelle]]&lt;br /&gt;
* [[FTUI Layout Row|Reihen]]&lt;br /&gt;
&lt;br /&gt;
=== Farben ===&lt;br /&gt;
Es besteht die Möglichkeit, die Farbwerte in hexadezimaler Form, als RGB-Wert oder mit dem Farbnamen anzugeben. Zum Beispiel: &lt;br /&gt;
&lt;br /&gt;
*HEX: #ADD8E6&lt;br /&gt;
*RBG: rgb(173, 216, 230)&lt;br /&gt;
*Namen: lightblue&lt;br /&gt;
&lt;br /&gt;
Knallige Farben wie &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: #ff0000;&amp;quot;&amp;gt;#ff0000&amp;lt;/span&amp;gt;&#039;&#039;&#039; für Rot oder &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: #00ff00;&amp;quot;&amp;gt;#00ff00&amp;lt;/span&amp;gt;&#039;&#039;&#039; für Grün sollten vermieden werden.&lt;br /&gt;
Es ist besser unterhalb von #D0 (208) für die Grundfarben zu bleiben.&lt;br /&gt;
&lt;br /&gt;
Empfohlene Farben sind z.B.:&lt;br /&gt;
&lt;br /&gt;
*Orange: &amp;lt;span style=&amp;quot;color: #aa6900;&amp;quot;&amp;gt;#aa6900&amp;lt;/span&amp;gt;&lt;br /&gt;
*Rot: &amp;lt;span style=&amp;quot;color: #ad3333;&amp;quot;&amp;gt;#ad3333&amp;lt;/span&amp;gt;&lt;br /&gt;
*Grün: &amp;lt;span style=&amp;quot;color: #32a054;&amp;quot;&amp;gt;#32a054&amp;lt;/span&amp;gt;&lt;br /&gt;
*Blau: &amp;lt;span style=&amp;quot;color: #6699FF;&amp;quot;&amp;gt;#6699FF&amp;lt;/span&amp;gt;&lt;br /&gt;
*Grau: &amp;lt;span style=&amp;quot;color: #8C8C8C;&amp;quot;&amp;gt;#8C8C8C&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hilfreich bei der Suche nach den Farbwerten ist zum Beispiel der Color-Picker auf dieser Seite: http://www.colorpicker.com. Für die Suche nach Farben, die einen guten Kontrast bilden, diese Webseite: http://vanisoft.pl/~lopuszanski/public/colors/&lt;br /&gt;
&lt;br /&gt;
Im Ordner &#039;&#039;css&#039;&#039; der FTUI Installation finden sich einige vorbereitete Farbschemata. Diese können mit einem zusätzlichen Eintrag im &amp;lt;nowiki&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/nowiki&amp;gt;-Bereich der FTUI-Seite(n) aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Hier am Beispiel eines blauen Farbschemas:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
   [...]&lt;br /&gt;
   &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/fhem/tablet/css/fhem-blue-ui.css&amp;quot; /&amp;gt;&lt;br /&gt;
   [...]&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Schema-Dateien ändern alle Widgets. &lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Theme_default.png|default&lt;br /&gt;
File:Theme_blue.png|fhem-blue-ui.css&lt;br /&gt;
File:Theme_green.png|fhem-green-ui.css&lt;br /&gt;
File:Theme_mobile.png|fhem-mobile-ui.css&lt;br /&gt;
File:Theme_darkblue.png|fhem-darkblue-ui.css&lt;br /&gt;
File:Theme_darkgreen.png|fhem-darkgreen-ui.css&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einzelne Widgets können durch Hinzufügen der jeweiligen [[#CSS-Klassen|CSS-Klasse]] geändert werden.&lt;br /&gt;
&lt;br /&gt;
===CSS-Styles===&lt;br /&gt;
Das Layout und das Aussehen des UI kann durch diverse vorgegebene CSS-Klassen beeinflusst werden. Die verfügbaren Klassen sind im Abschnitt [[#CSS-Klassen|CSS-Klassen]] aufgeführt.&lt;br /&gt;
&lt;br /&gt;
Soll das Aussehen des UI durch eigene CSS-Klassen oder durch Überschreiben der vorhandenen verändert werden, kann eine eigene CSS-Datei erstellt werden, die dann bei einem eventuellen Update von FTUI nicht überschrieben wird. Diese Datei muss den Dateinamen &#039;&#039;&#039;fhem-tablet-ui-user.css&#039;&#039;&#039; haben und im Ordner &#039;&#039;&#039;/fhem/tablet/css&#039;&#039;&#039; abgelegt werden. Sie wird dann beim Aufruf von FTUI automatisch mitgeladen.&lt;br /&gt;
&lt;br /&gt;
=== CSS-Klassen ===&lt;br /&gt;
Nicht alle Widgets unterstützen alle hier angegebenen Klassen. Welche genau unterstützt werden, kann auf der jeweiligen Widget-Seite nachgelesen werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |sheet/row/cell-Layout&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|sheet}}{{FTUI Klasse|row}}{{FTUI Klasse|cell}}{{FTUI Klasse|cell-1-x}}{{FTUI Klasse|cell-x}}{{FTUI Klasse|left-align}}{{FTUI Klasse|right-align}}{{FTUI Klasse|bottom-align}}{{FTUI Klasse|top-align}}{{FTUI Klasse|center-align}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |row/col-Layout&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|col}}{{FTUI Klasse|col-1-x}}{{FTUI Klasse|col-x}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |hbox/vbox-Layout&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|vbox}}{{FTUI Klasse|hbox}}{{FTUI Klasse|card}}{{FTUI Klasse|phone-width}}{{FTUI Klasse|full-height}}{{FTUI Klasse|full-width}}{{FTUI Klasse|grow-0}}{{FTUI Klasse|grow-1}}{{FTUI Klasse|grow-2}}{{FTUI Klasse|grow-x}}{{FTUI Klasse|items-top}}{{FTUI Klasse|items-center}}{{FTUI Klasse|items-bottom}}{{FTUI Klasse|items-space-between}}{{FTUI Klasse|items-space-around}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Generelle Klassen für die Positionierung&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|inline}}{{FTUI Klasse|newline}}{{FTUI Klasse|top-space}}{{FTUI Klasse|top-space-2x}}{{FTUI Klasse|top-space-3x}}{{FTUI Klasse|left-space}}{{FTUI Klasse|left-space-2x}}{{FTUI Klasse|left-space-3x}}{{FTUI Klasse|right-space}}{{FTUI Klasse|right-space-2x}}{{FTUI Klasse|right-space-3x}}{{FTUI Klasse|top-narrow}}{{FTUI Klasse|top-narrow-2x}}{{FTUI Klasse|top-narrow-10}}{{FTUI Klasse|left-narrow}}{{FTUI Klasse|left-narrow-2x}}{{FTUI Klasse|left-narrow-3x}}{{FTUI Klasse|right-narrow}}{{FTUI Klasse|right-narrow-2x}}{{FTUI Klasse|right-narrow-3x}}{{FTUI Klasse|centered}}{{FTUI Klasse|wider}}{{FTUI Klasse|narrow}}{{FTUI Klasse|fullsize}}{{FTUI Klasse|compressed}}{{FTUI Klasse|height-narrow}}{{FTUI Klasse|w1x}}{{FTUI Klasse|w2x}}{{FTUI Klasse|w3x}}{{FTUI Klasse|maxw40}}{{FTUI Klasse|doublebox-v}}{{FTUI Klasse|doublebox-h}}{{FTUI Klasse|triplebox-v}}{{FTUI Klasse|right}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Vordergrundfarben&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|red}}{{FTUI Klasse|green}}{{FTUI Klasse|blue}}{{FTUI Klasse|lightblue}}{{FTUI Klasse|orange}}{{FTUI Klasse|gray}}{{FTUI Klasse|lightgray}}{{FTUI Klasse|white}}{{FTUI Klasse|black}}{{FTUI Klasse|mint}}{{FTUI Klasse|yellow}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Hintergrundfarben&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|bg-red}}{{FTUI Klasse|bg-green}}{{FTUI Klasse|bg-blue}}{{FTUI Klasse|bg-lightblue}}{{FTUI Klasse|bg-orange}}{{FTUI Klasse|bg-gray}}{{FTUI Klasse|bg-lightgray}}{{FTUI Klasse|bg-white}}{{FTUI Klasse|bg-black}}{{FTUI Klasse|bg-mint}}{{FTUI Klasse|bg-yellow}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Rahmen&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|verticalLine}}{{FTUI Klasse|border-black}}{{FTUI Klasse|border-white}}{{FTUI Klasse|border-orange}}{{FTUI Klasse|border-red}}{{FTUI Klasse|border-green}}{{FTUI Klasse|border-mint}}{{FTUI Klasse|border-lightblue}}{{FTUI Klasse|border-blue}}{{FTUI Klasse|border-gray}}{{FTUI Klasse|border-yellow}}{{FTUI Klasse|border-lightgray}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Größen&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|mini}}{{FTUI Klasse|tiny}}{{FTUI Klasse|small}}{{FTUI Klasse|normal}}{{FTUI Klasse|large}}{{FTUI Klasse|big}}{{FTUI Klasse|bigger}}{{FTUI Klasse|tall}}{{FTUI Klasse|great}}{{FTUI Klasse|grande}}{{FTUI Klasse|gigantic}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Schriftstil&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|thin}}{{FTUI Klasse|bold}}{{FTUI Klasse|darker}}{{FTUI Klasse|truncate}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: left;&amp;quot; |Sonstiges&lt;br /&gt;
|-&lt;br /&gt;
!class=&amp;quot;mw-collapsible-content&amp;quot;|Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|blank}}{{FTUI Klasse|transparent}}{{FTUI Klasse|half-transparent}}{{FTUI Klasse|blurry}}{{FTUI Klasse|shake}}{{FTUI Klasse|fail-shake}}{{FTUI Klasse|marquee}}{{FTUI Klasse|icon round}}{{FTUI Klasse|icon square}}{{FTUI Klasse|readonly}}{{FTUI Klasse|blink}}{{FTUI Klasse|rotate-90}}{{FTUI Klasse|horizontal}}{{FTUI Klasse|circleborder}}{{FTUI Klasse|autohide}}{{FTUI Klasse|notransmit}}{{FTUI Klasse|tap}}{{FTUI Klasse|FS20}}{{FTUI Klasse|value}}{{FTUI Klasse|novalue}}{{FTUI Klasse|timestamp}}{{FTUI Klasse|percent}}{{FTUI Klasse|nocache}}{{FTUI Klasse|fade}}{{FTUI Klasse|rotate}}{{FTUI Klasse|nolabels}}{{FTUI Klasse|default}}{{FTUI Klasse|prefetch}}{{FTUI Klasse|circulate}}{{FTUI Klasse|valueonly}}{{FTUI Klasse|positiononly}}{{FTUI Klasse|lineIndicator}}{{FTUI Klasse|barIndicator}}{{FTUI Klasse|roundIndicator}}{{FTUI Klasse|dim-tick}}{{FTUI Klasse|dim-front}}{{FTUI Klasse|dim-back}}{{FTUI Klasse|hue-tick}}{{FTUI Klasse|hue-front}}{{FTUI Klasse|hue-back}}{{FTUI Klasse|warn}}{{FTUI Klasse|activate}}{{FTUI Klasse|labelright}}{{FTUI Klasse|interlock}}{{FTUI Klasse|keepopen}}{{FTUI Klasse|noshade}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Überlagerung von Text und Bild ===&lt;br /&gt;
[[Datei:FTUI_Text_auf_Bild.png||thumb|right]]&lt;br /&gt;
Texte können auf Bildern positioniert werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li data-row=&amp;quot;1&amp;quot; data-col=&amp;quot;4&amp;quot; data-sizey=&amp;quot;4&amp;quot; data-sizex=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;display&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div data-type=&amp;quot;image&amp;quot; data-url=&amp;quot;https://picsum.photos/200/125/?random&amp;quot; data-size=&amp;quot;100%&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;display-center bigger&amp;quot; data-type=&amp;quot;label&amp;quot;&amp;gt;Text1&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;display-topright bigger right-space top-space&amp;quot; data-type=&amp;quot;label&amp;quot;&amp;gt;Text2&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;ontop bigger&amp;quot; style=&amp;quot;left: 120px; top: 50px&amp;quot;&amp;gt;Text3&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur Verfügung stehen folgende Grundpositionen:&lt;br /&gt;
* &amp;lt;code&amp;gt;display-topleft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-topcenter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-topright&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-centerleft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-left&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-centerright&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-right&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-bottomleft&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-bottomcenter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;display-bottomright&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Feinjustage ist möglich über&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;right-space&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top-space&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;left-space&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-space&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;right-space-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top-space-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;left-space-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-space-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;right-space-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;top-space-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;left-space-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bottom-space-3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:FTUI_Beispiel_Positionierung.png|200px|thumb|right]]&lt;br /&gt;
Verallgemeinert lassen sich auf diese Weise &#039;&#039;&#039;Objekte frei im Elternelement positionieren&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;display&amp;quot; data-type=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;display-topcenter top-space big&amp;quot;&amp;gt;Fenster&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;display-center fa fa-4x ftui-window&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;display-bottomleft bottom-space left-space&amp;quot; data-type=&amp;quot;label&amp;quot;&amp;gt;Text&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Icons ===&lt;br /&gt;
FTUI bringt einige Icons-&amp;quot;Schriftarten&amp;quot; mit, die für die Darstellung genützt werden können. Diese werden automatisch beim Start des UI eingebunden, sobald ein entsprechendes Icon-Präfix im Code der Seite vorkommt.&lt;br /&gt;
&lt;br /&gt;
Verfügbare Icon-Schriftarten sind:&lt;br /&gt;
* Eingebaute Icons &#039;&#039;ftui-window&#039;&#039; und &#039;&#039;ftui-door&#039;&#039;. Präfix &#039;&#039;&#039;ftui-&#039;&#039;&#039;. Beispiel: &amp;lt;code&amp;gt;data-icon=&amp;quot;ftui-door&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [http://fontawesome.io/icons/ Font-Awesome]: Mehr als 500 Icons zur Auswahl. Präfix &#039;&#039;&#039;fa-&#039;&#039;&#039;. Beispiel: &amp;lt;code&amp;gt;data-icon=&amp;quot;fa-volume-up&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://material.io/icons/ Material Icons]: Mehr als 900 Icons zur Auswahl. Präfix &#039;&#039;&#039;mi-&#039;&#039;&#039;. Beispiel: &amp;lt;code&amp;gt;data-icon=&amp;quot;mi-local_gas_station&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* FHEM und OpenAutomation Icons: Präfix &#039;&#039;&#039;fs-&#039;&#039;&#039; und &#039;&#039;&#039;oa-&#039;&#039;&#039;. Beispiel: &amp;lt;code&amp;gt;data-icon=&amp;quot;oa-secur_locked&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://erikflowers.github.io/weather-icons/ Weather-Icons]: Präfix &#039;&#039;&#039;wi &#039;&#039;&#039;. Beispiel: &amp;lt;code&amp;gt;data-icon=&amp;quot;wi wi-day-rain-mix&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ können auch Bilder Icons (bspw. png) über CSS verwendet werden. Bspw:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
        .logo-fhem {&lt;br /&gt;
            background: url(https://wiki.fhem.de/fhemlogo.png) no-repeat;&lt;br /&gt;
            width: 120px;&lt;br /&gt;
            height: 132px;&lt;br /&gt;
            background-size: contain;&lt;br /&gt;
        }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;div data-type=&amp;quot;symbol&amp;quot; data-icon=&amp;quot;logo-fhem&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Widgets ==&lt;br /&gt;
===Allgemeine Attribute===&lt;br /&gt;
Jedes Widget kann über verschiedene Attribute konfiguriert werden. Folgende Attribute gelten für alle Widgets:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+allgemeine Attribute&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-type&lt;br /&gt;
|Widget-Typ&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-device&lt;br /&gt;
|FHEM-Name des Gerätes (mit dem Befehl &#039;list&#039; bekommt man im FHEM die kpl. Liste)&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |class&lt;br /&gt;
|CSS-Klassen für Aussehen und Formatierung des Widgets&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Daten Empfangen&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-get&lt;br /&gt;
|Reading Name&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-get-on&lt;br /&gt;
|Wert für den Status on&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-get-off&lt;br /&gt;
|Wert für den Status off&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Daten Senden&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-set&lt;br /&gt;
|Reading Name&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-set-on&lt;br /&gt;
|Wert für den Status on&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;right&amp;quot; |data-set-off&lt;br /&gt;
|Wert für den Status off&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Widget-spezifische Attribute können auf der jeweiligen Widget-Seite nachgelesen werden.&lt;br /&gt;
&lt;br /&gt;
=== Integrierte Widgets ===&lt;br /&gt;
Folgende Widgets sind direkt in FHEM Tablet UI integriert und können &amp;quot;out of the box&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
* [[FTUI Widget Button|button]]: Variante der push und switch Widgets, die entweder einen URL ansteuern oder einen FHEM-Befehl absetzen kann&lt;br /&gt;
* [[FTUI Widget Checkbox|checkbox]]: Umschalter zwischen zwei definierten Zuständen&lt;br /&gt;
* [[FTUI Widget Circlemenu|circlemenu]]: Mehrere Widgets hinter einem Widget verborgen, trotz des &#039;circle&#039; im Namen kann das Menue jetzt auch horizontal oder vertikal ausgeklappt werden &lt;br /&gt;
* [[FTUI Widget Clock|clock]]: Stellt eine einfache Uhr zur Verfügung&lt;br /&gt;
* [[FTUI Widget Colorwheel|colorwheel]]: Farbpalette zur Auswahl von Farben&lt;br /&gt;
* [[FTUI Widget Controlbutton|controlbutton]]: iOS-ähnlicher Button zum Schalten zwischen zwei Zuständen (z.B. on / off)&lt;br /&gt;
* [[FTUI Widget Controller|controller]]: iOS-ähnlicher vertikaler Schieberegler zum Einstellen eines Wertes&lt;br /&gt;
* [[FTUI Widget Datetimepicker|datetimepicker]]: Erstellt eine Auswahl für Datum/Uhrzeit&lt;br /&gt;
* [[FTUI Widget Departure|departure]]: Abfahrtszeiten öffentlicher Verkehrsmittel&lt;br /&gt;
* [[FTUI Widget Dimmer|dimmer]]: Ein-/Aus-Button mit integriertem Schieberegler für z.B. einen Dim-Wert&lt;br /&gt;
* [[FTUI Widget Eventmonitor|eventmonitor]]:&lt;br /&gt;
* [[FTUI Widget Homestatus|homestatus]]: Auswahl für vier oder fünf definierte Zustände eines Objects (z.B.: FHEM Residents)&lt;br /&gt;
* [[FTUI Widget Html|html]]:&lt;br /&gt;
* [[FTUI Widget Iframe|iframe]]: Widget zum Einbinden externer Inhalte in einem Iframe&lt;br /&gt;
* [[FTUI Widget Image|image]]: Zeigt ein Bild, dessen URL fest vorgegeben oder aus einem Device-Reading gelesen werden kann&lt;br /&gt;
* [[FTUI Widget Input|input]]: Erstellen eines Texteingabefeldes&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/joinedlabel joinedlabel]: verbindet mehrere Readings zu einem Feld&lt;br /&gt;
* [[FTUI Widget Klimatrend|klimatrend]]: wandelt Daten aus dem statistics-Modul in einen Pfeil um, der den aktuellen Trend anzeigt&lt;br /&gt;
* [[FTUI Widget Knob|knob]]: Erstellt einen Statusbalken auf einer Kreisbahn&lt;br /&gt;
* [[FTUI Widget Label|label]]: Reading als Text anzeigen&lt;br /&gt;
* [[FTUI Widget Level|level]]: Vertikale oder horizontale Leiste zur Anzeige von Werten zwischen einem Minimal- und einem Maximalwert&lt;br /&gt;
* [[FTUI Widget Link|link]]: Erstellt einen Link oder Button zum Aufrufen von URLs oder Senden von Befehlen an FHEM&lt;br /&gt;
* [[FTUI Widget Medialist|medialist]]:&lt;br /&gt;
* [[FTUI Widget Multistatebutton|multistatebutton]]: Variante des push-Widgets, welches den set-Befehl abhängig vom gelesenen Status ändert&lt;br /&gt;
* [[FTUI Widget Notify|notify]]: Blendet ein Hinweisfenster im Browser ein&lt;br /&gt;
* [[FTUI Widget Pagebutton|pagebutton]]: Button, mit dem auf andere Seiten gesprungen werden kann. Eignet sich gut für eine Navigation&lt;br /&gt;
* [[FTUI Widget Pagetab|pagetab]]: Tauscht den Inhalt einer Seite durch den einer anderen. Eignet sich gut für ein Navigationsmenü&lt;br /&gt;
* [[FTUI Widget Playstream|playstream]]: Abspielen eines Webradio-Streams per Button&lt;br /&gt;
* [[FTUI Widget Popup|popup]]: Öffnet ein Popup nach einem Klick auf ein Widget oder HTML-Element &lt;br /&gt;
* [[FTUI Widget Progress|progress]]: Zeigt einen Prozentwert in Form einer runden Fortschrittsleiste&lt;br /&gt;
* [[FTUI_Widget_Push|push]]: Button, mit dem ein Befehl an FHEM gesendet werden kann&lt;br /&gt;
* [[FTUI Widget Range|range]]: Erstellt vertikale Balken, die einen Wertebereich in unterschiedlichen Farben darstellen&lt;br /&gt;
* [[FTUI Widget Readingsgroup|readingsgroup]]: Zeigt eine Readingsgroup an, wie sie in FHEM definiert wurde&lt;br /&gt;
* [[FTUI Widget Rotor|rotor]]: Animiertes Umschalten von zwei oder mehr Widgets an einer Position&lt;br /&gt;
* [[FTUI Widget Scale|scale]]: Vertikale oder horizontale Leiste zur Anzeige von Werten zwischen einem Minimal- und einem Maximalwert&lt;br /&gt;
* [[FTUI_Widget_Select|select]]: Combobox, die eine Liste an Werten zur Auswahl anzeigt&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/settimer settimer]: Zum Anzeigen und Einstellen einer Uhrzeit&lt;br /&gt;
* [[FTUI Widget Simplechart|simplechart]]: Einfaches XY-Diagramm zur Anzeige eines Wertes, der direkt aus einem FHEM-Logfile gelesen wird&lt;br /&gt;
* [[FTUI Widget Slideout|slideout]]:&lt;br /&gt;
* [[FTUI Widget Slider|slider]]: Vertikaler Schieberegler zum Einstellen eines Wertes &lt;br /&gt;
* [[FTUI Widget Spinner|spinner]]: Element, um Werte durch Drücken auf Plus-/Minus- oder Höher-/Tiefer-Icons zu ändern&lt;br /&gt;
* [[FTUI Widget Swiper|swiper]]: Bietet die Möglichkeit, durch Wischen zwischen verschiedenen Seiten zu wechseln&lt;br /&gt;
* [[FTUI Widget Switch|switch]]: Button, um zwischen zwei Zuständen zu schalten (z.B. on / off)&lt;br /&gt;
* [[FTUI Widget Symbol|symbol]]: Status eines Devices als Symbol darstellen (z.B. Fenster offen)&lt;br /&gt;
* [[FTUI Widget Theme|theme]]: Kontextspezifisches Design&lt;br /&gt;
* [[FTUI Widget Thermostat|thermostat]]: Anzeige für Heizungsthermostate, mit der die gewünschte Temperatur eingestellt werden kann&lt;br /&gt;
* [[FTUI Widget Volume|volume]]: Einstellscheibe zur Änderung eines einzelnen Wertes&lt;br /&gt;
* [[FTUI Widget Weather|weather]]: Wettersymbol anzeigen&lt;br /&gt;
* [[FTUI Widget WindDirection|wind_direction]]: Anzeige der Windrichtung auf einer Windrose&lt;br /&gt;
&lt;br /&gt;
===3rd Party Widgets===&lt;br /&gt;
Für diese Widgets kann nicht sichergestellt werden, dass sie mit der jeweils aktuellen Version von FTUI funktionieren.&lt;br /&gt;
* [[FTUI Widget Agenda|agenda]]: Zeigt Kalendereinträge in einer Listenform an&lt;br /&gt;
* [[FTUI_Widget_Analogclock|analogclock]]: Analoguhr&lt;br /&gt;
* [[FTUI Widget Calview|calview]]: Zeigt Einträge aus einem [[CALVIEW]]-Device an&lt;br /&gt;
* [[FTUI Widget Chart|chart]]: Diagramm mit ähnlichen Möglichkeiten wie die FHEM-Plots&lt;br /&gt;
* [[FTUI Widget Classchanger|classchanger]]: Ändert seine CSS-Klassen je nach Status eines Devices&lt;br /&gt;
* [[FTUI Widget Clicksound|clicksound]]: Mit dem Widget &amp;quot;clicksound&amp;quot; können Sounds an Click-Events von Elementen gebunden werden.&lt;br /&gt;
* [[FTUI Widget Dwdweblink|dwdweblink]]: Grafische Anzeige DWD-Wetter-Weblink&lt;br /&gt;
* [[FTUI Widget Filelog|filelog]]: Teile aus einem FHEM Logfile anzeigen&lt;br /&gt;
* [[FTUI Widget Fullcalview|fullcalview]]:&lt;br /&gt;
* [[FTUI Widget Gds|gds]]:&lt;br /&gt;
* [[FTUI Widget Maps|maps]]: Kartendarstellung mit Google Maps API&lt;br /&gt;
* [[FTUI Widget Highchart|highchart]]:&lt;br /&gt;
* [[FTUI Widget Highchart3d|highchart3d]]:&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/itunes_artwork itunes_artwork]: itunes_artwork durchsucht die iTunes-Datenbank anhand eines Arrays von beliebigen Suchworten nach einem Cover-Artwork und zeigt dieses an. &lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/javascript javascript]: Ermöglicht die Ausführung beliebigen Javascript-Codes aus einem Reading.&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/kodinowplaying kodinowplaying]: zeigt Informationen zu grade in KODI gespielten Medien in Form eines Labels an.&lt;br /&gt;
* [[FTUI Widget Loading|loading]]:&lt;br /&gt;
* [[FTUI Widget Meteogram|meteogram]]:&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/mpdnowplaying mpdnowplaying]: Zeigt Titelinformationen eines per MPD-Modul angebundenen Music Player Daemon an.&lt;br /&gt;
* [https://forum.fhem.de/index.php/topic,79283.msg712855.html#msg712855 pinpad]: Pinpad für z.B. eine Alarmanlage&lt;br /&gt;
* [https://forum.fhem.de/index.php/topic,76643.msg685472.html#msg685472 postme]: Liste des PostMe-Devices anzeigen&lt;br /&gt;
* [https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/reload reload]: auslösen eine Pagereloads&lt;br /&gt;
* [[FTUI Widget Screensaver|screensaver]]:&lt;br /&gt;
* [[FTUI Widget SMAPortalSPG|smaportalspg]]: Anzeige von SMAPortal-Daten im FHEM Tablet UI&lt;br /&gt;
* [[FTUI Widget für SSCam Streaming Devices (SSCamSTRM)|sscamstrm]]: Integration von SSCam Streaming-Devices (Synology Surveillance Station Kameras) im FHEM Tablet UI&lt;br /&gt;
* [https://forum.fhem.de/index.php/topic,73497.0.html scrolllabel]: Texte in Laufschrift darstellen&lt;br /&gt;
* [[FTUI Widget Svgplot|svgplot]]: Unveränderte Übernahme eine bestehenden SVG-Plots&lt;br /&gt;
* [https://forum.fhem.de/index.php?topic=82883.msg750237#msg750237 todoist]: einfaches widget für todoist&lt;br /&gt;
* [[FTUI Widget Tts|tts]]: Sprachausgabe eines Textes aus einem Reading auf dem Endgerät.&lt;br /&gt;
* [[FTUI Widget UWZ|uwz]]: Anzeige der Warnungen der Unwetterzentrale&lt;br /&gt;
* [[FTUI Widget Wakeup|wakeup]]:&lt;br /&gt;
* [https://github.com/svenson08/ftui-weekdaytimer-widget wdtimer]: Visualisierung des [[WeekdayTimer]] Modul&lt;br /&gt;
* [[FTUI Widget Weekprofile|weekprofile]]: Visualisierung des [[weekprofile]] Moduls&lt;br /&gt;
* [[FTUI Widget Weatherdetail|weatherdetail]]: Detaillierte Wettervorhersage über 4 Tage (Nutzt das Proplanta Modul)&lt;br /&gt;
* [[FTUI Widget Video|videodetail]]: Video Widget für die FTUI&lt;br /&gt;
&lt;br /&gt;
===Anwendungsbeispiele===&lt;br /&gt;
Durch die Verbindung von Widgets mit dem FHEM-Umfeld entstehen Lösungen für typische Anwendungen.&lt;br /&gt;
* [[FTUI_Beispiel_Datetimepicker_für_Timer|Datetimepicker für Timer]]: Oberfläche für Timereinstellungen&lt;br /&gt;
* [[FTUI_Beispiel_Mondphase|Mondphase]]: Visuelle Darstellung der Mondphase&lt;br /&gt;
* [[FTUI_Beispiel_Webradio|Webradio]]&lt;br /&gt;
* [[FTUI Beispiel Zeitschaltung|Verschiedene Zeitschaltungen]]&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Kommt ein bestimmtes &amp;quot;Code-Fragment&amp;quot; auf mehreren Seiten oder öfter pro Seite vor, bietet FTUI die Option, Templates zu erstellen. Diese werden einmal gebaut und können dann mit dem Attribut &#039;&#039;&#039;data-template&#039;&#039;&#039; nach Belieben in eine Seite eingefügt werden. Dabei besteht auch die Möglichkeit, Variablen zu verwenden.&lt;br /&gt;
&lt;br /&gt;
Die Variablennamen sollten möglichst eindeutig und unverwechselbar gewählt werden, da bei der Verwendung von Templates im Prinzip Suchen &amp;amp; Ersetzen angewendet wird. Verwendet man beispielsweise die Variablen &#039;&#039;&#039;dev:Thermostat_Kueche&#039;&#039;&#039; und &#039;&#039;&#039;dev_temp:temperatue&#039;&#039;&#039;, so kann es passieren, dass die Ergebnisse im erzeugten Code dann &#039;&#039;&#039;Thermostat_Kueche&#039;&#039;&#039; und &#039;&#039;&#039;Thermostat_Kueche_temp&#039;&#039;&#039; lauten, statt wie gewünscht &#039;&#039;&#039;Thermostat_Kueche&#039;&#039;&#039; und &#039;&#039;&#039;temperature&#039;&#039;&#039;. Um dies zu vermeiden, sollten die Variablen besser &#039;&#039;&#039;device:Thermostat_Kueche&#039;&#039;&#039; und &#039;&#039;&#039;temp:temperature&#039;&#039;&#039; lauten.&lt;br /&gt;
&lt;br /&gt;
Im Folgenden ein paar Beispiele, wie Templates verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
===Einzelnes Widget===&lt;br /&gt;
Soll ein Widget an mehreren Stellen in exakt der selben Ausführung eingebunden werden, kann diese Widget in einer eigenen Datei erstellt und diese dann auf den Zielseiten automatisch mitgeladen werden.&lt;br /&gt;
&lt;br /&gt;
;Template-Seite&lt;br /&gt;
Die Template-Seite soll in diesem Beispiel &#039;&#039;template_symbol.html&#039;&#039; genannt werden. Diese wird daher zuerst im FTUI-Verzeichnis erstellt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div data-type=&amp;quot;symbol&amp;quot;&lt;br /&gt;
     data-device=&amp;quot;dummy1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Haupt-Seite&lt;br /&gt;
Die oben erstellte Template-Seite kann nun in jeder gewünschten Seite eingebunden werden.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; highlight=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;gridster&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;ul&amp;gt;&lt;br /&gt;
      &amp;lt;li data-row=&amp;quot;1&amp;quot; data-col=&amp;quot;1&amp;quot; data-sizey=&amp;quot;1&amp;quot; data-sizex=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;div data-template=&amp;quot;template_symbol.html&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Gridster-Element===&lt;br /&gt;
Natürlich kann auch ein ganzes Gridster-Element - in diesem Fall ein Menü - als Template eingebunden werden.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li data-row=&amp;quot;1&amp;quot; data-col=&amp;quot;1&amp;quot; data-sizex=&amp;quot;1&amp;quot; data-sizey=&amp;quot;4&amp;quot; data-template=&amp;quot;menu.html&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Widget-Gruppen ===&lt;br /&gt;
Die Template-Datei des [[#Einzelnes Widget|ersten Beispiels]] kann natürlich auch mehrere Widgets auf einmal enthalten.&lt;br /&gt;
&lt;br /&gt;
=== Verwendung von Variablen ===&lt;br /&gt;
==== Einfaches Beispiel ====&lt;br /&gt;
Oft wird ein und dasselbe Widget für verschiedenen Devices verwendet. Um nicht für jedes Device das Widget neu kopieren zu müssen (bzw. bei Änderungen alle Seiten ausbessern zu müssen), kann ein Template verwendet werden, dem einfach per Parameter mitgeteilt wird, von welchem Device es gerade die Daten empfangen soll.&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel wird ein Template erzeugt, dass nur die Temperatur verschiedenen Thermostate mittels eines [[FTUI Widget Label|Label-Widgets]] anzeigt.&lt;br /&gt;
&lt;br /&gt;
;Template-Seite&lt;br /&gt;
Die Template-Seite enthält nur ein einfaches Label-Widget und wird in diesem Beispiel &#039;&#039;template_label.html&#039;&#039; genannt. Um sie für mehrere Devices verwenden zu können, wird im Attribut &#039;&#039;&#039;data-device&#039;&#039;&#039; der Name des eigentlichen Devices durch den Parameter &#039;&#039;&#039;par01&#039;&#039;&#039; ersetzt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; highlight=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div data-type=&amp;quot;label&amp;quot;&lt;br /&gt;
     data-device=&amp;quot;par01&amp;quot;&lt;br /&gt;
     data-get=&amp;quot;measured-temp&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Haupt-Seite&lt;br /&gt;
Auf der Haupt-Seite wird die Template-Seite mit dem Attribut &#039;&#039;&#039;data-template&#039;&#039;&#039; eingebunden und ihr via Attribut &#039;&#039;&#039;data-parameter&#039;&#039;&#039; das jeweils gewünschte Device übergeben.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;div data-template=&amp;quot;template_label.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;Thermostat1&amp;quot;}&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div data-template=&amp;quot;template_label.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;Thermostat2&amp;quot;}&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div data-template=&amp;quot;template_label.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;Thermostat3&amp;quot;}&#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wetter-Slider mit Template ====&lt;br /&gt;
In diesem Beispiel wird ein [[FTUI Widget Slider|Slider-Widget]] erstellt, welches die verschiedenen Tage eines Wetterberichtes anzeigt. Dabei wird für den Wetterbericht des jeweiligen Tages immer dasselbe Template verwendet um nicht für jeden Tag ein eigenes Widget schreiben zu müssen.&lt;br /&gt;
&lt;br /&gt;
;Template-Seite&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;AgroWeather&amp;quot; data-get=&amp;quot;par01&amp;quot; data-unit=&amp;quot;&amp;amp;deg;C&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;inline&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;AgroWeather&amp;quot; data-get=&amp;quot;par02&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
       &amp;lt;div data-type=&amp;quot;weather&amp;quot; data-device=&amp;quot;AgroWeather&amp;quot; data-get=&amp;quot;par02&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
       min:&amp;amp;nbsp;&amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;AgroWeather&amp;quot; data-get=&amp;quot;par03&amp;quot; data-unit=&amp;quot;&amp;amp;deg;C&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;AgroWeather&amp;quot; data-get=&amp;quot;par04&amp;quot; data-substitution=&amp;quot;toDate().eeee()+&#039;,&#039;&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;AgroWeather&amp;quot; data-get=&amp;quot;par04&amp;quot; data-substitution=&amp;quot;toDate().ddmm()&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Haupt-Seite&lt;br /&gt;
In der Haupt-Seite wird das Template dann für jede Slider-Seite eingebunden und das Reading für den jeweiligen Tag via Parameter übergeben.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;div data-type=&amp;quot;swiper&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
   &amp;lt;li data-template=&amp;quot;templates/wetter.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;fc0_tempMax&amp;quot;,&amp;quot;par02&amp;quot;:&amp;quot;fc0_weatherDay&amp;quot;,&amp;quot;par03&amp;quot;:&amp;quot;fc0_tempMin&amp;quot;,&amp;quot;par04&amp;quot;:&amp;quot;fc0_date&amp;quot;}&#039;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li data-template=&amp;quot;templates/wetter.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;fc1_tempMax&amp;quot;,&amp;quot;par02&amp;quot;:&amp;quot;fc1_weatherDay&amp;quot;,&amp;quot;par03&amp;quot;:&amp;quot;fc1_tempMin&amp;quot;,&amp;quot;par04&amp;quot;:&amp;quot;fc1_date&amp;quot;}&#039;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li data-template=&amp;quot;templates/wetter.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;fc2_tempMax&amp;quot;,&amp;quot;par02&amp;quot;:&amp;quot;fc2_weatherDay&amp;quot;,&amp;quot;par03&amp;quot;:&amp;quot;fc2_tempMin&amp;quot;,&amp;quot;par04&amp;quot;:&amp;quot;fc2_date&amp;quot;}&#039;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li data-template=&amp;quot;templates/wetter.html&amp;quot; data-parameter=&#039;{&amp;quot;par01&amp;quot;:&amp;quot;fc3_tempMax&amp;quot;,&amp;quot;par02&amp;quot;:&amp;quot;fc3_weatherDay&amp;quot;,&amp;quot;par03&amp;quot;:&amp;quot;fc3_tempMin&amp;quot;,&amp;quot;par04&amp;quot;:&amp;quot;fc3_date&amp;quot;}&#039;&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript-Funktionen ==&lt;br /&gt;
Neben den Widgets können auch einige JavaScript-Funktionen verwendet werden, um Befehle an FHEM zu senden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgende Zeile setzt einen direkten Befehl an FHEM ab (&amp;lt;code&amp;gt;set dummy1 off&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;div onclick=&amp;quot;ftui.setFhemStatus(&#039;set dummy1 off&#039;)&amp;quot;&amp;gt;Dummy1 aus&amp;lt;/div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Zeile veranlasst FHEM dazu, eine Funktion aus der 99_myUtils.pm auszuführen (&amp;lt;code&amp;gt;myUtils_HeizungUpDown(&amp;quot;WZ.Thermostat_Climate&amp;quot;,&amp;quot;up&amp;quot;)&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;div onclick=&amp;quot;ftui.setFhemStatus(&#039;{myUtils_HeizungUpDown(&amp;amp;quot;WZ.Thermostat_Climate&amp;amp;quot;,&amp;amp;quot;up&amp;amp;quot;)}&#039;)&amp;quot;&amp;gt;+&amp;lt;/div&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel, wie ein Kommando an FHEM gesendet wird und gleichzeitig der Wert eines bereits in FTUI angezeigten Readings verwendet werden kann:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div data-type=&amp;quot;label&amp;quot; data-device=&amp;quot;dummy1&amp;quot; data-get=&amp;quot;temperature&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div onClick=&amp;quot;ftui.setFhemStatus(&#039;set dummy2 &#039;+ftui.getDeviceParameter(&#039;dummy1&#039;,&#039;temperature&#039;).val);&amp;quot;&amp;gt;Senden&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eigene Widgets erstellen ==&lt;br /&gt;
Wie eigenen Widgets für FTUI erstellt werden können, ist auf der Seite [[FTUI eigene Widgets]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
Eine Schritt für Schritt Anleitung für das erste eigene Widget gibts hier [[FTUI eigene Widgets - Beispiel]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
Häufig gestellte Fragen zum FHEM Tablet UI sind in der [[FHEM Tablet UI FAQ]] zusammengestellt.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/knowthelist/fhem-tablet-ui Projekt auf Github]&lt;br /&gt;
* {{Link2Forum|Topic=34233|LinkText=Forums-Beitrag}}&lt;br /&gt;
* [[FTUI_Snippets|Snippets]]&lt;br /&gt;
* [http://knowthelist.github.io/fhem/tablet/demo_widgets.html Live-Demos]&lt;br /&gt;
* [https://waschto.eu/fhem-und-tabletui-livedemo/ FHEM und TabletUI Live-Demo]&lt;br /&gt;
* {{Link2Forum|Topic=37378|LinkText=User-Demos}}&lt;br /&gt;
* [https://github.com/ovibox/fhem-ftui-user-demos Download der User-Demo-Dateien]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Tablet UI|!]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=34397</id>
		<title>HM-CFG-USB USB Konfigurations-Adapter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-CFG-USB_USB_Konfigurations-Adapter&amp;diff=34397"/>
		<updated>2020-12-16T13:19:40Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: /* Einrichtung unter Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-CFG-USB-2.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic USB Konfigurationsadapter (Version 2)&lt;br /&gt;
|HWProtocol=HomeMatic &lt;br /&gt;
|HWType=Interface/Gateway&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868,3 MHz&lt;br /&gt;
|HWChannels=&lt;br /&gt;
|HWVoltage=5 V&lt;br /&gt;
|HWPowerConsumption=&lt;br /&gt;
|HWPoweredBy=USB-Bus&lt;br /&gt;
|HWSize=V1: 40 x 90 x 25 mm&amp;lt;br /&amp;gt;V2: 28 x 84 x 11,5 mm&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
&amp;lt;!-- |ModOwner=  --&amp;gt;&lt;br /&gt;
|HWManufacturer=eQ-3&lt;br /&gt;
}}&lt;br /&gt;
Der [[HomeMatic]] &#039;&#039;&#039;USB Konfigurations-Adapter&#039;&#039;&#039; ist ein USB-Stick, der außer zur Konfiguration von HomeMatic-Komponenten auch als [[Interface]] zwischen FHEM und HomeMatic-Geräten benutzt werden kann. Er existiert in zwei Versionen: der älteren HM-CFG-USB und der neueren HM-CFG-USB2. Die folgenden Beschreibungen gelten für beide Versionen, es sei denn, es ist ausdrücklich eine spezifische Version genannt.&lt;br /&gt;
&lt;br /&gt;
== Einbindung in FHEM ==&lt;br /&gt;
Im FHEM-Forum wird die Einbindung als Interface in diesem {{Link2Forum|Topic=13071}} beschrieben und diskutiert. Im {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} wird eine gut funktionierende HMLAN-Emulationssoftware [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland] von ihrem Entwickler vorgestellt, um den HM-CFG-USB in FHEM zu integrieren. Die HMLAN-Emulationssoftware muss zunächst kompiliert und installiert werden. Anschließend wird der HM-CFG-USB (üblicherweise auf localhost) genau wie [[HM-CFG-LAN LAN Konfigurations-Adapter|HMLAN]] in FHEM eingebunden. &lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Linux ===&lt;br /&gt;
Die Schritte zur Kompilierung und Installation hat der hmland-Entwickler sowohl auf der [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland-Internetseite] in Englisch (kurz) als auch im oben genannten {{Link2Forum|Topic=13071|Message=79872|LinkText=Eröffnungsbeitrag}} in Deutsch (ausführlich) dargestellt. Die dort gemachten Angaben werden auch bei Bedarf aktualisiert und sind deshalb der beste Anlaufpunkt für Kompilierung und Installation. &lt;br /&gt;
&lt;br /&gt;
{{Randnotiz|RNTyp=Info|RNText=&#039;&#039;&#039;Skript zur Kompletteinrichtung unter Linux&#039;&#039;&#039;&lt;br /&gt;
Dieser {{Link2Forum|Topic=13071|Message=190887|LinkText=Bericht}} im Forum stellt ein Script vor, das &#039;&#039;hmland&#039;&#039; herunterlädt, übersetzt (kompiliert), installiert sowie ein init-Script anlegt, so dass fast keine manuellen Eingriffe mehr notwendig sind.}}&lt;br /&gt;
Die nachfolgenden Angaben in diesem Abschnitt sind rein zu Informationszwecken (noch) enthalten: &lt;br /&gt;
&lt;br /&gt;
Zunächst muss die HMLAN-Emulationssoftware kompiliert werden. Analog zu [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb dieser Beschreibung] ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /opt/&lt;br /&gt;
 apt-get install build-essential libusb-1.0-0-dev make gcc git&lt;br /&gt;
 git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
 cd hmcfgusb&lt;br /&gt;
 make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach kann der Dienst (zu Testzwecken sind Debugging-Ausgaben mit &amp;lt;code&amp;gt;-D&amp;lt;/code&amp;gt; aktiviert) gestartet werden:&lt;br /&gt;
:&amp;lt;code&amp;gt; /opt/hmcfgusb/hmland -p 1000 -D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start als Daemon ====&lt;br /&gt;
Um &#039;&#039;hmland&#039;&#039; automatisch als Daemon bei &#039;&#039;&#039;init.d Systemen&#039;&#039;&#039; zu starten, kann ein init-Script genutzt werden. Die Quellen von &#039;&#039;hmland&#039;&#039; enthalten ein solches Script im &amp;lt;code&amp;gt;debian/&amp;lt;/code&amp;gt; Unterverzeichnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cp /opt/hmcfgusb/debian/hmland.init /etc/init.d/hmland&lt;br /&gt;
cp /opt/hmcfgusb/debian/hmland.default /etc/default/hmland&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einstellungen, beispielsweise der Port, auf dem &#039;&#039;hmland&#039;&#039; hört, können (und sollten) in der Datei &amp;lt;code&amp;gt;/etc/default/hmland&amp;lt;/code&amp;gt; vorgenommen werden. Wichtig: Wenn diese Anleitung befolgt wurde, muss in der Datei &amp;lt;code&amp;gt;/etc/init.d/hmland&amp;lt;/code&amp;gt; die folgende Zeile wie folgt angepasst werden (&amp;lt;code&amp;gt;/hm&amp;lt;/code&amp;gt; aus dem Pfad entfernen), damit der automatische Start des Daemon klappt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
DAEMON=/opt/hmcfgusb/$NAME # Introduce the server&#039;s location here&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die kopierte Datei mit &amp;lt;code&amp;gt;chmod 755 /etc/init.d/hmland&amp;lt;/code&amp;gt; ausführbar machen, anschließend kann &#039;&#039;hmland&#039;&#039; mit folgendem Befehl gestartet werden:&lt;br /&gt;
:&amp;lt;code&amp;gt;/etc/init.d/hmland start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Start mit systemd ====&lt;br /&gt;
Bei Distributionen, die &#039;&#039;&#039;systemd&#039;&#039;&#039; einsetzen (z.B. Debian Stretch) kann folgende Konfigurationsdatei verwendet werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Homematic LAN Adapter service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/opt/hmcfgusb/hmland -p 1000&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei muss dann natürlich der Port (1000) an die eigene Konfiguration angepasst werden und auch der Pfad wo sich der &amp;lt;Code&amp;gt; hmland&amp;lt;/Code&amp;gt; befindet, wenn man sich an oben stehendem Beispiel orientiert wäre das dann &amp;lt;Code&amp;gt;/opt/hmcfgusb/&amp;lt;/Code&amp;gt;&lt;br /&gt;
Diese Datei muss dann als &amp;lt;Code&amp;gt;hmland.service&amp;lt;/Code&amp;gt; unter &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;/etc/systemd/system&amp;lt;/syntaxhighlight&amp;gt; abgelegt werden.&lt;br /&gt;
&lt;br /&gt;
Nun muss einmalig der Befehl&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;systemctl daemon-reload&amp;lt;/syntaxhighlight&amp;gt; ausgeführt werden damit die neuen Dateien eingelesen werden.&lt;br /&gt;
Mit dem Befehl &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;systemctl enable hmland&amp;lt;/syntaxhighlight&amp;gt; wird dafür gesorgt, dass bei einem Systemstart hmland automatisch gestartet wird&lt;br /&gt;
Mit  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;systemctl status hmland &amp;lt;/syntaxhighlight&amp;gt; kann dann noch geprüft werden ob der Service läuft&lt;br /&gt;
&lt;br /&gt;
==== Start mit upstart ====&lt;br /&gt;
Bei Distributionen, die &#039;&#039;&#039;Upstart&#039;&#039;&#039; einsetzen (z.B. xbian) kann folgende Konfigurationsdatei verwendet werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# HMLAND&lt;br /&gt;
&lt;br /&gt;
description     &amp;quot;hmland&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on starting fhem&lt;br /&gt;
stop on stopped fhem&lt;br /&gt;
&lt;br /&gt;
respawn&lt;br /&gt;
expect fork&lt;br /&gt;
&lt;br /&gt;
chdir /opt/hmcfgusb&lt;br /&gt;
exec /opt/hmcfgusb/hmland -d -l 127.0.0.1 -p 1000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei sollte als &amp;lt;code&amp;gt;/etc/init/hmland.conf&amp;lt;/code&amp;gt; angelegt werden. Mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;initctl reload-configuration &amp;lt;/code&amp;gt;&lt;br /&gt;
wird Upstart angewiesen, seine Konfiguration erneut einzulesen. Danach kann der Dienst &#039;&#039;hmland&#039;&#039; mit&lt;br /&gt;
:&amp;lt;code&amp;gt;service hmland start &amp;lt;/code&amp;gt;&lt;br /&gt;
gestartet werden. &amp;lt;code&amp;gt;hmland&amp;lt;/code&amp;gt; wird jetzt immer vor FHEM gestartet und nach FHEM beendet.&lt;br /&gt;
&lt;br /&gt;
==== Start über FHEM Startskript ====&lt;br /&gt;
{{Randnotiz|RNText=Bei Systemen mit systemd (ab debian stretch) gibt es dieses Script nicht mehr. Siehe auch den Wiki Artikel [[Fhem.service (systemd unit file)]] dort mit ExecStartPre einbinden. Oder als extra Service wie im Abschnitt systemd weiter oben}}&lt;br /&gt;
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen:&lt;br /&gt;
&lt;br /&gt;
Zunächst hmland kompilieren wie oben beschrieben, bis zum make. Das muss erfolgreich durchgelaufen sein.&lt;br /&gt;
&lt;br /&gt;
Dann geht es weiter:&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo cp hmcfgusb.rules /etc/udev/rules.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt das FHEM Startskript anpassen (in den Blöcken &#039;start&#039; und &#039;stop&#039; muss quasi nur jeweils 1 Zeile eingefügt werden:&lt;br /&gt;
&lt;br /&gt;
Damit editiert man das FHEM Startskript:&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo nano /etc/init.d/fhem &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und so sollten die Blöcke anschließend aussehen (bitte nur jeweils die Zeile mit hmland einfügen)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 &#039;start&#039;)&lt;br /&gt;
        echo &amp;quot;Starting fhem...&amp;quot;&lt;br /&gt;
        /opt/hmcfgusb/hmland -d -p 1000&lt;br /&gt;
        perl fhem.pl fhem.cfg&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        ;;&lt;br /&gt;
&lt;br /&gt;
 &#039;stop&#039;)&lt;br /&gt;
        echo &amp;quot;Stopping fhem...&amp;quot;&lt;br /&gt;
        perl fhem.pl $port &amp;quot;shutdown&amp;quot;&lt;br /&gt;
        RETVAL=$?&lt;br /&gt;
        pkill hmland&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So wird hmland vor FHEM gestartet und nach FHEM beendet. Letztlich erspart es Probleme mit den diversen Startskripten und ihren Rechten.&lt;br /&gt;
&lt;br /&gt;
Es dauert nach dem Start von FHEM noch einige Sekunden, bis hmland fertig geladen ist. In dieser Zeit kann es zu fehlerhaften Einträgen im Logfile kommen.&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung auf Synology DiskStations ===&lt;br /&gt;
Packages für DSM5.2 finden sich hier:&lt;br /&gt;
https://github.com/mkunzmann/spksrc/releases/tag/0.101-3&lt;br /&gt;
&lt;br /&gt;
Welches Package für welche DS kann man hier sehen:&lt;br /&gt;
https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model&lt;br /&gt;
&lt;br /&gt;
Einfach das passende Package installieren und dann kann man den hmland über den Synology Package-Manager starten und stoppen. Während der Installation kann man den Port für hmland festlegen. Bitte einen Port &amp;gt; 1024 wählen, da der hmland nicht als root läuft. Außerdem kann ein Logfile angegeben werden. Hier am besten eine Datei auf einem USB Stick angeben die für jedermann schreibbar sein muss. Damit sollten die Platten nach wie vor in den Standby gehen.&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Mac OS X ===&lt;br /&gt;
Wie unter Linux braucht man die HMLAN-Emulationssoftware hmland, die man aus Quelltexten erstellen muss. Dazu muss man die Bibliothek libusb installieren, entweder mit einem der Paketmanager wie Fink, MacPorts oder Homebrew oder direkt aus den Quellentexten (Beispiel: &amp;quot;fink install libusb1-shlibs libusb1&amp;quot;). Hat man wie bei Linux das Quelltextarchiv für hmland heruntergeladen und ausgepackt, müssen die Dateien Makefile und hmcfgusb.c angepasst werden. &lt;br /&gt;
&lt;br /&gt;
Im Makefile muss man den Pfad zur libusb anpassen. Hat man libusb mit fink installiert, muss man, &amp;quot;/opt/local/&amp;quot; durch &amp;quot;/sw/&amp;quot; bei den CFLAGS und den LDFLAGS ersetzen und&lt;br /&gt;
das &amp;quot;-lrt&amp;quot; aus den LDLIBS entfernen. Die Library librt gibt es bei Mac OS X nicht und wird anscheinend auch nicht gebraucht. (Stimmt das eigentlich?)&lt;br /&gt;
&lt;br /&gt;
In der Datei hmcfgusb.c muss man die Zeilen 130-134 mit dem Aufruf libusb_detach_kernel_driver auskommentieren oder löschen. Der geht nicht auf Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Nach den Änderungen in den zwei Dateien, kann man wie bei Linux den Dämon hmland mit dem Kommando &amp;quot;make&amp;quot; erzeugen und mit &amp;quot;./hmland&amp;quot; ausführen. Automatisches Starten beim Booten mit launchd ist noch nicht probiert.&lt;br /&gt;
&lt;br /&gt;
Beim Start von hmland sollte man folgende Fehlermeldung in einer Endlos-Schleife erhalten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Datum Zeit: Client 127.0.0.1 connected!&lt;br /&gt;
Can&#039;t claim interface: Access denied (insufficient permissions)&lt;br /&gt;
Can&#039;t find/open hmcfgusb!&lt;br /&gt;
Datum Zeit: Connection to 127.0.0.1 closed!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch ein Start von hmland mit Superuser-Rechten ändert daran nichts. Damit das claim interface klappt, muss man eine codeless kext in den Ordner /Library/Extensions legen. Ich habe dieses (http://mspdebug.sourceforge.net/misc/ex430rf2500-kext.zip) herunter geladen. Damit es funktioniert, muss man aber in der Datei Info.plist des Bundle die Properties idProduct und idVendor ändern, entweder mit dem Property List Editor oder einem anderen Texteditor. Die beiden Properties sind etwas versteckt bei Information Property List → IOKitPersonalities → ComIntf. Bei DebugIntf und DeviceDriver scheint man es nicht ändern zu müssen, aber schaden kann es nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
idProduct: 49167&lt;br /&gt;
idVendor: 6943&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Rechte des kext-Bundles müssen auch noch gesetzt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  chmod -R 755 ex430rf2500.kext&lt;br /&gt;
  chown -R root:wheel ex430rf2500.kext&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach die Datei ex430rf2500.kext in den Ordner /Library/Extensions legen und hmland sollte dann funktionieren.&lt;br /&gt;
&lt;br /&gt;
Es kann sein, dass ab Mac OS X 10.9 der Trick mit dem codeless kext nicht mehr funktioniert, aber noch ist das nicht getestet oder bestätigt. Langfristig kann man vielleicht auch eine kext mit einem Treiber für den HM-CFG-USB USB erstellen&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung unter Windows ===&lt;br /&gt;
Bei der Einrichtung und vermutlich auch dem Betrieb unter Windows 8.1 sind wegen der erweiterten Energieverwaltungsfunktionen die von eQ-3 [http://www.eq-3.de/Downloads/eq3/pdf_FAQ/Funk-Konfigurationsdapter-USB_Windos_8.1.pdf zusammengestellten Tipps] zu befolgen.&lt;br /&gt;
&lt;br /&gt;
=== Definition(en) in der FHEM-Konfiguration ===&lt;br /&gt;
In der FHEM [[Konfiguration]] muss noch, sofern/sobald der &#039;&#039;hmland&#039;&#039; läuft, das Device eingerichtet werden mit den folgenden Anweisungen:&lt;br /&gt;
:&amp;lt;code&amp;gt;define &#039;&#039;&#039;hmusb&#039;&#039;&#039; HMLAN 127.0.0.1:1000 &amp;lt;/code&amp;gt;&lt;br /&gt;
wobei &#039;&#039;&#039;hmusb&#039;&#039;&#039; der frei wählbare Devicename ist. Anschließend sollte bzw. muss noch mit&lt;br /&gt;
:&amp;lt;code&amp;gt;attr &#039;&#039;&#039;hmusb&#039;&#039;&#039; hmId &amp;lt;&#039;&#039;&#039;hmId&#039;&#039;&#039;&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
eine &#039;&#039;&#039;hmId&#039;&#039;&#039; zugeordnet werden (dabei bitte auch die Hinweise und Regeln beachten, die im Zusammenhang mit der [[Virtueller Controller VCCU|VCCU]] beschrieben sind!&lt;br /&gt;
&lt;br /&gt;
== Firmware Update ==&lt;br /&gt;
Der Firmware Update (unter Linux) ist ebenfalls auf der [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland-Internetseite] beschrieben. Auch die letzte bekannte Firmware-Version (0.967) steht dort zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
=== Verbindung zu neueren hmland-Versionen nicht stabil ===&lt;br /&gt;
Seit Version 0.100 meldet sich die HMLAN-Emulationssoftware als USB-Interface bei FHEM. Ältere FHEM-Versionen (vor dem 19.6.2015) brechen deshalb die Verbindung ab, da sie nur ein LAN-Interface erwarten.&lt;br /&gt;
&lt;br /&gt;
Lösung: Kommandozeilenparameter &amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; dem hmland-Aufruf hinzufügen, dann meldet sich dieser wieder als LAN-Interface.&lt;br /&gt;
&lt;br /&gt;
=== Stick nicht (mehr) ansprechbar ===&lt;br /&gt;
Zitat aus dem {{Link2Forum|Topic=32502|Message=249122|LinkText=FHEM-Forum}}: &lt;br /&gt;
:&#039;&#039;... befürchte ich, dass dein Stick das Zeitliche gesegnet hat. Machen die Dinger leider sehr gerne... Ganz besonders beim Modus-Wechsel vom 10k- in den 100k-Modus, wenn man bei irgendeinem Device ein Firmwareupdate durchführt. &amp;lt;br /&amp;gt;Die gute Nachricht ist, dass der Fehler bei sämtlichen Händlern bekannt ist und anstandslos getauscht wird.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
Der USB-Stack am Raspberry Pi ist für viele Probleme verantwortlich. Daher sieht man öfter Fehlermeldungen:&lt;br /&gt;
:&amp;lt;code&amp;gt;usb-transfer took more than 100ms (1039ms), this may lead to timing problems!&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da das Timing bei HomeMatic wichtig ist führt das zu vielen Retransmits und zu unzuverlässigen Aktoren. Als Workaround kann man den USB-Stack auf die deutlich langsamere Version 1.1 stellen. Dazu fügt man folgenden Text am Anfang der Datei /boot/cmdline.txt ein:&lt;br /&gt;
:&amp;lt;code&amp;gt;dwc_otg.speed=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Informationen ==&lt;br /&gt;
Es sind zwei Versionen des HM-CFG-USB im Umlauf:&lt;br /&gt;
{{Randnotiz|RNTyp=r|RNText=Stand März 2016 ist allem Anschein nach kein HM-CFG-USB mehr im ELV Programm enthalten!}}&lt;br /&gt;
* HM-CFG-USB-2: die aktuelle Version; Kennzeichen dieser Version: &lt;br /&gt;
** Größe: 28 x 84 x 11,5&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 18&amp;amp;nbsp;g&lt;br /&gt;
** Antenne innenliegend&lt;br /&gt;
* HM-CFG-USB: Vorgängerversion; Stand 12/2013 noch Restbestände im Handel verfügbar. Dokumentation ([http://files.voelkner.de/625000-649999/646462-an-01-ml-HM_Konfigurationsadapter_CFG_USB_de_en.pdf Völkner]); Kennzeichen:&lt;br /&gt;
** Anschluss per separatem USB-Kabel&lt;br /&gt;
** abstehende Stabantenne&lt;br /&gt;
** Größe: 40 x 90 x 25&amp;amp;nbsp;mm&lt;br /&gt;
** Gewicht: 45&amp;amp;nbsp;g&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Bedienungsanleitung [http://www.eq-3.de/Downloads/eq3/pdf_produkte/HM-CFG-USB-2_-UM-eQ-3-150129-web.pdf HM-CFG-USB-2, PDF]&lt;br /&gt;
* FHEM-Forums {{Link2Forum|Topic=13071}}: HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in FHEM nutzen&lt;br /&gt;
* [http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/homematic-funk-konfigurationsadapter-usb.html eQ-3 Produktseite] zum &amp;quot;HomeMatic Funk-Konfigurationsadapter USB&amp;quot;; Downloads, technische Daten, etc.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;br /&gt;
[[Kategorie:OSX]]&lt;br /&gt;
[[Kategorie:868MHz]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Weatherdetail&amp;diff=34181</id>
		<title>FTUI Widget Weatherdetail</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Weatherdetail&amp;diff=34181"/>
		<updated>2020-11-06T17:33:44Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung: läuft nicht unter FTUI, sondern &amp;quot;nur&amp;quot; unter FUIP!&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG: gebt mir ein paar tage um die seite zu erstellen. habe die übliche ausrede: real life job&#039;&#039;&#039;&lt;br /&gt;
==Attribute==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribut&lt;br /&gt;
!Beschreibung&lt;br /&gt;
!Standard-Wert&lt;br /&gt;
!Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-device&#039;&#039;&#039;||FHEM-Device, welches die Wetterdaten bereitstellt (zzt. &#039;&#039;&#039;NUR&#039;&#039;&#039; proplanta)||||data-device=&amp;quot;Proplanta&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-detail&#039;&#039;&#039;||Alle Details welche für den aktuellen Tag angezeigt werden sollen||||data-detail=&#039;[&amp;quot;clock&amp;quot;, &amp;quot;chOfRain&amp;quot;,&amp;quot;rain&amp;quot;,&amp;quot;temp&amp;quot;,&amp;quot;weather&amp;quot;,&amp;quot;wind&amp;quot;,&amp;quot;windDir&amp;quot;,&amp;quot;icons&amp;quot;]&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
https://forum.fhem.de/index.php?topic=89884.0&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cell&amp;quot; data-type=&amp;quot;weatherdetail&amp;quot; data-device=&amp;quot;Proplanta&amp;quot; data-detail=&#039;[&amp;quot;clock&amp;quot;,&amp;quot;chOfRain&amp;quot;,&amp;quot;rain&amp;quot;,&amp;quot;temp&amp;quot;,&amp;quot;weather&amp;quot;,&amp;quot;wind&amp;quot;]&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Tablet UI|Wetter]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Scale&amp;diff=34180</id>
		<title>FTUI Widget Scale</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Scale&amp;diff=34180"/>
		<updated>2020-11-06T11:55:44Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: /* Weitere Informationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Todo|Vervollständigen}}&lt;br /&gt;
Das [[{{PAGENAME}}|Scale Widget]] ist ein Widget für [[FHEM Tablet UI]], mit dem eine horizontale oder vertikale Balkenanzeige erstellt werden kann.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ftui-widget-scale.png&lt;br /&gt;
File:ftui-widget-scale-red.png&lt;br /&gt;
File:ftui-widget-scale-vertical.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attribute==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribut&lt;br /&gt;
!Beschreibung&lt;br /&gt;
!Standard-Wert&lt;br /&gt;
!Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-device&#039;&#039;&#039;||FHEM-Device, dessen Reading Reading angezeigt werden soll||||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-get&#039;&#039;&#039;||Name des Readings, das den Wert enthält||STATE||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-min&#039;&#039;&#039;||Minimaler Wert, der angezeigt werden soll||0||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-max&#039;&#039;&#039;||Maximaler Wert, der angezeigt werden soll, oder Name des Readings, das den Maximalwert enthält||100||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-orientation&#039;&#039;&#039;||Ausrichtung des Balkens||horizontal||data-orientation=&amp;quot;vertical&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-font-size&#039;&#039;&#039;||Schriftgröße||12||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-tick&#039;&#039;&#039;||||1||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-value-interval&#039;&#039;&#039;||||50||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-extra-tick&#039;&#039;&#039;||||10||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-tick-color&#039;&#039;&#039;||||#eee||&lt;br /&gt;
|-&lt;br /&gt;
||&#039;&#039;&#039;data-limits-get&#039;&#039;&#039;||||||&lt;br /&gt;
|-&lt;br /&gt;
||&#039;&#039;&#039;data-limits&#039;&#039;&#039;||||||&lt;br /&gt;
|-&lt;br /&gt;
||&#039;&#039;&#039;data-color&#039;&#039;&#039;||||#aa6900||&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-colors&#039;&#039;&#039;||Array von Farbwerten, die die Anzeige entsprechend der Grenzwerte von &#039;&#039;&#039;data-limits&#039;&#039;&#039; einfärben||||data-colors=&#039;[&amp;quot;#dd3366&amp;quot;,&amp;quot;#ffcc00&amp;quot;,&amp;quot;#55aa44&amp;quot;]&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==CSS-Klassen==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Klasse!!Beschreibung&lt;br /&gt;
{{FTUI Klasse|notext}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
&lt;br /&gt;
==Weitere Informationen==&lt;br /&gt;
*Ankündigung des Widgets in einem [https://forum.fhem.de/index.php/topic,80326.0.html Forumsbeitrag]&lt;br /&gt;
*Beispiel auf [https://github.com/knowthelist/fhem-tablet-ui/blob/master/test/test_scale.html GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Tablet UI|Scale]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Weatherdetail&amp;diff=34179</id>
		<title>FTUI Widget Weatherdetail</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FTUI_Widget_Weatherdetail&amp;diff=34179"/>
		<updated>2020-11-06T08:59:40Z</updated>

		<summary type="html">&lt;p&gt;Originalhardy: /* Attribute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG: gebt mir ein paar tage um die seite zu erstellen. habe die übliche ausrede: real life job&#039;&#039;&#039;&lt;br /&gt;
==Attribute==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribut&lt;br /&gt;
!Beschreibung&lt;br /&gt;
!Standard-Wert&lt;br /&gt;
!Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-device&#039;&#039;&#039;||FHEM-Device, welches die Wetterdaten bereitstellt (zzt. &#039;&#039;&#039;NUR&#039;&#039;&#039; proplanta)||||data-device=&amp;quot;Proplanta&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;data-detail&#039;&#039;&#039;||Alle Details welche für den aktuellen Tag angezeigt werden sollen||||data-detail=&#039;[&amp;quot;clock&amp;quot;, &amp;quot;chOfRain&amp;quot;,&amp;quot;rain&amp;quot;,&amp;quot;temp&amp;quot;,&amp;quot;weather&amp;quot;,&amp;quot;wind&amp;quot;,&amp;quot;windDir&amp;quot;,&amp;quot;icons&amp;quot;]&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
https://forum.fhem.de/index.php?topic=89884.0&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cell&amp;quot; data-type=&amp;quot;weatherdetail&amp;quot; data-device=&amp;quot;Proplanta&amp;quot; data-detail=&#039;[&amp;quot;clock&amp;quot;,&amp;quot;chOfRain&amp;quot;,&amp;quot;rain&amp;quot;,&amp;quot;temp&amp;quot;,&amp;quot;weather&amp;quot;,&amp;quot;wind&amp;quot;]&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Tablet UI|Wetter]]&lt;/div&gt;</summary>
		<author><name>Originalhardy</name></author>
	</entry>
</feed>