<?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=MarcelK</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=MarcelK"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/MarcelK"/>
	<updated>2026-04-15T07:11:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Vitotronic_200_(Viessmann_Heizungssteuerung)&amp;diff=28762</id>
		<title>Vitotronic 200 (Viessmann Heizungssteuerung)</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Vitotronic_200_(Viessmann_Heizungssteuerung)&amp;diff=28762"/>
		<updated>2018-12-22T10:16:42Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: Links auf das neue openv-GitHub wiki geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Randnotiz|RNTyp=r|RNText=Die Verwendung des VCONTROL zur &#039;&#039;Ansteuerung&#039;&#039; eines Heizungssystems kann dieses bei unsachgemäßer Anwendung beschädigen. Für unmittelbare oder mittelbare Folgen, die sich aus dem Nachbau des Interfaces oder der Verwendung der hier zur Verfügung gestellten Information ergeben, übernimmt der Autor keine Haftung.}}&lt;br /&gt;
Eine angebundene [[Vitotronic 200 (Viessmann Heizungssteuerung)]] wird von FHEM über das Modul 89_VCONTROL.pm sowie das Modul 89_VCONTROL300.pm unterstützt. Beide Module senden direkt an die Viessmann-Anlage. Es gibt ein drittes Modul 89_VCLIENT.pm (hier der [https://forum.fhem.de/index.php/topic,78101.0.html Forenthread]), das auf dem Daemon vcontrold (siehe [https://github.com/openv/vcontrold diesen Link]) aufbaut und mit dem sich, wenn vcontrold läuft, ebenfalls die Anlage auslesen und steuern lässt. 89_VCONTROL.pm und 89_VCONTROL300.pm benötigen den Daemon nicht.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung einer Viessmann Heizung&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=VCONTROL und VCONTROL300&lt;br /&gt;
|ModFTopic=20280&lt;br /&gt;
|ModForumArea=Heizungssteuerung/Raumklima&lt;br /&gt;
|ModTechName=89_VCONTROL.pm&lt;br /&gt;
|ModOwner=adamwit ({{Link2FU|448|Forum}}/[[Benutzer Diskussion:Adam|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
Mit Hilfe verschiedener Zusatzgeräte ist es möglich, bei einer Viessmann-Heizung die Temperaturen, Timern, Verbrauch usw. auszulesen und verschiedene Heizungszustände  (Heizen, Warm Wasser, Spar Modus, Party Modus) zu steuern.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Bevor die Heizung an FHEM angebunden werden kann, muss eine entsprechende Hardware vorliegen. Die Vitotronic weist zwei LEDs sowie ein eingefrästes Viessmann-V auf, das Bestandteil der Steuerung ist. Eine der beiden Diode dient der Steuerung als Empfangsgerät, während die andere Diode Signale sendet. Durch das eingefräste V kann ein entsprechend konstruiertes Gerät passgenau an die Heizung angeschlossen werden. Derzeit sind folgende Geräte bekannt, die mit der Vitotronic kommunzieren können:&lt;br /&gt;
* Optolink-Kabel (Originalbauteil Nr. 7856059, relativ teuer: um 100 €&amp;lt;ref&amp;gt;[https://github.com/openv/openv/wiki/Adapter-Eigenbau openv-Selbstbau-Anleitung]&amp;lt;/ref&amp;gt; bzw. ca. 60 €&amp;lt;ref&amp;gt;[https://www.wolf-online-shop.de/Viessmann-Aschlussleitung-USB-Optolink-7856059::59899.html?gclid=EAIaIQobChMIzt-etMH31gIVncmyCh1Q1wSQEAQYASABEgLdrvD_BwE Wolf Online Shop]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* selbstgebaute Geräte (zum Teil kommerziell angeboten, Eigenbau ist sehr preiswert - erfordert aber Lötmaterialien)&lt;br /&gt;
&lt;br /&gt;
Der Eigenbau wird auf der eigens dazu errichteten Webseite [https://github.com/openv/openv/wiki/ openv] genauer beschrieben. &lt;br /&gt;
Man muss sich beim Eigenbau insbesondere mit der Frage befassen, über welche Schnittstelle die Hardware dann mit FHEM kommuniziert. Derzeit sind folgende Schnittstellen realisiert, deren Einbindung nach Aussage verschiedener Forenteilnehmer auch geglückt ist:&lt;br /&gt;
* USB&lt;br /&gt;
* seriell (Anschluss an RPi, dort RxTx)&lt;br /&gt;
* WLAN&lt;br /&gt;
* LAN&lt;br /&gt;
Die serielle Schnittstelle kann mit Hilfe des Programms [http://ser2net.sourceforge.net/ ser2net] auch auf eine LAN-Schnittstelle gemappt werden. Derzeit (Herbst 2017) entwickelt der Forumsteilnehmer PeMue ein allgemeines Modul, das sowohl per WLAN, USB als auch seriell an die Heizung angeschlossen werden kann: {{Link2Forum|Topic=51431|LinkText=Optolink Adapterplatine}}.&lt;br /&gt;
&lt;br /&gt;
Bevor die Software angeschlossen wird, sollte man sich Informationen bezüglich der verwendeten Heizung sowie der entsprechenden Steuerung besorgen. Diese Angaben müssen bei der Definition des Gerätes sowie in der Konfigurationsdatei in FHEM angegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Software: Einbindung in FHEM ==&lt;br /&gt;
Es existieren momentan (2017) drei verschiedene Module, die eine Einbindung der Heizung in FHEM sicherstellen: &lt;br /&gt;
# 89_VCONTROL.pm, &lt;br /&gt;
# 89_VCONTROL300.pm  &lt;br /&gt;
# 89_VCLIENT.pm&lt;br /&gt;
Das zweite Modul scheint eine schnellere Kommunikation zu ermöglichen und wird derzeit (Herbst 2017) aktiv weiterentwickelt. &lt;br /&gt;
&lt;br /&gt;
Das dritte Modul setzt einen laufenden vcontrold-Daemon voraus, der die Kommunikation mit Viessmann übernimmt und wird hier nicht weiter beschrieben (siehe dazu diesen [https://forum.fhem.de/index.php/topic,78101.0.html Foreneintrag]). &lt;br /&gt;
&lt;br /&gt;
Die Definition des Gerätes erfolgt bei den beiden ersten Modulen typischerweise wie folgt.&lt;br /&gt;
{{Randnotiz|RNText=&#039;&#039;&#039;Weiterentwicklung&#039;&#039;&#039;&lt;br /&gt;
In {{Link2Forum|Topic=51167|LinkText=diesem Forenthread}} wird über Korrekturen und Bereinigungen im Modul berichtet. }}&lt;br /&gt;
 defmod &amp;lt;name&amp;gt; VCONTROL300 &amp;lt;IP-Adresse&amp;gt;:3002 /opt/fhem/FHEM/VScotHO1_300.cfg 300 kw&lt;br /&gt;
In dem hier vorliegenden Fall wird das Modul 89_VCONTROL300.pm verwendet. Dieses kommuniziert mit einer LAN-Schnittstelle auf Port 3002 an der angegebenen IP-Adresse mit der Hardware. Im Fall eines USB-Anschluss muss der entsprechende Pfad auf die USB-Schnittstelle angegeben werden. Es wird alle 300 Sekunden abgefragt, das verwendete Protokoll lautet kw (eine andere Option besteht darin, das neuere Protokoll 300 zu verwenden). &lt;br /&gt;
&lt;br /&gt;
Zur Konfiguration wird die Datei /opt/fhem/FHEM/VScotHO1_300.cfg verwendet. Details zu dieser Datei und ihrer Funktion werden im nächsten Abschnitt erläutert.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Um die Heizung mit FHEM zu verbinden, müssen die Daten zwischen der Heizungssteuerung und dem Perl-Server ausgetauscht werden. Die Werte in der Heizungssteuerung werden an speziellen Speicheradressen (die durch vierstellige Hexadezimalzahlen beschrieben werden) gesichert, im Viessmann-device befinden sich die entsprechenden Werte dagegen in Readings. Beide Werte müssen nun eindeutig einander zugeordnet werden. Diese Zuordnung gelingt durch die im define genannte Konfigurationsdatei *.cfg, die sowohl die Speicheradressen als auch die Readingsnamen enthält. Die Datei ist zeilenweise aufgebaut (je Zeile eine Zuordnung). Dabei wird noch zwischen Lesezugriff und Schreibzugriff unterschieden, da möglicherweise verschiedene Speicheradressen involviert sind.&lt;br /&gt;
&lt;br /&gt;
Informationen zu den Speicheradressen findet man ebenfalls im Forum https://github.com/openv/openv/issues, in diesem Forum sind die Adressen teilweise als XML-Datei hinterlegt und müssen entsprechend übertragen werden. In der im Forum geposteten Datei [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=17498 Viessmann-Software-Config.zip] sind XML Dateien der original Viessmann-Software enthalten. Diese können nützlich sein, um Adressen für den eigenen Heizungstyp zu finden.&lt;br /&gt;
&lt;br /&gt;
=== Daten lesen ===&lt;br /&gt;
Die Konfiguration geschieht mit Hilfe einer cfg-Datei, die von FHEM eingelesen wird. Die Einträge in dieser Datei sind von folgendem Format (wir beschränken uns hier auf das Modul VCONTROL300, für das Modul VCONTROL sind die Einträge analog aufgebaut - dort ist allerdings ein etwas erweitertes Adressformat zu verwenden):&lt;br /&gt;
 POLL, &amp;lt;adresse&amp;gt;, &amp;lt;parse-methode&amp;gt;, &amp;lt;divisor&amp;gt;, &amp;lt;reading&amp;gt;, &amp;lt;kumulationsmethode&amp;gt;&lt;br /&gt;
Dies ist wie folgt zu verstehen. POLL zeigt an, dass Daten geholt werden. &amp;lt;adresse&amp;gt; ist die interne Viessmann-Adresse, die die zu holende Variable beherbergt. Dies ist typischerweise eine Hexadezimalzahl mit vier Stellen; beispielsweise findet man unter der Adresse 00F8 die Gerätekennung. Zum Teil können diese Adressen aus Dokumentation bezogen werden, ein Teil der Adressen ist auf der Webseite [https://github.com/openv/openv/wiki/Adressen von openv] dokumentiert. Nicht alle Adressen sind dabei korrekt, hier muss viel probiert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;divisor&amp;gt; beschreibt, ob die Größe durch eben diesen Divisor dividiert werden soll (Temperaturangaben sind etwa in Zehntelgrad), &amp;lt;reading&amp;gt; nennt den Namen des FHEM-Readings. &amp;lt;kumulationsmethode&amp;gt; kennt die Einträge - (nicht kumulieren) und &amp;quot;day&amp;quot; (über den Tag hinweg addieren). Im letzten Fall werden dann jeweils nach Mitternacht die Werte des letzten Tages ebenfalls als Readings in das Device eingetragen; bei den Readingnamen wird dann jeweils DayStart,Today und LastDay angehangen. Diese Bezeichnungen können mit Readings des Devices angepasst werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;parse-methode&amp;gt; hat die folgenden Auswahlmöglichkeiten&lt;br /&gt;
* &amp;quot;1ByteS&amp;quot;: Größe 1 Byte mit Vorzeichen, &lt;br /&gt;
* &amp;quot;2ByteS&amp;quot;: Größe 2 Byte mit Vorzeichen&lt;br /&gt;
* &amp;quot;2ByteU&amp;quot;: Größe 2 Byte ohne Vorzeichen &lt;br /&gt;
* &amp;quot;2ByteU_1stByte&amp;quot;: Größe 2 Byte ohne Vorzeichen, 1.tes Byte (allerdings im Thread nicht angegeben)&lt;br /&gt;
* &amp;quot;2ByteU_2ndByte&amp;quot;: Größe 2 Byte ohne Vorzeichen, 1.tes Byte &lt;br /&gt;
*  &amp;quot;1ByteH&amp;quot;: Größe 1 Byte, vermutlich (im Thread nicht angegeben) hexadezimalkodiert&lt;br /&gt;
*  &amp;quot;2ByteH&amp;quot;: Größe 2 Byte, vermutlich (im Thread nicht angegeben) hexadezimalkodiert&lt;br /&gt;
*  &amp;quot;2BytePercent&amp;quot;: nicht implementiert&lt;br /&gt;
*  &amp;quot;4Byte&amp;quot;: Größe 4 Byte&lt;br /&gt;
*  &amp;quot;mode&amp;quot;: einer der beiden Werte on, off&lt;br /&gt;
*  &amp;quot;date&amp;quot;: 8 Byte Datumswert (Beispiel: Do,28.09.2017 17:01:12)&lt;br /&gt;
*  &amp;quot;timer&amp;quot;: 8 Byte Timer Wert&lt;br /&gt;
 &lt;br /&gt;
Alle Größen, die mit timer kodiert sind, müssen mit einem expliziten Get-Befehl geholt werden und werden nicht automatisch gepollt. Ein User berichtet, dass diese Timerzeiten nur geholt werden konnten, nachdem das automatische Ausfüllen (&amp;quot;Mo-Fr automatic&amp;quot;) in der Steuerung ausgeschaltet und jedem Tag ein individueller Wert zugewiesen wurde.&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel soll einen Eintrag in der cfg-Datei beschreiben:&lt;br /&gt;
 POLL, 2306, 1ByteU, 1, Temperatur_Haus  , -&lt;br /&gt;
Die Viessmann-Steuerung enthält an der Speicheradresse 0x2306 den Wert für die Solltemperatur des Hauptheizkreises (oft als M1 bezeichnet). Dieser Wert hat die Größe eines unsignierten Bytes (deshalb 1ByteU). Der Wert soll in FHEM im Reading Temperatur_Haus gespeichert werden. Es soll nur der aktuelle Wert gespeichert werden, die Werte werden über den Tag hinweg nicht addiert/kumuliert (deshalb der Strich am Ende).&lt;br /&gt;
&lt;br /&gt;
=== Daten schreiben ===&lt;br /&gt;
Will man Daten senden, so ist folgendes Kommando zu verwenden&lt;br /&gt;
 SET, &amp;lt;adresse&amp;gt;, &amp;lt;adresstyp&amp;gt;, &amp;lt;multiplikator&amp;gt;, &amp;lt;setname&amp;gt;, &amp;lt;nextset oder day&amp;gt;&lt;br /&gt;
Dies ist wie folgt zu verstehen. SET zeigt an, dass Daten gesendet werden. &amp;lt;adresse&amp;gt; ist die interne Viessmann-Adresse (oft, aber nicht immer, sind die Adressen der SET-Kommandos read/write; hier muss man in den Dokumentationen nachschauen). Wieder ist dies eine Hexadezimalzahl mit vier Stellen. Adresstyp entspricht der &amp;lt;parse-methode&amp;gt; oben und gibt an, ob es sich um eine 2Byte-, eine 1Byte- oder was auch immer -Adresse handelt. Als &amp;lt;multiplikator&amp;gt; wird oft 1 verwendet; setzt man hier eine Zahl ein, so wird der zu sendende Wert mit eben diesem Multiplikator multipliziert. Beim Kennwort &amp;quot;mode&amp;quot; und &amp;quot;state&amp;quot; für &amp;lt;multiplikator&amp;gt; können auch Zustände gesendet werden (unklar, wie genau). &amp;lt;setname&amp;gt; ist der Name, mit dem in FHEMWEB auf den Wert zugegriffen wird. &lt;br /&gt;
&lt;br /&gt;
Dazu ein Beispiel. Im Reading &amp;quot;Temperatur_Haus&amp;quot; wird die Soll-Temperatur des Hauses gespeichert, die dazugehörige Kodierung sei 2306. Der entsprechende POLL-Eintrag in der *.cfg würde dann lauten&lt;br /&gt;
 POLL, 2306, 1ByteU, 1, Temperatur_Haus  , -&lt;br /&gt;
(sowohl die Adresse als auch die Übergabeform der Daten, hier 1ByteU, muss natürlich korrekt sein).  Nun soll innerhalb von FHEM durch ein Befehl der Form&lt;br /&gt;
 set &amp;lt;Viessmanndevice&amp;gt; Temperatur_Haus 25   &lt;br /&gt;
versucht werden, die Temperatur auf 25 Grad einzustellen. Damit dies möglich ist, muss in der *.cfg folgende Zeile stehen (auch hier gilt: die Adresse muss korrekt sein und es muss möglich sein, in die Steuerung zu schreiben)  &lt;br /&gt;
 SET, 2306, 1ByteU, 1, Temperatur_Haus, &amp;lt;nextset oder day&amp;gt;&lt;br /&gt;
Nextset bedeutet, dass nach diesem SET-Befehl unmittelbar ein weiterer Setbefehl ausgelöst wird (und zwar genau der, der an dieser Stelle zu finden ist). Day wird nur dann verwendet, wenn der Adresstyp &amp;quot;time&amp;quot; war. In diesem  Fall gibt day an, um welchen Wochentag, der einzustellen ist, es sich handelt. Hier sind nur Einträge der Form MO, DI bis SO möglich. Beispielsweise bedeutet&lt;br /&gt;
 SET,  2028  ,  timer,      1, TIMER_Haus_SA         , SA&lt;br /&gt;
dass das Reading TIMER_Haus_SA die Zeiten für die Heizung Samstags enthält, es sich um den Adresstyp timer handelt, die Daten in der Adresse 2028 kodiert sind und die von FHEM gesendeten Daten für Samstag festgeschrieben werden. Der FHEM-Befehl sähe dann so aus&lt;br /&gt;
 set Heizung TIMER_Haus_SA 08:00,23:00,--,--,--,--,--,--,&lt;br /&gt;
Auslesen kann man die Daten dann mit&lt;br /&gt;
 POLL, 2028, timer,  1     , TIMER_Haus_SA            , -&lt;br /&gt;
&lt;br /&gt;
Etwas umständlicher wird es, wenn eine Auswahlmöglichkeit mit vordefinierten Werten angegeben werden soll. Der Betriebszustand einer Vitotronic 100 HO1A beispielsweise kann nur die Werte 0 (nur_Warmwasser), 3 (Normalbetrieb) und 5 (Frostschutz) annehmen. Die entsprechende Adresse sei 3301. Ziel ist eine Dropdown-Liste in FHEM. Dies muss dann wie folgt in der cfg beschrieben werden&lt;br /&gt;
 SET,  3301,   mode, Betriebsart_Fussb , -  &lt;br /&gt;
 SET,  330100, 1ByteU, 1, nur_Warmwasser , -&lt;br /&gt;
 SET,  330103, 1ByteU, 1, Normalbetrieb ,  -&lt;br /&gt;
 SET,  330105, 1ByteU, 1, Frostschutz , - &lt;br /&gt;
&lt;br /&gt;
Einige User haben bereits Ihre Heizungen mit der Hilfe diese Moduls angebunden:&lt;br /&gt;
* [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=20811 V200KW1.cfg]&lt;br /&gt;
* [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=21727 VPlusHO1.cfg]&lt;br /&gt;
* [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=21728 VScotHO1.cfg]&lt;br /&gt;
* [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=22863 V200WO1B.cfg]&lt;br /&gt;
* [http://forum.fhem.de/index.php?action=dlattach;topic=20280.0;attach=23767 V300KW3_V0002.cfg]&lt;br /&gt;
* [https://forum.fhem.de/index.php/topic,67744.msg692581.html#msg692581 Vitotronic 100 HO1A]&lt;br /&gt;
* besonders umfangreiche Materialien befinden sich [https://forum.fhem.de/index.php/topic,20280.msg611057.html#msg611057 in diesem Thread]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forenthema zur {{Link2Forum|Topic=51167|LinkText=Weiterentwicklung}} des Moduls&lt;br /&gt;
* neueste Version: [https://forum.fhem.de/index.php?action=profile;area=showposts;sa=attach;u=16142 hier]&lt;br /&gt;
* Forenthema/-umfrage {{Link2Forum|Topic=51431|LinkText=Optolink Adapterplatine}}&lt;br /&gt;
* [http://www.haustechnikdialog.de/SHKwissen/341/Heizkurve Heizkennlinie erläutert]&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Heizungssteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HomeMatic_Firmware_Update&amp;diff=15380</id>
		<title>HomeMatic Firmware Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HomeMatic_Firmware_Update&amp;diff=15380"/>
		<updated>2016-05-23T08:06:51Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seit 2014 ist es möglich, bei einigen [[HomeMatic]] Komponenten selbst Firmware Updates durchzuführen. Vorher ging das nur per CCU oder durch Einsenden des Gerätes an ELV.&lt;br /&gt;
Dabei gibt es verschiedene Möglichkeiten das Firmware Update durchzuführen. Um in Fhem die aktuelle Firmware nach dem Update angezeigt zu bekommen, ist ein erneutes Pairen mit Fhem notwendig. Es muss aber nicht gelöscht oder zurückgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Varianten für Firmwareupdates ==&lt;br /&gt;
=== Firmware Update mit CUL/HM-CFG-USB unter FHEM ===&lt;br /&gt;
FW Updates sind in FHEM möglich. Benötigt wird dafür ein [[CUL]] oder ein [[HM-CFG-USB USB Konfigurations-Adapter|HM-CFG-USB]]. Mit einem [[HMLAN]] ist ein Update nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Vor dem Update ist sicherzustellen, dass das korrekte IO für das Device genutzt wird (falls mehrere IOs im System zu Verfügung stehen). Siehe Attribut IODev und IOgrp bei der Verwendung einer vCCU. &lt;br /&gt;
&lt;br /&gt;
Um das Update durchführen zu können, wird die in dem entsprechenden Zip-File vorhandene .eq3-Datei benötigt. Bitte genau darauf achten, dass nicht versehentlich eine falsches Firmware-Datei verwendet wird. Der Vorgang selbst erfolgt mittels folgendem Befehl:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; fwUpdate &amp;lt;filename&amp;gt; &amp;lt;nowiki&amp;gt;[&amp;lt;time&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;filename&amp;gt; ist der Name der .eq3 Datei inklusive absolutem oder relativem Pfad zu fhem-Root.&lt;br /&gt;
Die Angabe von [&amp;lt;time&amp;gt;] ist optional. Es ist die Zeit, die FHEM wartet, bis das Device in den Bootloader-Modus versetzt wird. Bei den meisten Devices ist die Zeit nicht notwendig, da FHEM das Gerät selbst in den Bootloader-Mode versetzen kann.&lt;br /&gt;
&lt;br /&gt;
Bei einigen älteren FW-Versionen wie z.B. bei den [[HM-CC-RT-DN]] v1.0 geht das allerdings nicht automatisch. Um den Flashvorgang zu starten, müssen hier noch die Batterien entfernt werden und beim wiedereinlegen die beiden äußeren Knöpfe gedrückt werden. Jene Zeit, die man für eben diese Aktion benötigt, wird hier eingegeben. &lt;br /&gt;
&lt;br /&gt;
Wichtig: während des Updates können keine weiteren Nachrichten in FHEM von Homematic verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Da nach dem Update immer noch die alte FW-Version in FHEM steht, kann man entweder bei einigen Geräten die Version mit&lt;br /&gt;
:&amp;lt;code&amp;gt; set &amp;lt;device&amp;gt; getVersion &amp;lt;/code&amp;gt;&lt;br /&gt;
auslesen oder wenn das Kommando wie z.B. bei den oben genannten Heizkörperventilen nicht zur Verfügung steht, genügt es, am Gerät selbst die Anlerntaste zu drücken (was am Beispiel der RTs bedeutet, dass die Boost-Taste für mindestens drei Sekunden gedrückt werden  muss). Nach der Aktualisierung der Firmware-Information in Fhem, muss die [[Konfiguration]] noch gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update mit CUL/HM-CFG-USB unter Linux ===&lt;br /&gt;
Für Linux hat mgernoth ein Updatetool erstellt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss sichergestellt werden, dass alle benötigten Pakete installiert sind. Um das Tool zu installieren und auszuführen, müssen die folgenden Pakete mit den gezeigten Befehlen installiert werden. Unter Debian:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libusb-1.0-0-dev git build-essential&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Unter OpenSuse 13.2 64 Bit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo zypper install libusb-1.0-0-dev git &lt;br /&gt;
sudo zypper install --type pattern devel_basis&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes wird der Sourcecode für das Tool heruntergeladen (vorher z.B. in den Pfad &amp;lt;code&amp;gt;/usr/src&amp;lt;/code&amp;gt; wechseln):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Und mit den Anweisungen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd hmcfgusb&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
wird daraus eine ausführbare Datei erstellt.&lt;br /&gt;
&lt;br /&gt;
Weiterhin muss die nötige Firmware heruntergeladen und entpackt werden. Die offiziellen Updates gibt es unter [http://www.eq-3.de/downloads.html eq-3 Downloads]. Die Befehle, um beispielsweise die benötigte Datei für die Firmware Version 1.4 des HM-CC-RT-DN zu erhalten lauten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://www.eq-3.de/Downloads/Software/Firmware/hm_cc_rt_dn_update_V1_4_001_141020.tgz&lt;br /&gt;
tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Zu guter Letzt muss noch das Tool mit einigen Parametern und der Seriennummer des HomeMatic Devices aufgerufen werden. Für ein Update mit einem CUL (&amp;lt;code&amp;gt;/dev/ttyACM0&amp;lt;/code&amp;gt; ist in diesem Beispiel die Adresse des CULs) muss folgendes eingegeben werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -c /dev/ttyACM0 -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Für ein Update mit einem COC muss folgendes eingegeben werden (/dev/ttyAMA0):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -c /dev/ttyAMA0 -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Für ein Update mit HM-CFG-USB&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nun muss nur noch das HomeMatic Gerät in den Update-Modus versetzt werden. Wie das geht, steht in der jeweils mit der Firmwaredatei gelieferten &amp;quot;readme&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update mit HM-CFG-USB unter Windows ===&lt;br /&gt;
Für ein Firmwareupdate unter Windows wird das &amp;quot;HomeMatic Firmware Update Tool&amp;quot; von eq-3 benötigt: [http://www.eq-3.de/downloads.html eQ-3 Downloads]. Zur Zeit ist das Update damit nur mit dem HM-CFG-USB-2 möglich, nicht aber mit dem HM-CFG-LAN oder dem HM-CFG-USB der ersten Generation.&lt;br /&gt;
&lt;br /&gt;
Nach dem Start muss die Seriennummer des HomeMatic-Device eingegeben und die Firmware-Datei ausgewählt werden. Dann wird das Update-Tool durch einen Klick auf den entsprechenden Button in &amp;quot;Bereitschaft&amp;quot; gesetzt und anschließend muss das HomeMatic-Gerät in den Update-Modus versetzt werden. Bei Unterputz-Geräten ist das eventuell gar nicht so einfach, man kann in diesem Fall aber von FHEM aus dem Gerät ein Kommando schicken um es in den Bootloader Modus zu bringen. Dies geht mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; fwUpdate onlyEnterBootLoader&amp;lt;/code&amp;gt;&lt;br /&gt;
Direkt danach sollte das Update Tool mit seiner Arbeit beginnen.&lt;br /&gt;
&lt;br /&gt;
Falls das Update-Tool beim Auswählen der Firmware-Datei abstürzt (&amp;quot;Home Matic Firmware Update Tool funktioniert nicht mehr&amp;quot;), dann stimmt wahrscheinlich etwas mit der Firmware-Datei nicht. Die Datei darf nicht ausgepackt, sondern muss als &amp;quot;.tar.gz&amp;quot;-Datei, so wie sie heruntergeladen wurde, benutzt werden. Es kann Probleme geben, wenn die Datei mit dem Internet Explorer heruntergeladen wurde. Am einfachsten ist es, die Datei mit einem anderen Browser herunterzuladen.&lt;br /&gt;
&lt;br /&gt;
== Mögliche Probleme ==&lt;br /&gt;
Lässt sich die Firmware nicht OTA auf das HomeMatic-Device flashen, kann dies folgende Ursachen haben:&lt;br /&gt;
* Die Fhem-Software ist nicht auf dem neuesten Stand. Bitte vorher ein &#039;&#039;update&#039;&#039; durchführen.&lt;br /&gt;
* &#039;&#039;&#039;Entfernung&#039;&#039;&#039; zwischen Sender und Empfänger &#039;&#039;&#039;zu klein&#039;&#039;&#039;. 1,5 bis 2 m Abstand sollten beide Geräte zueinander mindestens haben.&lt;br /&gt;
* &#039;&#039;&#039;Entfernung&#039;&#039;&#039; zwischen Sender und Empfänger &#039;&#039;&#039;zu groß&#039;&#039;&#039;. Überprüfen Sie die RSSI-Werte des zu flashenden Device. Schlechter als - 70 sollten sie nicht sein (also keine - 75 oder noch kleiner). Ansonsten muss der Abstand für die Dauer des Flashens verringert werden.&lt;br /&gt;
&lt;br /&gt;
== Tool zur Firmware Versionsprüfung ==&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3.png|mini|400px|right|Beispiel einer Liste der relevanten Firmware Updates&amp;lt;br /&amp;gt;&#039;&#039;&#039;Legende:&#039;&#039;&#039;&amp;lt;br /&amp;gt;1 - Link auf die eQ-3 Download-Seite &amp;lt;br /&amp;gt;2 - Link auf die Details des HTTPMOD Device &amp;lt;br /&amp;gt;3 - Link auf die Details des HomeMatic Device &amp;lt;br /&amp;gt;4 - (Download) Link auf die Firmware Datei &amp;lt;br /&amp;gt;5 - &amp;quot;reread&amp;quot;: Aktualisierung dieser Liste auslösen]]&lt;br /&gt;
Im Fhem-Forum wurden unter dem Titel {{Link2Forum|Topic=47729|LinkText=...Firmware Versionsprüfung}} die erforderlichen Definitionen für ein [[HTTPMOD]]-Device vorgestellt, das &lt;br /&gt;
* für alle HomeMatic Devices der aktuellen Fhem-Umgebung&lt;br /&gt;
* die derzeit benutzte Firmware Version mit&lt;br /&gt;
* einem evtl. auf der eQ-3 Seite verfügbaren Update vergleicht und&lt;br /&gt;
* alle für die aktuelle Installation relevanten Updates in einer Übersicht (siehe Screenshot) darstellt und&lt;br /&gt;
* einmal täglich (alle 86400 Sekunden) automatisch ausgeführt wird; dieses Intervall sollte nicht verkürzt, sondern eher verlängert werden. Im Bedarfsfall kann durch anklicken von &#039;&#039;&#039;&#039;&#039;reread&#039;&#039;&#039;&#039;&#039; eine sofortige Aktualisierung ausgelöst werden.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
{{Randnotiz|RNTyp=y|RNText=Sollte eine alte (vor dem 15.3.2016) Version dieser Definitionen bereits in Benutzung sein (zu erkennen am Vorhandensein von &#039;&#039;&amp;lt;nowiki&amp;gt;reading0[2|3|4|5]*&amp;lt;/nowiki&amp;gt;&#039;&#039;-Attributen), dann wird empfohlen, das Device mit &amp;lt;code&amp;gt;delete eq3&amp;lt;/code&amp;gt; zunächst komplett zu löschen und anschließend neu anzulegen.}}&lt;br /&gt;
Die unten aufgeführten erforderlichen Anweisungen zur Erstellung dieser Übersicht sind&lt;br /&gt;
* im wesentlichen über das Webinterface eingebbar (können aber auch &amp;quot;en bloc&amp;quot; in die fhem.cfg eingetragen werden - auch wenn das eigentlich nicht empfohlen ist)&lt;br /&gt;
* der umfangreiche Perl-Code für das Attribut &#039;&#039;userReadings&#039;&#039; ist dargestellt für die Eingabe über das [[FHEMWEB|Webinterface]]&lt;br /&gt;
* für das Attribut &#039;&#039;stateFormat&#039;&#039; ist die mehrzeilige Eingabe (zumindest derzeit, März 2016) nicht unterstützt, daher wurde der Code in eine Subroutine ausgelagert&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;{{Randnotiz|RNTyp=r|RNText=&#039;&#039;&#039;Wichtige Änderungen:&#039;&#039;&#039;&lt;br /&gt;
22.05.2016 - &#039;&#039;reading01Regex&#039;&#039; und &#039;&#039;reading01Format&#039;&#039; angepasst (eQ-3)&lt;br /&gt;
}}&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Basis-Definitionen für Device eq3 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
define eq3 HTTPMOD http://www.eq-3.de/ajax/downloads.php 86400&lt;br /&gt;
attr eq3 userattr enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd&lt;br /&gt;
attr eq3 enableControlSet 1&lt;br /&gt;
attr eq3 event-on-change-reading .*&lt;br /&gt;
attr eq3 event-on-update-reading LAST_ERROR,MATCHED_READINGS&lt;br /&gt;
attr eq3 reading01AutoNumLen 2&lt;br /&gt;
attr eq3 reading01Format http://www.eq-3.de/%s&lt;br /&gt;
attr eq3 reading01Name fw_link&lt;br /&gt;
attr eq3 reading01RegOpt g&lt;br /&gt;
attr eq3 reading01Regex &amp;lt;a.href=&amp;quot;(Downloads\/Software\/Firmware\/[^&amp;quot;]+)&lt;br /&gt;
attr eq3 readingMaxAge 10&lt;br /&gt;
attr eq3 readingMaxAgeReplacementMode delete&lt;br /&gt;
attr eq3 requestData.* suchtext=&amp;amp;suche_in=2&amp;amp;downloadart=11&lt;br /&gt;
attr eq3 room eq3&lt;br /&gt;
attr eq3 showError 1&lt;br /&gt;
attr eq3 showMatched 1&lt;br /&gt;
attr eq3 stateFormat {eq3StateFormat}&lt;br /&gt;
attr eq3 webCmd reread&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition/Code für Attribut userReadings ===&lt;br /&gt;
Der &amp;quot;Zugang&amp;quot; zur Eingabe des Attributs &#039;&#039;stateFormat&#039;&#039; erfolgt über die Details des Device &#039;&#039;&#039;eq3&#039;&#039;&#039; (URL: ...8083/fhem?detail=eq3).&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3-userReadings.png|mini|640px|left|&amp;quot;Der Weg&amp;quot; zur Eingabe von &#039;&#039;userReadings&#039;&#039;; durch Klick in das Eingabefeld öffnet sich ein separates Fenster.]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;Der Perl-Code, der für das Attribut &#039;&#039;userReadings&#039;&#039; eingegeben werden muss:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
newFwForDevices:MATCHED_READINGS:.* {&lt;br /&gt;
  my $ret = &amp;quot;&amp;quot;;&lt;br /&gt;
  my @data;&lt;br /&gt;
  my @eq3FwList = map{@data = ReadingsVal(&amp;quot;eq3&amp;quot;,&amp;quot;fw_link-&amp;quot;.$_,&amp;quot;?&amp;quot;) =~ m/Firmware\/(.*?)_update_V([\d_]+)_(\d\d)(\d\d)(\d\d)/; &lt;br /&gt;
            $data[0] =~ s/_/-/g;&lt;br /&gt;
            sprintf(&amp;quot;%s:%s:%s.%s.%s:%s&amp;quot;,$data[0],$data[1],$data[4],$data[3],&amp;quot;20&amp;quot;.$data[2],$_);&lt;br /&gt;
            } ReadingsVal(&amp;quot;eq3&amp;quot;,&amp;quot;MATCHED_READINGS&amp;quot;,&amp;quot;?&amp;quot;) =~ m/fw_link-(\d\d)/g;&lt;br /&gt;
            &lt;br /&gt;
  foreach my $dev (devspec2array(&amp;quot;TYPE=CUL_HM:FILTER=DEF=......:FILTER=subType!=(virtual|)&amp;quot;)) {&lt;br /&gt;
    my $md = AttrVal($dev,&amp;quot;model&amp;quot;,&amp;quot;?&amp;quot;);&lt;br /&gt;
    my $v = AttrVal($dev,&amp;quot;firmware&amp;quot;,&amp;quot;0.0&amp;quot;);&lt;br /&gt;
    my ($h,$l) = split(&#039;\.&#039;,$v);&lt;br /&gt;
    foreach my $newFw (grep m/^${md}:/i,@eq3FwList) {&lt;br /&gt;
      my ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;&lt;br /&gt;
      if(($nh &amp;gt; $h) || (($nh == $h) &amp;amp;&amp;amp; ($nl &amp;gt; $l))) {&lt;br /&gt;
        $ret .= &amp;quot;,&amp;quot; if($ret ne &amp;quot;&amp;quot;);&lt;br /&gt;
        $ret .= $dev.&amp;quot; (&amp;quot;.$md.&amp;quot; | fw_&amp;quot;.$v.&amp;quot; =&amp;gt; fw&amp;quot;.$idx.&amp;quot;_&amp;quot;.$nh.&amp;quot;.&amp;quot;.$nl.($no?sprintf(&amp;quot;.%d&amp;quot;,$no):&amp;quot;&amp;quot;).&amp;quot; | &amp;quot;.$date.&amp;quot;)&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return ($ret eq &amp;quot;&amp;quot;)?&amp;quot;no fw-updates needed!&amp;quot;:$ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition/Code für Attribut stateFormat ===&lt;br /&gt;
Da der Code für &#039;&#039;stateFormat&#039;&#039; recht umfangreich ist, wäre er als Einzeiler kaum sinnvoll zu verwalten, würde also ohnehin meistens über einen externen Editor bearbeitet werden. Daher wurde er als eigene (Sub-)Routine mit dem Namen &#039;&#039;eq3StateFormat&#039;&#039; in (z.B.) [[99_myUtils anlegen|99_myUtils]] ausgelagert:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
sub eq3StateFormat() {&lt;br /&gt;
  my $name = &amp;quot;eq3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $ret =&amp;quot;&amp;quot;;&lt;br /&gt;
  my $lastCheck = ReadingsTimestamp($name,&amp;quot;MATCHED_READINGS&amp;quot;,&amp;quot;???&amp;quot;);&lt;br /&gt;
  $ret .= &#039;&amp;lt;div style=&amp;quot;text-align:left&amp;quot;&amp;gt;&#039;;   &lt;br /&gt;
  $ret .= &#039;last &amp;lt;a title=&amp;quot;eq3-downloads&amp;quot; href=&amp;quot;http://www.eq-3.de/downloads.html&amp;quot;&amp;gt;homematic&amp;lt;/a&amp;gt;-fw-check =&amp;gt; &#039;.$lastCheck;    &lt;br /&gt;
  $ret .= &#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;;    &lt;br /&gt;
  $ret .= &#039;&amp;lt;pre&amp;gt;&#039;;   &lt;br /&gt;
  $ret .= &amp;quot;| device                  | model                   | old_fw | new_fw | release    |\n&amp;quot;;  &lt;br /&gt;
  $ret .= &amp;quot;------------------------------------------------------------------------------------\n&amp;quot;;  &lt;br /&gt;
  my $check = ReadingsVal($name,&amp;quot;newFwForDevices&amp;quot;,&amp;quot;???&amp;quot;);    &lt;br /&gt;
  if($check eq &amp;quot;no fw-updates needed!&amp;quot;) {        &lt;br /&gt;
    $ret .= &#039;| &#039;.$check.&#039;                                                            |&#039;;     &lt;br /&gt;
  } else {         &lt;br /&gt;
    my @devices = split(&#039;,&#039;,$check);         &lt;br /&gt;
    foreach my $devStr (@devices) {&lt;br /&gt;
      my ($dev,$md,$ofw,$idx,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=&amp;gt;\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;          &lt;br /&gt;
      my $link = ReadingsVal($name,&amp;quot;fw_link-&amp;quot;.$idx,&amp;quot;???&amp;quot;);           &lt;br /&gt;
      $ret .= &#039;| &#039;;          &lt;br /&gt;
      $ret .= &#039;&amp;lt;a href=&amp;quot;/fhem?detail=&#039;.$dev.&#039;&amp;quot;&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-23s&amp;quot;,$dev);             &lt;br /&gt;
      $ret .= &#039;&amp;lt;/a&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;b&#039;.(($md eq &amp;quot;?&amp;quot;)?&#039; title=&amp;quot;missing attribute model =&amp;gt; set device in teach mode to receive missing data&amp;quot; style=&amp;quot;color:yellow&amp;quot;&#039;:&#039; style=&amp;quot;color:lightgray&amp;quot;&#039;).&#039;&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-23s&amp;quot;,$md);          &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;b&#039;.(($ofw eq &amp;quot;0.0&amp;quot;)?&#039; title=&amp;quot;missing attribute firmware =&amp;gt; set device in teach mode to receive missing data&amp;quot; style=&amp;quot;color:yellow&amp;quot;&#039;:&#039; style=&amp;quot;color:lightgray&amp;quot;&#039;).&#039;&amp;gt;&#039;;              &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%6s&amp;quot;,$ofw);           &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;a title=&amp;quot;eq3-firmware.tgz&amp;quot; href=&amp;quot;&#039;.$link.&#039;&amp;quot;&amp;gt;&#039;;           &lt;br /&gt;
      $ret .= &#039;&amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;;           &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%6s&amp;quot;,$nfw);           &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &#039;&amp;lt;/a&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-10s&amp;quot;,$date);            &lt;br /&gt;
      $ret .= &amp;quot; |\n&amp;quot;;        &lt;br /&gt;
    }   &lt;br /&gt;
  }  &lt;br /&gt;
  $ret .= &#039;&amp;lt;/pre&amp;gt;&#039;;  &lt;br /&gt;
  $ret .= &#039;&amp;lt;/div&amp;gt;&#039;;  &lt;br /&gt;
  return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sondersituationen ===&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3-check.png|mini|455px|right|Fehlerbedingung: Attribut &#039;&#039;firmware&#039;&#039; nicht gesetzt]]&lt;br /&gt;
Das Tool überprüft gleichzeitig auch bestimmte Rahmenbedingungen, so z.B., ob bei allen HomeMatic Devices die Attribute &#039;&#039;model&#039;&#039; und &#039;&#039;firmware&#039;&#039; gesetzt sind. Sollte das nicht der Fall sein, wird das Device in der Liste &lt;br /&gt;
* mit einem gelben &amp;quot;old_fw&amp;quot; Wert von 0.0 geführt; befindet sich der Mauszeiger über dem &amp;quot;0.0&amp;quot;, wird der Hinweistext &#039;&#039;missing attribute firmware =&amp;gt; set device in teach mode to receive missing data&#039;&#039; angezeigt (siehe Beispiel im Screenshot)&lt;br /&gt;
* mit einem gelben {{Taste|?}} in der Spalte &amp;quot;model&amp;quot; angezeigt; befindet sich der Mauszeiger über dem &amp;quot;?&amp;quot;, wird der Hinweistext &#039;&#039;missing attribute model =&amp;gt; set device in teach mode to receive missing data&#039;&#039; angezeigt&lt;br /&gt;
In diesem Fall sollte bei dem betreffenden Gerät versucht werden, mit &#039;&#039;getConfig&#039;&#039; die Daten zu aktualisieren bzw. vervollständigen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus ist zu beachten, dass die Firmware-Version in den HomeMatic Geräten zwei&amp;quot;teilig&amp;quot; (Version.Release) abgelegt ist, die Firmware Update-Dateien jedoch drei&amp;quot;teilige&amp;quot; Versionskennungen (Version_Release_???) haben. Für den Vergleich, ob neue Firmware verfügbar ist, kann natürlich nur die zweiteilige Kennung verwendet werden, eine Änderung im dritten Teil der Versionskennung kann daher nicht automatisch erkannt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.eq-3.de/downloads.html Firmware Download] Seite von eq-3&lt;br /&gt;
* Forenthread zur {{Link2Forum|Topic=47729|LinkText=&amp;quot;Firmware Versionsprüfung&amp;quot;}}&lt;br /&gt;
* [http://git.zerfleddert.de/hmcfgusb/ Firmware Update Tool] von mgernoth&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-ES-TX-WM_Z%C3%A4hlersensor_f%C3%BCr_Strom-_und_Gasz%C3%A4hler&amp;diff=15361</id>
		<title>HM-ES-TX-WM Zählersensor für Strom- und Gaszähler</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-ES-TX-WM_Z%C3%A4hlersensor_f%C3%BCr_Strom-_und_Gasz%C3%A4hler&amp;diff=15361"/>
		<updated>2016-05-16T21:23:38Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: Details zu neuen Kanälen hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Hardware&lt;br /&gt;
|Bild=HM-EM-TX-WM.jpg&lt;br /&gt;
|Bildbeschreibung=HomeMatic Zählersensor&lt;br /&gt;
|HWProtocol=HomeMatic&lt;br /&gt;
|HWType=Powersensor&lt;br /&gt;
|HWCategory=HomeMatic&lt;br /&gt;
|HWComm=868&amp;amp;nbsp;MHz&lt;br /&gt;
|HWChannels=1&lt;br /&gt;
|HWVoltage=6 V&lt;br /&gt;
|HWPowerConsumption=30 mA&lt;br /&gt;
|HWPoweredBy=4 Batterien LR6/AA/Mignon&lt;br /&gt;
|HWSize=68x105x30mm&lt;br /&gt;
|HWDeviceFHEM=[http://fhem.de/commandref.html#CUL_HM CUL_HM]&lt;br /&gt;
|HWManufacturer=ELV / eQ-3 &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dieses Device ist seit Anfang Feb. 2015 als Bausatz auf dem Markt - dieser Artikel ist im Aufbau - bitte Verständnis für Unvollständigkeiten und fehlende Bereiche &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Der Zählersensor ist ein Datenerfassungssystem, das den Energieverbräuche (Strom, Gas) direkt am Zähler erfasst und in FHEM als laufender Saldo und als Momentanwerte verfügbar macht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technische Daten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Gewicht: 195 g (inkl. 4 LR6/Mignon/AA-Batterien)&lt;br /&gt;
&lt;br /&gt;
== Anwendungsszenarien ==&lt;br /&gt;
Mit den erfassten und gesammelten Daten lassen sich Aktionen beim Erreichen bestimmter Schwellwerte auslösen, Verbrauchs- und Kostenstatistiken erstellen sowie beliebige weitere Abhängigkeiten bilden. Durch die Funkdatenübertragung sowie den Batteriebetrieb (1 bis 2 Jahre Betriebsdauer verspricht der Hersteller mit einem Satz) ist die Installation denkbar einfach und erfordert lediglich beim Anbringen der Leseeinheit Genauigkeit.&lt;br /&gt;
&lt;br /&gt;
Im Februar 2015 hat die Auslieferung der Geräte als (einfacher) Bausatz begonnen, zu dem es &lt;br /&gt;
* einen Ferraris-Sensor (für Stromzähler mit den markanten Laufscheiben),&lt;br /&gt;
* LED-Sensor (für neue Zähler mit S0-Schnittstelle) sowie &lt;br /&gt;
* BK-G4-Gaszähler von Elster-Kromschröder (die an einer Ziffernrolle einen kleinen Magneten haben, der über einen Sensor mit Reedkontakt erfasst wird)&lt;br /&gt;
gibt. Es ist laut Hersteller [http://www.elv.de/homematic-zaehlersensor-strom-gas-bausatz.html ELV] nur der Bausatz verfügbar. Ein Fertiggerät ist aktuell nicht geplant.&lt;br /&gt;
&lt;br /&gt;
Die Zähler werden mit rückstandslos entfernbaren Klebepads angebracht.&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
 &#039;&#039;&#039;list:        register | range              | peer     | description&#039;&#039;&#039; &lt;br /&gt;
   0: pairCentral      |   0 to 16777215    |          | pairing to central &lt;br /&gt;
   1: mtrConstGas      |   0 to 655.36      |          | constant gas &lt;br /&gt;
   1: mtrConstIr       |   0 to 65536       |          | constant IR &lt;br /&gt;
   1: mtrConstLed      |   0 to 65536       |          | constant led &lt;br /&gt;
   1: mtrSensIr        | -99 to 99          |          | sensiblity IR &lt;br /&gt;
   1: mtrType          |     literal        |          | type of measurement options:LED,gas,unknown,IR &lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Der HM-ES-TX-WM sendet zyklisch im 3-Minuten Takt die aktuellen Verbrauchsdaten. Dabei ist für das Reading &amp;quot;power&amp;quot; (aktuelle Stromleistung in Watt) zu beachten, dass alle drei Minuten der &#039;&#039;zuletzt bekannte Wert&#039;&#039; gesendet wird. Das heißt im Besonderen:&lt;br /&gt;
&lt;br /&gt;
* Sollten innerhalb der drei Minuten mehrfach Impulse auftreten mit unterschiedlichen Leistungswerten, wird nur der zuletzt bekannte Wert genommen. Es findet keine Aggregation der Impulse (Mittelwert, Summe, …) statt.&lt;br /&gt;
* Sollten innerhalb der drei Minuten keinerlei Impulse auftreten, wird dennoch der zuletzt bekannte Leistungswert gesendet, auch wenn er mehrere Minuten/Stunden/Tage alt ist.&lt;br /&gt;
&lt;br /&gt;
Der state des Devices zeigt den letzten Übertragungsstatus an das Device, das Geräte unterstützt keinen Burst. D.h. einen an das Gerät abgesetzten Befehl z.B. getConfig oder einstellen von Zählerkonstanten sollte man möglichst am Geräte bestätigen, sonst könnte es sein, dass ein ACK zu spät zurück kommt und man sich anschließend im state über ein NACK wundert. &lt;br /&gt;
&lt;br /&gt;
Scheinbar gibt es für das reading energy bei 838860.7 einen Zählerüberlauf. [http://forum.fhem.de/index.php/topic,32827.msg270012.html#msg270012]&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit FHEM ==&lt;br /&gt;
Der Sensor wird mit einem FHEM im Update-Stand vom (mindestens) 7.2.2015 funktionsfähig eingebunden (getestet in der Variante mit Ferraris-Fühler). Es werden der Fühlertyp und die Fühlerkonstante richtig ausgelesen und im Reading &#039;&#039;energy&#039;&#039; die errechnete Energiemenge ausgegeben (bei Strom: Wattstunden, Wh).&lt;br /&gt;
&lt;br /&gt;
Für die perfekte Konfiguration wird auf die Seite &amp;quot;[[Heizleistung und Gasverbrauch]]&amp;quot; verwiesen, wo eine vollständige Lösung für die Umrechnung von Gasverbrauch in kW/h, Graphen und Hilfsprogramme vorgestellt wird.&lt;br /&gt;
&lt;br /&gt;
=== Readings ===&lt;br /&gt;
 &#039;&#039;&#039;Reading:       |Beispiel&#039;&#039;&#039;   &lt;br /&gt;
 D-firmware     |1.0&lt;br /&gt;
 D-serialNr     |MEQ0025452 &lt;br /&gt;
 battery        |ok&lt;br /&gt;
 boot           |off &lt;br /&gt;
 current        |0 &lt;br /&gt;
 eState         |E: 6199.9 P: 1713 I: 0 U: 0 f: 50 &lt;br /&gt;
 energy         |6199.9 &lt;br /&gt;
 energyOffset   |84413.2&lt;br /&gt;
 frequency      |50 &lt;br /&gt;
 power          |1713 &lt;br /&gt;
 powerOn        |2015-03-26 14:57:48&lt;br /&gt;
 voltage        |0&lt;br /&gt;
&lt;br /&gt;
=== Events Auszug ===&lt;br /&gt;
 &#039;&#039;&#039;Event     |Beispielswert&#039;&#039;&#039;&lt;br /&gt;
 battery*  |ok&lt;br /&gt;
 energy    |10186.6&lt;br /&gt;
 power     |283&lt;br /&gt;
 current   |0&lt;br /&gt;
 voltage   |0&lt;br /&gt;
 frequency |50&lt;br /&gt;
 eState    |E: 10186.6 P: 283 I: 0 U: 0 f: 50&lt;br /&gt;
 boot      |off&lt;br /&gt;
&lt;br /&gt;
Ein battery-Event wird nicht zyklisch getriggert. Erst wenn die Batterie tatsächlich leer ist, wird eine entsprechende Meldung vom Gerät selber gesendet und ein battery-Event getriggert (battery: low).&lt;br /&gt;
&lt;br /&gt;
Mit einem Userreading lässt sich die Angabe aus &#039;&#039;energy&#039;&#039; (zum Beispiel für einen Stromzähler (Wh)) in die auf dem Zähler übliche Angabe kWh umrechnen und zugleich mit dem Aufaddieren des Unterschieds beim Start (das Zählermodul beginnt ja mit 0 Wh, während der Zähler meist schon einige Jahre auf der &amp;quot;Rolle&amp;quot; hat) die Angaben gleichziehen:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;attr &amp;lt;DeviceName&amp;gt; userReadings kWh {sprintf(&amp;quot;%.1f&amp;quot;,ReadingsVal(&amp;quot;&amp;lt;DeviceName&amp;gt;&amp;quot;,&amp;quot;energy&amp;quot;,&amp;quot;???&amp;quot;)/1000+72031.5639)}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Nach dem Erkennen durch [[autocreate]] wird der Zählersensor mit diesen Angaben eingebunden:&lt;br /&gt;
&lt;br /&gt;
 define CUL_HM_HM_ES_TX_WM_353594 CUL_HM 353594&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 IODev CUL_0&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 actCycle 000:10&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 actStatus alive&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 expert 2_full&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 firmware 1.0&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 model HM-ES-TX-WM&lt;br /&gt;
 attr CUL_HM_HM_ES_TX_WM_353594 subType powerSensor&lt;br /&gt;
&lt;br /&gt;
Für den Betrieb mit den verschiedenen Zählern muß eines der Readings &#039;&#039;&#039;R-mtrConst&#039;&#039;&#039;XXX auf den jeweiligen verwendeten Zähler konfiguriert werden. Z.B. kann ein Ferraris-Stromzähler 100, 150 oder 200 Umdrehungen je kWh benötigen. Dies geschieht z.B. für 150 Meldungen je Einheit für einen Ferraris-Zähler mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set CUL_HM_HM_ES_TX_WM_353594 regSet mtrConstIr 150&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder für einen Gaszähler auf der 1. Rolle (d.h. 1 Impuls je 0.1 m^3)&lt;br /&gt;
:&amp;lt;code&amp;gt;set CUL_HM_HM_ES_TX_WM_353594 regSet mtrConstGas 0.1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Fhem bis zum Anfang November 2015 war hier ein kleiner Bug enthalten, der diesen Wert nicht akzeptierte. In diesem Fall läßt sich die Anzahl der Impulse direkt am Gerät über das Display einstellen.&lt;br /&gt;
&lt;br /&gt;
== Logging/Graph. Darstellung ==&lt;br /&gt;
[[Datei:PlotStromverbrauchProStunde.png|mini|400px|rechts|Beispiel der graph. Darstellung]]&lt;br /&gt;
Der Zähler wird fortlaufend aufaddiert. Mit der delta-Funktion von SVG-Plot können die Verbräuche sehr gut visualisiert werden. &lt;br /&gt;
Beispiel Stromzähler:&lt;br /&gt;
&lt;br /&gt;
 set terminal png transparent size &amp;lt;SIZE&amp;gt; crop&lt;br /&gt;
 set output &#039;&amp;lt;OUT&amp;gt;.png&#039;&lt;br /&gt;
 set xdata time&lt;br /&gt;
 set timefmt &amp;quot;%Y-%m-%d_%H:%M:%S&amp;quot;&lt;br /&gt;
 set xlabel &amp;quot; &amp;quot;&lt;br /&gt;
 set title &#039;Stündlicher Stromverbrauch | aktuell: $data{currval1} ($data{min1} / $data{avg1} / $data{max1}) kWh&#039;&lt;br /&gt;
 set ytics &lt;br /&gt;
 set y2tics &lt;br /&gt;
 set grid ytics&lt;br /&gt;
 set ylabel &amp;quot;kWh/h&amp;quot;&lt;br /&gt;
 set y2label &amp;quot;kWh/h&amp;quot;&lt;br /&gt;
 #FileLog 4:CUL_HM_HM_ES_TX_WM_353594.kWh\x3a:0:delta-h&lt;br /&gt;
 plot &amp;quot;&amp;lt;IN&amp;gt;&amp;quot; using 1:2 axes x1y2 title &#039;Line 1&#039; ls l0 lw 2 with bars&lt;br /&gt;
&lt;br /&gt;
== Wiki ToDo ==&lt;br /&gt;
Seit dem FHEM Update vom 06.03.2016 werden bei Neueinrichtung mit Autocreate 2 Kanäle angelegt. Dies entspricht der Firmware Revision 1.1:&lt;br /&gt;
* _IEC_01&lt;br /&gt;
Im Gas-Modus werden hier die Werte geliefert.&lt;br /&gt;
&lt;br /&gt;
* _IEC_02&lt;br /&gt;
Im IR-Modus kommen hier die Werte an.&lt;br /&gt;
state enthält dabei den Wert des readings energy. Möchte man hier z.B. die im letzten Zeitfenster gemessene Leistung anzeigen lassen, reading power, so hilft das Attribut stateformat&lt;br /&gt;
&amp;lt;code&amp;gt;{sprintf(&amp;quot;P: %.1f W&amp;quot;, ReadingsVal($name,&amp;quot;power&amp;quot;,0))}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmwareupdate ==&lt;br /&gt;
Das Gerät lässt sich in den Updatemodus versetzen, im dem die Batterien zunächst entfernt, dann beim Einsetzen die Anlerntaste gedrückt bleibt. die Leuchtdiode blinkt dann rot im schnellen Takt. Das FHEM-Kommando zum Senden der Firmware per &amp;lt;code&amp;gt;set &amp;lt;devicename&amp;gt; fwUpdate &amp;lt;Firmwaredatei.eq3&amp;gt;&amp;lt;/code&amp;gt; muss vor dem Einlegen der Batterie (+ &amp;quot;&amp;gt;&amp;quot; Taste) aufgegeben  werden. Erfolgt zum Zeitpunkt des Anstartens im Updatemodus keine Sendung der Firmware wird der Zählersensor normal gebootet. Die Meldung &amp;lt;code&amp;gt; &amp;lt;devicename&amp;gt; fwUpdate: fail:notInBootLoader&amp;lt;/code&amp;gt; im Filelog erscheint, wenn das FHEM fwUpdate Kommando &#039;&#039;zu spät&#039;&#039; gesendet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Update dauert etwa eine Minute. Während des Updates blinkt die Diode rot in kurzen Intervallen.&lt;br /&gt;
Nach erfolgreichen Update muss der Sensor auf die Werkseinstellungen zurückgesetzt (&amp;quot;&amp;gt;&amp;quot; Taste 4 Sekunden drücken (Display zeigt reS), kurz warten, &amp;quot;&amp;gt;&amp;quot; noch mal 4 Sekunden drücken - Zählersensor rebootet), aus der FHEM Konfiguration entfernt und neu angelernt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der Reset nicht durchgeführt wird, kommt vom Sensor immer die Fehlermeldung: einmal langes und drei mal kurzes rotes Blinken (Sitz des Auslesekopfes prüfen). Diese Meldung ist in diesem Zusammenhang ziemlich irreführend.&lt;br /&gt;
&lt;br /&gt;
Dieser Vorgang ist im changelog.txt file der Firmware unvollständig beschrieben, da hier ein Update an der CCU vorausgesetzt wird und die CCU die Firmware wohl automatisch sendet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Handbuch [http://files.elv.de/Assets/Produkte/14/1401/140143/Downloads/140143_sensor_um.pdf]&lt;br /&gt;
* Produktseite ELV: [http://www.elv.de/homematic-zaehlersensor-strom-gas-bausatz.html] &lt;br /&gt;
* Forum [http://forum.fhem.de/index.php/topic,32827.msg252161.html#msg252161]&lt;br /&gt;
* Forum [http://forum.fhem.de/index.php/topic,30936.msg234877.html#msg234877]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Energieverbrauchsmessung]]&lt;br /&gt;
[[Kategorie:Energieerzeugungsmessung]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HomeMatic_Firmware_Update&amp;diff=15339</id>
		<title>HomeMatic Firmware Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HomeMatic_Firmware_Update&amp;diff=15339"/>
		<updated>2016-05-15T23:00:31Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: Erklärung zur onlyEnterBootLoader Option bei Update mittels Windows hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seit 2014 ist es möglich, bei einigen [[HomeMatic]] Komponenten selbst Firmware Updates durchzuführen. Vorher ging das nur per CCU oder durch Einsenden des Gerätes an ELV.&lt;br /&gt;
Dabei gibt es verschiedene Möglichkeiten das Firmware Update durchzuführen. Um in Fhem die aktuelle Firmware nach dem Update angezeigt zu bekommen, ist ein erneutes Pairen mit Fhem notwendig. Es muss aber nicht gelöscht oder zurückgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Varianten für Firmwareupdates ==&lt;br /&gt;
=== Firmware Update mit CUL/HM-CFG-USB unter FHEM ===&lt;br /&gt;
FW Updates sind in FHEM möglich. Benötigt wird dafür ein [[CUL]] oder ein [[HM-CFG-USB USB Konfigurations-Adapter|HM-CFG-USB]]. Mit einem [[HMLAN]] ist ein Update nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Vor dem Update ist sicherzustellen, dass das korrekte IO für das Device genutzt wird (falls mehrere IOs im System zu Verfügung stehen). Siehe Attribut IODev und IOgrp bei der Verwendung einer vCCU. &lt;br /&gt;
&lt;br /&gt;
Um das Update durchführen zu können, wird die in dem entsprechenden Zip-File vorhandene .eq3-Datei benötigt. Bitte genau darauf achten, dass nicht versehentlich eine falsches Firmware-Datei verwendet wird. Der Vorgang selbst erfolgt mittels folgendem Befehl:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; fwUpdate &amp;lt;filename&amp;gt; &amp;lt;nowiki&amp;gt;[&amp;lt;time&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;filename&amp;gt; ist der Name der .eq3 Datei inklusive absolutem oder relativem Pfad zu fhem-Root.&lt;br /&gt;
Die Angabe von [&amp;lt;time&amp;gt;] ist optional. Es ist die Zeit, die FHEM wartet, bis das Device in den Bootloader-Modus versetzt wird. Bei den meisten Devices ist die Zeit nicht notwendig, da FHEM das Gerät selbst in den Bootloader-Mode versetzen kann.&lt;br /&gt;
&lt;br /&gt;
Bei einigen älteren FW-Versionen wie z.B. bei den [[HM-CC-RT-DN]] v1.0 geht das allerdings nicht automatisch. Um den Flashvorgang zu starten, müssen hier noch die Batterien entfernt werden und beim wiedereinlegen die beiden äußeren Knöpfe gedrückt werden. Jene Zeit, die man für eben diese Aktion benötigt, wird hier eingegeben. &lt;br /&gt;
&lt;br /&gt;
Wichtig: während des Updates können keine weiteren Nachrichten in FHEM von Homematic verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Da nach dem Update immer noch die alte FW-Version in FHEM steht, kann man entweder bei einigen Geräten die Version mit&lt;br /&gt;
:&amp;lt;code&amp;gt; set &amp;lt;device&amp;gt; getVersion &amp;lt;/code&amp;gt;&lt;br /&gt;
auslesen oder wenn das Kommando wie z.B. bei den oben genannten Heizkörperventilen nicht zur Verfügung steht, genügt es, am Gerät selbst die Anlerntaste zu drücken (was am Beispiel der RTs bedeutet, dass die Boost-Taste für mindestens drei Sekunden gedrückt werden  muss). Nach der Aktualisierung der Firmware-Information in Fhem, muss die [[Konfiguration]] noch gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update mit CUL/HM-CFG-USB unter Linux ===&lt;br /&gt;
Für Linux hat mgernoth ein Updatetool erstellt.&lt;br /&gt;
&lt;br /&gt;
Zunächst muss sichergestellt werden, dass alle benötigten Pakete installiert sind. Um das Tool zu installieren und auszuführen, müssen die folgenden Pakete mit den gezeigten Befehlen installiert werden. Unter Debian:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libusb-1.0-0-dev git build-essential&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Unter OpenSuse 13.2 64 Bit:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo zypper install libusb-1.0-0-dev git &lt;br /&gt;
sudo zypper install --type pattern devel_basis&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes wird der Sourcecode für das Tool heruntergeladen (vorher z.B. in den Pfad &amp;lt;code&amp;gt;/usr/src&amp;lt;/code&amp;gt; wechseln):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone git://git.zerfleddert.de/hmcfgusb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Und mit den Anweisungen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd hmcfgusb&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
wird daraus eine ausführbare Datei erstellt.&lt;br /&gt;
&lt;br /&gt;
Weiterhin muss die nötige Firmware heruntergeladen und entpackt werden. Die offiziellen Updates gibt es unter [http://www.eq-3.de/downloads.html eq-3 Downloads]. Die Befehle, um beispielsweise die benötigte Datei für die Firmware Version 1.4 des HM-CC-RT-DN zu erhalten lauten:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://www.eq-3.de/Downloads/Software/Firmware/hm_cc_rt_dn_update_V1_4_001_141020.tgz&lt;br /&gt;
tar xvzf hm_cc_rt_dn_update_V1_4_001_141020.tgz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Zu guter Letzt muss noch das Tool mit einigen Parametern und der Seriennummer des HomeMatic Devices aufgerufen werden. Für ein Update mit einem CUL (&amp;lt;code&amp;gt;/dev/ttyACM0&amp;lt;/code&amp;gt; ist in diesem Beispiel die Adresse des CULs) muss folgendes eingegeben werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -c /dev/ttyACM0 -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Für ein Update mit einem COC muss folgendes eingegeben werden (/dev/ttyAMA0):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -c /dev/ttyAMA0 -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Für ein Update mit HM-CFG-USB&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ./flash-ota -f &amp;lt;FirmwareImageName&amp;gt;.eq3 -s &amp;lt;DeviceSerialNo&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nun muss nur noch das HomeMatic Gerät in den Update-Modus versetzt werden. Wie das geht, steht in der jeweils mit der Firmwaredatei gelieferten &amp;quot;readme&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Firmware Update mit HM-CFG-USB unter Windows ===&lt;br /&gt;
Für ein Firmwareupdate unter Windows wird das &amp;quot;HomeMatic Firmware Update Tool&amp;quot; von eq-3 benötigt: [http://www.eq-3.de/downloads.html eQ-3 Downloads]. Zur Zeit ist das Update damit nur mit dem HM-CFG-USB-2 möglich, nicht aber mit dem HM-CFG-LAN oder dem HM-CFG-USB der ersten Generation.&lt;br /&gt;
&lt;br /&gt;
Nach dem Start muss die Seriennummer des HomeMatic-Device eingegeben und die Firmware-Datei ausgewählt werden. Dann wird das Update-Tool durch einen Klick auf den entsprechenden Button in &amp;quot;Bereitschaft&amp;quot; gesetzt und anschließend muss das HomeMatic-Gerät in den Update-Modus versetzt werden. Bei Unterputz-Geräten ist das eventuell gar nicht so einfach, man kann in diesem Fall aber von FHEM aus dem Gerät ein Kommando schicken um es in den Bootloader Modus zu bringen. Dies geht mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;device&amp;gt; fwUpdate onlyEnterBootloader&amp;lt;/code&amp;gt;&lt;br /&gt;
Direkt danach sollte das Update Tool mit seiner Arbeit beginnen.&lt;br /&gt;
&lt;br /&gt;
Falls das Update-Tool beim Auswählen der Firmware-Datei abstürzt (&amp;quot;Home Matic Firmware Update Tool funktioniert nicht mehr&amp;quot;), dann stimmt wahrscheinlich etwas mit der Firmware-Datei nicht. Die Datei darf nicht ausgepackt, sondern muss als &amp;quot;.tar.gz&amp;quot;-Datei, so wie sie heruntergeladen wurde, benutzt werden. Es kann Probleme geben, wenn die Datei mit dem Internet Explorer heruntergeladen wurde. Am einfachsten ist es, die Datei mit einem anderen Browser herunterzuladen.&lt;br /&gt;
&lt;br /&gt;
== Mögliche Probleme ==&lt;br /&gt;
Lässt sich die Firmware nicht OTA auf das HomeMatic-Device flashen, kann dies folgende Ursachen haben:&lt;br /&gt;
* Die Fhem-Software ist nicht auf dem neuesten Stand. Bitte vorher ein &#039;&#039;update&#039;&#039; durchführen.&lt;br /&gt;
* &#039;&#039;&#039;Entfernung&#039;&#039;&#039; zwischen Sender und Empfänger &#039;&#039;&#039;zu klein&#039;&#039;&#039;. 1,5 bis 2 m Abstand sollten beide Geräte zueinander mindestens haben.&lt;br /&gt;
* &#039;&#039;&#039;Entfernung&#039;&#039;&#039; zwischen Sender und Empfänger &#039;&#039;&#039;zu groß&#039;&#039;&#039;. Überprüfen Sie die RSSI-Werte des zu flashenden Device. Schlechter als - 70 sollten sie nicht sein (also keine - 75 oder noch kleiner). Ansonsten muss der Abstand für die Dauer des Flashens verringert werden.&lt;br /&gt;
&lt;br /&gt;
== Tool zur Firmware Versionsprüfung ==&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3.png|mini|400px|right|Beispiel einer Liste der relevanten Firmware Updates&amp;lt;br /&amp;gt;&#039;&#039;&#039;Legende:&#039;&#039;&#039;&amp;lt;br /&amp;gt;1 - Link auf die eQ-3 Download-Seite &amp;lt;br /&amp;gt;2 - Link auf die Details des HTTPMOD Device &amp;lt;br /&amp;gt;3 - Link auf die Details des HomeMatic Device &amp;lt;br /&amp;gt;4 - (Download) Link auf die Firmware Datei &amp;lt;br /&amp;gt;5 - &amp;quot;reread&amp;quot;: Aktualisierung dieser Liste auslösen]]&lt;br /&gt;
Im Fhem-Forum wurden unter dem Titel {{Link2Forum|Topic=47729|LinkText=...Firmware Versionsprüfung}} die erforderlichen Definitionen für ein [[HTTPMOD]]-Device vorgestellt, das &lt;br /&gt;
* für alle HomeMatic Devices der aktuellen Fhem-Umgebung&lt;br /&gt;
* die derzeit benutzte Firmware Version mit&lt;br /&gt;
* einem evtl. auf der eQ-3 Seite verfügbaren Update vergleicht und&lt;br /&gt;
* alle für die aktuelle Installation relevanten Updates in einer Übersicht (siehe Screenshot) darstellt und&lt;br /&gt;
* einmal täglich (alle 86400 Sekunden) automatisch ausgeführt wird; dieses Intervall sollte nicht verkürzt, sondern eher verlängert werden. Im Bedarfsfall kann durch anklicken von &#039;&#039;&#039;&#039;&#039;reread&#039;&#039;&#039;&#039;&#039; eine sofortige Aktualisierung ausgelöst werden.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
{{Randnotiz|RNTyp=y|RNText=Sollte eine alte (vor dem 15.3.2016) Version dieser Definitionen bereits in Benutzung sein (zu erkennen am Vorhandensein von &#039;&#039;&amp;lt;nowiki&amp;gt;reading0[2|3|4|5]*&amp;lt;/nowiki&amp;gt;&#039;&#039;-Attributen), dann wird empfohlen, das Device mit &amp;lt;code&amp;gt;delete eq3&amp;lt;/code&amp;gt; zunächst komplett zu löschen und anschließend neu anzulegen.}}&lt;br /&gt;
Die unten aufgeführten erforderlichen Anweisungen zur Erstellung dieser Übersicht sind&lt;br /&gt;
* im wesentlichen über das Webinterface eingebbar (können aber auch &amp;quot;en bloc&amp;quot; in die fhem.cfg eingetragen werden - auch wenn das eigentlich nicht empfohlen ist)&lt;br /&gt;
* der umfangreiche Perl-Code für das Attribut &#039;&#039;userReadings&#039;&#039; ist dargestellt für die Eingabe über das [[FHEMWEB|Webinterface]]&lt;br /&gt;
* für das Attribut &#039;&#039;stateFormat&#039;&#039; ist die mehrzeilige Eingabe (zumindest derzeit, März 2016) nicht unterstützt, daher wurde der Code in eine Subroutine ausgelagert&lt;br /&gt;
&lt;br /&gt;
=== Basis-Definitionen für Device eq3 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
define eq3 HTTPMOD http://www.eq-3.de/ajax/downloads.php 86400&lt;br /&gt;
attr eq3 userattr enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd&lt;br /&gt;
attr eq3 enableControlSet 1&lt;br /&gt;
attr eq3 event-on-change-reading .*&lt;br /&gt;
attr eq3 event-on-update-reading LAST_ERROR,MATCHED_READINGS&lt;br /&gt;
attr eq3 reading01AutoNumLen 2&lt;br /&gt;
attr eq3 reading01Format http://www.eq-3.de%s&lt;br /&gt;
attr eq3 reading01Name fw_link&lt;br /&gt;
attr eq3 reading01RegOpt g&lt;br /&gt;
attr eq3 reading01Regex &amp;lt;a.href=\&amp;quot;(\/Downloads\/Software\/Firmware\/[^&amp;quot;]+)\&amp;quot;&lt;br /&gt;
attr eq3 readingMaxAge 10&lt;br /&gt;
attr eq3 readingMaxAgeReplacementMode delete&lt;br /&gt;
attr eq3 requestData.* suchtext=&amp;amp;suche_in=2&amp;amp;downloadart=11&lt;br /&gt;
attr eq3 room eq3&lt;br /&gt;
attr eq3 showError 1&lt;br /&gt;
attr eq3 showMatched 1&lt;br /&gt;
attr eq3 stateFormat {eq3StateFormat}&lt;br /&gt;
attr eq3 webCmd reread&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition/Code für Attribut userReadings ===&lt;br /&gt;
Der &amp;quot;Zugang&amp;quot; zur Eingabe des Attributs &#039;&#039;stateFormat&#039;&#039; erfolgt über die Details des Device &#039;&#039;&#039;eq3&#039;&#039;&#039; (URL: ...8083/fhem?detail=eq3).&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3-userReadings.png|mini|640px|left|&amp;quot;Der Weg&amp;quot; zur Eingabe von &#039;&#039;userReadings&#039;&#039;; durch Klick in das Eingabefeld öffnet sich ein separates Fenster.]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;Der Perl-Code, der für das Attribut &#039;&#039;userReadings&#039;&#039; eingegeben werden muss:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
newFwForDevices:MATCHED_READINGS:.* {&lt;br /&gt;
  my $ret = &amp;quot;&amp;quot;;&lt;br /&gt;
  my @data;&lt;br /&gt;
  my @eq3FwList = map{@data = ReadingsVal(&amp;quot;eq3&amp;quot;,&amp;quot;fw_link-&amp;quot;.$_,&amp;quot;?&amp;quot;) =~ m/Firmware\/(.*?)_update_V([\d_]+)_(\d\d)(\d\d)(\d\d)/; &lt;br /&gt;
            $data[0] =~ s/_/-/g;&lt;br /&gt;
            sprintf(&amp;quot;%s:%s:%s.%s.%s:%s&amp;quot;,$data[0],$data[1],$data[4],$data[3],&amp;quot;20&amp;quot;.$data[2],$_);&lt;br /&gt;
            } ReadingsVal(&amp;quot;eq3&amp;quot;,&amp;quot;MATCHED_READINGS&amp;quot;,&amp;quot;?&amp;quot;) =~ m/fw_link-(\d\d)/g;&lt;br /&gt;
            &lt;br /&gt;
  foreach my $dev (devspec2array(&amp;quot;TYPE=CUL_HM:FILTER=DEF=......:FILTER=subType!=(virtual|)&amp;quot;)) {&lt;br /&gt;
    my $md = AttrVal($dev,&amp;quot;model&amp;quot;,&amp;quot;?&amp;quot;);&lt;br /&gt;
    my $v = AttrVal($dev,&amp;quot;firmware&amp;quot;,&amp;quot;0.0&amp;quot;);&lt;br /&gt;
    my ($h,$l) = split(&#039;\.&#039;,$v);&lt;br /&gt;
    foreach my $newFw (grep m/^${md}:/i,@eq3FwList) {&lt;br /&gt;
      my ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;&lt;br /&gt;
      if(($nh &amp;gt; $h) || (($nh == $h) &amp;amp;&amp;amp; ($nl &amp;gt; $l))) {&lt;br /&gt;
        $ret .= &amp;quot;,&amp;quot; if($ret ne &amp;quot;&amp;quot;);&lt;br /&gt;
        $ret .= $dev.&amp;quot; (&amp;quot;.$md.&amp;quot; | fw_&amp;quot;.$v.&amp;quot; =&amp;gt; fw&amp;quot;.$idx.&amp;quot;_&amp;quot;.$nh.&amp;quot;.&amp;quot;.$nl.($no?sprintf(&amp;quot;.%d&amp;quot;,$no):&amp;quot;&amp;quot;).&amp;quot; | &amp;quot;.$date.&amp;quot;)&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return ($ret eq &amp;quot;&amp;quot;)?&amp;quot;no fw-updates needed!&amp;quot;:$ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Definition/Code für Attribut stateFormat ===&lt;br /&gt;
Da der Code für &#039;&#039;stateFormat&#039;&#039; recht umfangreich ist, wäre er als Einzeiler kaum sinnvoll zu verwalten, würde also ohnehin meistens über einen externen Editor bearbeitet werden. Daher wurde er als eigene (Sub-)Routine mit dem Namen &#039;&#039;eq3StateFormat&#039;&#039; in (z.B.) [[99_myUtils anlegen|99_myUtils]] ausgelagert:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
sub eq3StateFormat() {&lt;br /&gt;
  my $name = &amp;quot;eq3&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my $ret =&amp;quot;&amp;quot;;&lt;br /&gt;
  my $lastCheck = ReadingsTimestamp($name,&amp;quot;MATCHED_READINGS&amp;quot;,&amp;quot;???&amp;quot;);&lt;br /&gt;
  $ret .= &#039;&amp;lt;div style=&amp;quot;text-align:left&amp;quot;&amp;gt;&#039;;   &lt;br /&gt;
  $ret .= &#039;last &amp;lt;a title=&amp;quot;eq3-downloads&amp;quot; href=&amp;quot;http://www.eq-3.de/downloads.html&amp;quot;&amp;gt;homematic&amp;lt;/a&amp;gt;-fw-check =&amp;gt; &#039;.$lastCheck;    &lt;br /&gt;
  $ret .= &#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;;    &lt;br /&gt;
  $ret .= &#039;&amp;lt;pre&amp;gt;&#039;;   &lt;br /&gt;
  $ret .= &amp;quot;| device                  | model                   | old_fw | new_fw | release    |\n&amp;quot;;  &lt;br /&gt;
  $ret .= &amp;quot;------------------------------------------------------------------------------------\n&amp;quot;;  &lt;br /&gt;
  my $check = ReadingsVal($name,&amp;quot;newFwForDevices&amp;quot;,&amp;quot;???&amp;quot;);    &lt;br /&gt;
  if($check eq &amp;quot;no fw-updates needed!&amp;quot;) {        &lt;br /&gt;
    $ret .= &#039;| &#039;.$check.&#039;                                                            |&#039;;     &lt;br /&gt;
  } else {         &lt;br /&gt;
    my @devices = split(&#039;,&#039;,$check);         &lt;br /&gt;
    foreach my $devStr (@devices) {&lt;br /&gt;
      my ($dev,$md,$ofw,$idx,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=&amp;gt;\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;          &lt;br /&gt;
      my $link = ReadingsVal($name,&amp;quot;fw_link-&amp;quot;.$idx,&amp;quot;???&amp;quot;);           &lt;br /&gt;
      $ret .= &#039;| &#039;;          &lt;br /&gt;
      $ret .= &#039;&amp;lt;a href=&amp;quot;/fhem?detail=&#039;.$dev.&#039;&amp;quot;&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-23s&amp;quot;,$dev);             &lt;br /&gt;
      $ret .= &#039;&amp;lt;/a&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;b&#039;.(($md eq &amp;quot;?&amp;quot;)?&#039; title=&amp;quot;missing attribute model =&amp;gt; set device in teach mode to receive missing data&amp;quot; style=&amp;quot;color:yellow&amp;quot;&#039;:&#039; style=&amp;quot;color:lightgray&amp;quot;&#039;).&#039;&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-23s&amp;quot;,$md);          &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;b&#039;.(($ofw eq &amp;quot;0.0&amp;quot;)?&#039; title=&amp;quot;missing attribute firmware =&amp;gt; set device in teach mode to receive missing data&amp;quot; style=&amp;quot;color:yellow&amp;quot;&#039;:&#039; style=&amp;quot;color:lightgray&amp;quot;&#039;).&#039;&amp;gt;&#039;;              &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%6s&amp;quot;,$ofw);           &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= &#039;&amp;lt;a title=&amp;quot;eq3-firmware.tgz&amp;quot; href=&amp;quot;&#039;.$link.&#039;&amp;quot;&amp;gt;&#039;;           &lt;br /&gt;
      $ret .= &#039;&amp;lt;b style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;;           &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%6s&amp;quot;,$nfw);           &lt;br /&gt;
      $ret .= &#039;&amp;lt;/b&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &#039;&amp;lt;/a&amp;gt;&#039;;            &lt;br /&gt;
      $ret .= &amp;quot; | &amp;quot;;             &lt;br /&gt;
      $ret .= sprintf(&amp;quot;%-10s&amp;quot;,$date);            &lt;br /&gt;
      $ret .= &amp;quot; |\n&amp;quot;;        &lt;br /&gt;
    }   &lt;br /&gt;
  }  &lt;br /&gt;
  $ret .= &#039;&amp;lt;/pre&amp;gt;&#039;;  &lt;br /&gt;
  $ret .= &#039;&amp;lt;/div&amp;gt;&#039;;  &lt;br /&gt;
  return $ret;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sondersituationen ===&lt;br /&gt;
[[Datei:HM-FWUpdate-eQ3-check.png|mini|455px|right|Fehlerbedingung: Attribut &#039;&#039;firmware&#039;&#039; nicht gesetzt]]&lt;br /&gt;
Das Tool überprüft gleichzeitig auch bestimmte Rahmenbedingungen, so z.B., ob bei allen HomeMatic Devices die Attribute &#039;&#039;model&#039;&#039; und &#039;&#039;firmware&#039;&#039; gesetzt sind. Sollte das nicht der Fall sein, wird das Device in der Liste &lt;br /&gt;
* mit einem gelben &amp;quot;old_fw&amp;quot; Wert von 0.0 geführt; befindet sich der Mauszeiger über dem &amp;quot;0.0&amp;quot;, wird der Hinweistext &#039;&#039;missing attribute firmware =&amp;gt; set device in teach mode to receive missing data&#039;&#039; angezeigt (siehe Beispiel im Screenshot)&lt;br /&gt;
* mit einem gelben {{Taste|?}} in der Spalte &amp;quot;model&amp;quot; angezeigt; befindet sich der Mauszeiger über dem &amp;quot;?&amp;quot;, wird der Hinweistext &#039;&#039;missing attribute model =&amp;gt; set device in teach mode to receive missing data&#039;&#039; angezeigt&lt;br /&gt;
In diesem Fall sollte bei dem betreffenden Gerät versucht werden, mit &#039;&#039;getConfig&#039;&#039; die Daten zu aktualisieren bzw. vervollständigen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus ist zu beachten, dass die Firmware-Version in den HomeMatic Geräten zwei&amp;quot;teilig&amp;quot; (Version.Release) abgelegt ist, die Firmware Update-Dateien jedoch drei&amp;quot;teilige&amp;quot; Versionskennungen (Version_Release_???) haben. Für den Vergleich, ob neue Firmware verfügbar ist, kann natürlich nur die zweiteilige Kennung verwendet werden, eine Änderung im dritten Teil der Versionskennung kann daher nicht automatisch erkannt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.eq-3.de/downloads.html Firmware Download] Seite von eq-3&lt;br /&gt;
* Forenthread zur {{Link2Forum|Topic=47729|LinkText=&amp;quot;Firmware Versionsprüfung&amp;quot;}}&lt;br /&gt;
* [http://git.zerfleddert.de/hmcfgusb/ Firmware Update Tool] von mgernoth&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEMWEB&amp;diff=14037</id>
		<title>FHEMWEB</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEMWEB&amp;diff=14037"/>
		<updated>2016-02-03T19:40:19Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: Kurzer Eintrag zum neuen Attribut &amp;quot;title&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Standard Fhem-Webfrontend&lt;br /&gt;
|ModType=h&lt;br /&gt;
|ModForumArea=Frontends&lt;br /&gt;
|ModTechName=01_FHEMWEB.pm&lt;br /&gt;
|ModOwner=Rudolf König/rudolfkoenig ({{Link2FU|8|Forum}}/[[Benutzer Diskussion:Rudolfkoenig|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[FHEMWEB]] ist das Standard Webfrontend von Fhem, es implementiert auch einen einfachen Webserver (optional mit Basic-Auth und HTTPS). Aus historischen Gründen wird es auch als [[PGM2]] bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
keine.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Define ===&lt;br /&gt;
siehe commandref.&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
siehe commandref.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
=== devStateIcon ===&lt;br /&gt;
* Beispiel für FS20 {{Link2Forum|Topic=26521|Message=197326}}&lt;br /&gt;
&lt;br /&gt;
=== sortby ===&lt;br /&gt;
* Beispiele zur Sortierung mit sortby: {{Link2Forum|Topic=11940|Message=70664}}, {{Link2Forum|Topic=26733|Message=197127}}&lt;br /&gt;
&lt;br /&gt;
=== title ===&lt;br /&gt;
* Titel der Seite. Überschreibt das globale Attribut &amp;quot;title&amp;quot;, das ansonsten für alle FHEMWEB Instanzen gilt&lt;br /&gt;
* Beispiel für einen dynamischen Seiten-Titel: {{Link2Forum|Topic=48668|Message=403260}}&lt;br /&gt;
&lt;br /&gt;
=== webCmd ===&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== widgetOverride ===&lt;br /&gt;
Mit dem Attribut &amp;lt;code&amp;gt;widgetOverride&amp;lt;/code&amp;gt; kann ein anderes als das vom Modulautor vorgegebene Bedienelement für einen Parameter (set/get/Attribut) festgelegt werden. Beispiele:&lt;br /&gt;
* [[WifiLight#Color-Picker_aktivieren|Color-Picker]]&lt;br /&gt;
* [[EnOcean-FUD61NPN-Funk-Universal-Dimmaktor#Anzeige_eines_alternativen_Bedienelementes|knob]]&lt;br /&gt;
* usuzu (= universelle Zeitschaltuhr): {{Link2Forum|Topic=32660}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Begriffserklärung zur Unterscheidung von [[eventMap]], [[devStateIcon]], [[webCmd]] und [[setList]] mit Beispielen in diesem {{Link2Forum|Topic=12080|LinkText=Forenthread}}&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=System%C3%BCbersicht&amp;diff=13920</id>
		<title>Systemübersicht</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=System%C3%BCbersicht&amp;diff=13920"/>
		<updated>2016-01-29T22:41:43Z</updated>

		<summary type="html">&lt;p&gt;MarcelK: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Fhem &#039;&#039;&#039;System&#039;&#039;&#039; besteht im Prinzip aus den in der nachfolgenden &#039;&#039;&#039;Übersicht&#039;&#039;&#039; aufgeführten Bestandteilen.&lt;br /&gt;
[[Datei:Systemübersicht.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
Bei der Komponente &#039;&#039;&#039;Server&#039;&#039;&#039; muss unterschieden werden zwischen dem eigentlichen &#039;&#039;&#039;Fhem&#039;&#039;&#039; Hausautomations-Server (implementiert in der Perl-Datei fhem.pl) und der Hardware, auf der dieser Server ausgeführt wird.&lt;br /&gt;
&lt;br /&gt;
Als Server &#039;&#039;&#039;Hardware&#039;&#039;&#039; sind (z.&amp;amp;nbsp;B.) möglich:&lt;br /&gt;
* Windows Rechner&lt;br /&gt;
* Linux Rechner&lt;br /&gt;
* OS X Rechner&lt;br /&gt;
* Router (z.&amp;amp;nbsp;B. [[AVM Fritz!Box|FritzBox]])&lt;br /&gt;
* Einplatinencomputer, wie [[:Kategorie:Raspberry Pi|Raspberry Pi]], BeagleBone&lt;br /&gt;
* DockStar, PogoPlug, etc.&lt;br /&gt;
* diverse NAS Systeme wie Buffalo Linkstation, Synology Diskstation&lt;br /&gt;
(Diese Aufstellung ist nur eine unvollständige Auswahl; Details zu unterstützten Server Systemen finden sich in der Kategorie [[:Kategorie:Server Hardware|Server Hardware]]).&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Das Hausautomations-System wird definiert über die [[Konfiguration]], die im Regelfall besteht aus der &lt;br /&gt;
* reinen Textdatei &amp;lt;code&amp;gt;fhem.cfg&amp;lt;/code&amp;gt; (Standard nach der Erstinstallation) oder alternativ einer&lt;br /&gt;
* [[configdb|SQL-Datenbank]]&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration enthält Definitionen für die Bestandteile (Geräte) und Funktionen des jeweiligen Hausautomations-Systems. Die verfügbaren Befehle und deren Syntax sind in der Befehlsreferenz ([http://fhem.de/commandref.html commandref]) aufgeführt und beschrieben. Zu einigen Hilfsmodulen gibt es [[:Kategorie:Hilfsmodul|detaillierte Beschreibungen]] mit Beispielen.&lt;br /&gt;
&lt;br /&gt;
== Benutzeroberfläche ==&lt;br /&gt;
Der Zugriff auf FHEM erfolgt mittels Webbrowser oder App über die verfügbaren &#039;&#039;&#039;[[:Kategorie:FHEM Frontends|Fhem Benutzeroberflächen]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In den Fhem Server integriert ist ein Webserver ([[PGM2]]), der im Prinzip immer zur Verfügung steht. Abhängig vom benutzten Klienten ist PGM2 über &lt;br /&gt;
* &amp;lt;code&amp;gt;serverhostnameoderIP:8083/fhem&amp;lt;/code&amp;gt; (Desktop-Darstellung = Port 8083),&lt;br /&gt;
* &amp;lt;code&amp;gt;serverhostnameoderIP:8084/fhem&amp;lt;/code&amp;gt; (Smartphone-Darstellung = Port 8084) oder &lt;br /&gt;
* &amp;lt;code&amp;gt;serverhostnameoderIP:8085/fhem&amp;lt;/code&amp;gt; (Tablet-Darstellung = Port 8085) &lt;br /&gt;
erreichbar.&lt;br /&gt;
&lt;br /&gt;
Eine Auswahl der Benutzeroberflächen:&lt;br /&gt;
* PGM2 - das Standardinterface&lt;br /&gt;
* [[FLOORPLAN]]&lt;br /&gt;
* [[FHEM Tablet UI]]&lt;br /&gt;
* [[SmartVisu]]&lt;br /&gt;
* diverse Apps für iOS und Android (Auswahl unter: [[:Kategorie:FHEM Frontends|Fhem Benutzeroberflächen]])&lt;br /&gt;
&lt;br /&gt;
Beispielhafte Screenshots diverser Benutzeroberflächen: http://fhem.de/fhem.html#Screenshots&lt;br /&gt;
&lt;br /&gt;
== Module ==&lt;br /&gt;
Die Funktionalität von Fhem kann über &#039;&#039;&#039;Module&#039;&#039;&#039; erweitert werden. Module können die unterschiedlichsten Aufgaben übernehmen vom Anbinden eines Hardwaresystems&lt;br /&gt;
über die Bereitstellung eines Frontends bis zur Automatisierung von Aufgaben. Beispiele für Module:&lt;br /&gt;
* 00_CUL.pm - Implementierung der Unterstützung für den [[CUL]]&lt;br /&gt;
* 11_FHT.pm - Unterstützung der [[:Kategorie:FHT Components|FHT]] Heizungssteuerung&lt;br /&gt;
* 95_FLOORPLAN.pm - Grundriss (oder Ähnliches) als Benutzeroberfläche &lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Module können unterteilt werden in&lt;br /&gt;
* [[:Kategorie:FhemBefehl|Befehlsmodule]] (FhemBefehle sind teilweise eigenständige Module) &lt;br /&gt;
* [[:Kategorie:Hilfsmodul|Hilfsmodule]]&lt;br /&gt;
* [[:Kategorie:Gerätemodul|Gerätemodule]]&lt;br /&gt;
Die offiziell in Fhem enthaltenen Module sind in der [http://fhem.de/commandref Commandref] beschrieben. Sie werden über den [[Update]]-Befehl von Fhem verteilt und aktualisiert. Voraussetzung für die Aufnahme als offizielles Modul sind Supportwille durch den Entwickler und Dokumentation des Moduls.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich existiert eine Vielzahl von [[:Kategorie:Modul (Inoffiziell)|inoffiziellen Modulen]], die manuell in Fhem installiert werden müssen. Auch die Aktualisierung erfolgt nicht über den Update-Befehl, sondern muss durch den Nutzer selbst erfolgen. Inoffizielle Module sind an den verschiedensten Stellen zu finden:&lt;br /&gt;
* [[:Kategorie:Modul (Contrib)|Contrib]]-Verzeichnis im offiziellen Fhem-Sourcecode-SVN [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/]&lt;br /&gt;
* Beiträge im Fhem-Forum&lt;br /&gt;
* private Homepages&lt;br /&gt;
&lt;br /&gt;
== Interfaces ==&lt;br /&gt;
Die Verbindung zu den angeschlossenen &#039;&#039;&#039;Geräten&#039;&#039;&#039; der Hausautomation wird im Allgemeinen - geräteabhängig - über [[Interface|Interfaces]] (manchmal auch als &#039;&#039;&#039;Gateway&#039;&#039;&#039; bezeichnet) hergestellt. Das kann z.&amp;amp;nbsp;B. im Falle von [[HomeMatic]] ein [[HMLAN Konfigurator]] sein, ein mittels LAN mit dem Fhem Server verbundenes Gerät, das die Fhem Steuerbefehle  in das HomeMatic Funkprotokoll umsetzt - und auch die Funktelegramme der HomeMatic Komponenten an Fhem zurückgibt. Entsprechende Interfaces gibt es auch für andere Funkprotokolle und für die drahtgebundenen Systeme.&lt;br /&gt;
&lt;br /&gt;
Eine (unvollständige) Liste solcher Interfaces (siehe auch [[:Kategorie:Interfaces|Kategorie Interfaces]]):&lt;br /&gt;
* [[CUL]] - je nach Einstellung für die Kommunikation mit [[:Kategorie:FS20 Components|FS20]], [[:Kategorie:FHT Components|FHT]] und andere [[SlowRF]] Protokolle, [[MAX|MAX!]] Heizungssteuerung oder [[:Kategorie:HomeMatic Components|HomeMatic]] und, mit Einschränkungen, InterTechno (nur senden)&lt;br /&gt;
* [[CUNO]], ähnlich CUL, jedoch nicht per USB sondern per IP angebunden (z.Zt. -Stand Januar 2014 - nicht für HomeMatic empfohlen)&lt;br /&gt;
* [[HMLAN Konfigurator|HomeMatic LAN Konfigurations-Adapter]] - HomeMatic&lt;br /&gt;
* [[MAX#MAXLAN|MAX! Cube LAN-Gateway]]&lt;br /&gt;
* Schnittstellen(karten) für [[:Kategorie:1-Wire|1-Wire]]&lt;br /&gt;
* TCM(120/310) zur Anbindung von [[:Kategorie:EnOcean Components|EnOcean]]&lt;br /&gt;
* [[Arduino]] mit Firmata über USB oder Netzwerk&lt;br /&gt;
* [[panStamp]] als Möglichkeit Arduinos mit diversen Sensor- und I/O- Boards per 868MHz Funk über das SWAP protokoll anzubinden&lt;br /&gt;
* [[JeeLink]], ein weiteres USB-Stick Interface (ebenfalls arduino basiert) für diverse 433MHz und 868MHz Komponenten&lt;br /&gt;
* [[RFXtrx]] für InterTechno, RSL, ELRO etc., Wetter-Sensoren (Oregon-Scientific, Cresta, La Crosse, TFA, UPM) und andere 433&amp;amp;nbsp;Mhz Geräte.&lt;br /&gt;
* manche Komponenten ([[:Kategorie:IP Components|IP Komponenten]]) können über TCP/IP (LAN) direkt vom Fhem Server aus angesprochen werden; hier ist dann kein weiteres Interface im eigentlichen Sinne erforderlich. Dies gilt auch für diverse Module die Geräte über WEB Dienste des Herstellers anbinden (z.&amp;amp;nbsp;B. Withings, [[netatmo]]).&lt;br /&gt;
&lt;br /&gt;
== Protokolle ==&lt;br /&gt;
Der Kommunikation zwischen Interfaces und Geräten liegt jeweils ein bestimmtes Protokoll zugrunde. Unterstützte Protokolle mit ihren Eigenschaften sind in der folgenden Tabelle aufgelistet.&lt;br /&gt;
&amp;lt;!-- Bitte Informationen in die nachfolgende Tabelle eintragen.&lt;br /&gt;
* SlowRF (1&amp;amp;nbsp;kHz Datenrate)&lt;br /&gt;
** FS20&lt;br /&gt;
** FHT&lt;br /&gt;
** S300&lt;br /&gt;
** HMS&lt;br /&gt;
** EM&lt;br /&gt;
* HomeMatic (20&amp;amp;nbsp;kHz Datenrate)&lt;br /&gt;
* MAX! (20&amp;amp;nbsp;kHz Datenrate)&lt;br /&gt;
* EnOcean&lt;br /&gt;
* FRM* (Arduino Firmata)&lt;br /&gt;
* IT (InterTechno, 433&amp;amp;nbsp;MHz)&lt;br /&gt;
* SWAP&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über unterstützte Funkprotokolle&lt;br /&gt;
|-&lt;br /&gt;
! Name !! rfMode !! Frequenz !! Modulation !! Datenrate !! class=&amp;quot;unsortable&amp;quot; | Interfaces !! class=&amp;quot;unsortable&amp;quot; | Modul !! class=&amp;quot;unsortable&amp;quot; | Geräte (Beispiel) !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [[FS20_Allgemein|FS20]] || SlowRF || 868,35MHz || AM || 1kHz || CU*, FHZ || [http://fhem.de/commandref.html#FS20 FS20] || - || -&lt;br /&gt;
|-&lt;br /&gt;
| FHT  || SlowRF || 868,35MHz || AM || 1kHz || CU*, FHZ || [http://fhem.de/commandref.html#CUL_FHTTK FHTTK], [http://fhem.de/commandref.html#FHT FHT] || Heizungsregelung || -&lt;br /&gt;
|-&lt;br /&gt;
| S300 || SlowRF || 868,35MHz || AM || 1kHz || CU*, FHZ || [http://fhem.de/commandref.html#CUL_WS CUL_WS] || Temperatur-/Feuchtesensoren || -&lt;br /&gt;
|-&lt;br /&gt;
| HMS || SlowRF || 868,35MHz || AM || 1kHz || CU*O, FHZ || - || ?? || -&lt;br /&gt;
|-&lt;br /&gt;
| EM || SlowRF || 868,35MHz || AM || 1kHz || CU*, FHZ || [http://fhem.de/commandref.html#CUL_EM CUL_EM] || Energiemonitore (Strom, Gas) || -&lt;br /&gt;
|-&lt;br /&gt;
| [[HomeMatic ]]|| HomeMatic || 868,3MHz || FM || 10kHz || CU*, [[HM-CFG-LAN_LAN_Konfigurations-Adapter|HMLan]], [[HM-CFG-USB_USB_Konfigurations-Adapter|HMUsb]] || [http://fhem.de/commandref.html#CUL_HM CUL_HM]  || [[:Kategorie:HomeMatic_Components|diverse]] || -&lt;br /&gt;
|-&lt;br /&gt;
| [[MAX|MAX!]] || MAX || 868,3MHz || FM || 20kHz || CU*, [[MAX#MAXLAN|MAXLAN]] ||  [http://fhem.de/commandref_DE.html#MAX MAX] ||  [[:Kategorie:MAX|Wandthermostat, Heizkörperthermostate, Fensterkontakt, Zwischenstecker]] ||  -&lt;br /&gt;
|-&lt;br /&gt;
| IT || - || 433MHz || AM? || 1kHz || CU*433, || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
| FRM || - || ?? || ?? || ?? || ?? || - || ?? || -&lt;br /&gt;
|-&lt;br /&gt;
| SWAP || - || 868 (433/915) MHz || GFSK || 38.3835 Kbps || panStamp (+panStick) || [http://fhem.de/commandref.html#SWAP SWAP] || RGB LED Driver, diverse Sensoren und Aktoren || -&lt;br /&gt;
|-&lt;br /&gt;
| [[:Kategorie:EnOcean  Components|EnOcean]] || - || 315 / 868 / 902 / 928MHz || ASK || 125 kbit/s || [http://fhem.de/commandref.html#TCM TCM] || [http://fhem.de/commandref.html#EnOcean EnOcean] || Batterielose Funksensoren, diverse Aktoren || -&lt;br /&gt;
|-&lt;br /&gt;
| PCA || - || 868,35MHz || ?? || ?? || [[JeeLink]] || [http://fhem.de/commandref.html#PCA301 PCA301] || [[PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung|PCA301]] || -&lt;br /&gt;
|-&lt;br /&gt;
| LaCrosse || - || 868,35MHz || ?? || ?? || [[JeeLink]] || [http://fhem.de/commandref.html#LaCrosse LaCrosse] || LaCrosse IT+ (Technoline) Sensoren || -&lt;br /&gt;
|-&lt;br /&gt;
| ZigBee Light Link || - || 2,4 GHz ||  ||  || HUE Bridge (RaspBee) || [http://fhem.de/commandref.html#HUEBridge HUEBridge] || Philips HUE und LightLink Lampen (auch Osram LIGHTIFY an der HUE-Bridge)|| [http://www.developers.meethue.com/documentation/how-hue-works]&lt;br /&gt;
|-&lt;br /&gt;
| [[:Kategorie:Z-Wave Components|Z-Wave]] || - || 868MHz || 2-FSK || 9.600 bit/s oder 40 Kbit/s || [http://fhem.de/commandref.html#ZWDongle ZWDongle] || [http://fhem.de/commandref.html#ZWave ZWave] || - || -&lt;br /&gt;
|-&lt;br /&gt;
| [[WMBUS]] || WMBus_T, WMBus_S || 868MHz || ?? || 100 kbit/s / 32.768 kbit/s || CU* || [http://fhem.de/commandref.html#WMBUS WMBUS] || Wasseruhren, Wärmezähler, Elektrozähler || - &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;9&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Legende:&#039;&#039;&#039; &lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; | CU* = CUL, CUN, CUNO / &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Übersicht über drahtgebundene Systeme&lt;br /&gt;
|-&lt;br /&gt;
! Name !!  class=&amp;quot;unsortable&amp;quot; | Interfaces (Hardware) !! class=&amp;quot;unsortable&amp;quot; | Modul !! class=&amp;quot;unsortable&amp;quot; | Geräte (Beispiel) !! class=&amp;quot;unsortable&amp;quot; | Bemerkungen&lt;br /&gt;
|-&lt;br /&gt;
| [[1-Wire]]  || [[Interfaces für 1-Wire|diverse]] || [http://fhem.de/commandref.html#OWX OWX] || [[:Kategorie:1-Wire|1-Wire]] || -&lt;br /&gt;
|-&lt;br /&gt;
| [[EIB_/_KNX|EIB/KNX]]  || [http://fhem.de/commandref.html#TUL TUL] || [http://fhem.de/commandref.html#EIB EIB] || [[:Kategorie:EIB/KNX|EIB/KNX]] || -&lt;br /&gt;
|-&lt;br /&gt;
| [[HomeMatic Wired]]  || [[HomeMatic Wired RS485 LAN Gateway|HM485 LAN Gateway]] || [http://fhem.de/commandref.html#HM485_LAN HM485_LAN] || [[:Kategorie:HomeMatic Components|Präfix HMW]] || -&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; | &#039;&#039;Tabelle muss noch vervollständigt werden&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;Legende:&#039;&#039;&#039; &lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; | ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
Der eigentliche Zweck eines Hausautomatisierungs-Projekts sind dann letztendlich die &#039;&#039;&#039;Geräte&#039;&#039;&#039; (Komponenten / Aktoren / [[:Kategorie:Schalter (Empfänger)|Empfänger]]), die automatisch gesteuert werden sollen, bzw. auch Auslöser für Aktionen ([[:Kategorie:Schalter (Sender)|Sender]]) und Lieferant von Datenmaterial ([[:Kategorie:Hardware Typen|Sensoren]]) sind.&lt;br /&gt;
&lt;br /&gt;
Diese Geräte sind, sofern es eine detaillierte Beschreibung dazu gibt, in den jeweiligen Unterseiten der [[:Kategorie:Hardware|Hardwareliste]] aufgeführt.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.enocean.com/de/home/ EnOcean] Homepage&lt;br /&gt;
* [http://www.elv.de ELV], (Haupt-)Lieferant von FS20, FHT, HomeMatic, MAX!&lt;br /&gt;
* [http://www.panstamp.com panStamp], panStamp Hersteller&lt;br /&gt;
* [http://jeelabs.com/products/jeelink Jeelabs], JeeLink Hersteller&lt;br /&gt;
* [http://www.zigbee.org/ Zigbee] Homepage&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM]]&lt;/div&gt;</summary>
		<author><name>MarcelK</name></author>
	</entry>
</feed>