<?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=Kossmann</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=Kossmann"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Kossmann"/>
	<updated>2026-05-02T00:45:32Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HomeMatic_Type_Thermostat&amp;diff=13379</id>
		<title>HomeMatic Type Thermostat</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HomeMatic_Type_Thermostat&amp;diff=13379"/>
		<updated>2015-12-28T14:40:03Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: Beispiel passte nicht zum Code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HMType}} &amp;lt;!-- generelles HomeMatic Type include; möglichst direkt vor erster Überschrift einbinden --&amp;gt;&lt;br /&gt;
== HomeMatic Geräte vom Typ Thermostat ==&lt;br /&gt;
(Auswahl) derzeit unterstützter Geräte des Typs &#039;&#039;Thermostat&#039;&#039;:&lt;br /&gt;
*[[HM-CC-RT-DN Funk-Heizkörperthermostat]]&lt;br /&gt;
*[[HM-CC-TC Funk-Wandthermostat]]&lt;br /&gt;
*[[HM-TC-IT-WM-W-EU Funk-Wandthermostat AP]]&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Konfiguration  ==&lt;br /&gt;
Die Thermostate unterscheiden sich in vielen Details und Funktionen. Daher sind Einzelheiten im Device nachzulesen. &lt;br /&gt;
Gemeinsam ist den Controllern, dass sie eine oder mehrere Temperaturlisten als Wochenprogramm unterstützen.&lt;br /&gt;
&lt;br /&gt;
=== Temperaturlisten ===&lt;br /&gt;
====Manuell====&lt;br /&gt;
Hinweis: Bei den Wandthermostaten heißt der relevante Kanal &#039;&#039;..._climate&#039;&#039;, beim HM-CC-RT-DN ist der Kanal &#039;&#039;..._Clima&#039;&#039; zuständig für die Wochenprogramme.&lt;br /&gt;
&lt;br /&gt;
===== Allgemein =====&lt;br /&gt;
Mit dem Kommando &lt;br /&gt;
 set Thermostat_Climate tempListMon 05:30 16.0 07:00 18.0 16:00 18.5 20:30 19.0 24:00 16.0&lt;br /&gt;
kann man das Temperaturprofil für den Wochentag &#039;&#039;Montag&#039;&#039; einstellen. Die nach dem Schaltzeitpunkt stehende Temperatur gilt immer &#039;&#039;&#039;bis&#039;&#039;&#039; zu diesen Zeitpunkt, nicht ab diesem Zeitpunkt. Der letzte Wert muss immer Mitternacht (24:00) sein.&lt;br /&gt;
damit ist also 00:00 - 05:30 = 16Grad, 05:30 - 07:00 = 18 Grad. Die Zeit kann in Schritten von 30min eingestellt werden, die Temperatur in 0.1 Grad.&lt;br /&gt;
Der Tage beginnt immer um 00:00, der letzte Abschnitt MUSS 24:00 sein. &lt;br /&gt;
&lt;br /&gt;
Ändert man mehrere Tage auf einmal sollte man unbedingt mit &amp;quot;prep&amp;quot; und &amp;quot;exec&amp;quot; arbeiten, da es sonst zu Wiederholungen und langen Bearbeitungen kommen kann. Prep bereitet die Änderung in FHEM nur vor, mit exec werden die Daten dann an das Device übertragen. Das könnte in einem Fhem-Script lauten &lt;br /&gt;
&lt;br /&gt;
 ######################################################&lt;br /&gt;
 # Temperatur-Liste für Zimmer&lt;br /&gt;
 # setzen per Aufruf von &amp;quot;{SetTempList_Heizung}&amp;quot;&lt;br /&gt;
 ######################################################&lt;br /&gt;
 sub&lt;br /&gt;
 SetTempList_Heizung()&lt;br /&gt;
  {&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListMon prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListTue prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListWed prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListThu prep 05:30 19.0 07:00 20.5 16:00 19.0 20:30 20.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListFri prep 05:30 19.0 07:00 20.5 15:00 19.0 20:30 20.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListSat prep 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
    { fhem (&amp;quot;set Thermostat_Climate tempListSun exec 07:00 19.0 09:00 21.0 15:00 19.0 21:00 21.0 24:00 17.0&amp;quot;)};&lt;br /&gt;
 }&lt;br /&gt;
 # End SetTempList_Heizung&lt;br /&gt;
&lt;br /&gt;
===== Wochenprogramme des HM-TC-IT-WM-W-EU setzen =====&lt;br /&gt;
&lt;br /&gt;
Der HM-TC-IT-WM-W-EU verfügt über weitere Wochenprogramme P2 und P3.&lt;br /&gt;
&lt;br /&gt;
Um z.B. das 2. Wochenprogramm eines HM-TC-IT-WM-W-EU zu setzen, kann man (hier beispielhaft für den Samstag) folgenden Befehl benutzen:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;HM-TC-IT-WM-W-EU&amp;gt;_Climate tempListSat p2 07:30 16.0 17:00 20.0 19:00 21.0 24:00 16.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Templates ====&lt;br /&gt;
Etwas komfortabler kann man Wochenprogramme in einem File verwalten. Man kann beliebig viele templates erzeugen und diese in einem File ablegen. Diese unterschiedlichen Wochenprogramme kann man den Thermostaten zuweisen. So kann man ein Wochenprogramm beliebig vielen Thermostaten zuweisen. Bei Änderungen kann man alle betroffenen Thermostate, die das gleiche Template nutzen sollen, erreichen. &lt;br /&gt;
&lt;br /&gt;
Zusammenfassend:&lt;br /&gt;
* Temperaturlisten der Devices in ein file schreiben&lt;br /&gt;
* Templates definieren, die man mehreren Devices zuordnen kann&lt;br /&gt;
* Template-Änderungen gleichzeitig in mehrere Devices einspielen&lt;br /&gt;
* Temperaturlisten gegen ein Template prüfen &lt;br /&gt;
&lt;br /&gt;
=====File erstellen und verwalten =====&lt;br /&gt;
Ein File mit den Temperaturlisten (Wochenplänen) muss erzeugt werden. Zur Verwaltung der Temperaturprofile sollte die Datei tempList.cfg im Verzeichnis FHEM liegen, dann kann sie mit dem Web-Interface editiert werden.&lt;br /&gt;
HMInfo unterstützt das speichern allen temperaturlisten in ein File mit &amp;lt;u&amp;gt;[[Homematic_HMInfo#Speichern|temperaturListen speichern]]&amp;lt;/u&amp;gt;. Dies kann man gut als Startpunkt nutzen. &lt;br /&gt;
Bsp: &lt;br /&gt;
&lt;br /&gt;
Angenommen HMInfo ist definiert per&lt;br /&gt;
 define hm HMinfo&lt;br /&gt;
legt dieser Aufruf ein initiales Template an.&lt;br /&gt;
 set hm tempList save FHEM/tempList.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Wochenprogramme sollten in FHEM vorliegen. ggf. mit getConfig auslesen. &lt;br /&gt;
&lt;br /&gt;
 entities:tempTmpl1&lt;br /&gt;
 tempListSat&amp;gt;08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0&lt;br /&gt;
 tempListSun&amp;gt;08:00 14.0 15:00 18.0 21:30 19.0 24:00 17.0&lt;br /&gt;
 tempListMon&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListTue&amp;gt;07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 15.0&lt;br /&gt;
 tempListWed&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListThu&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListFri&amp;gt;07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 entities:tempTWohnzimmer&lt;br /&gt;
 tempListSat&amp;gt;08:00 14.0 15:00 18.0 21:30 19.0 24:00 17.0&lt;br /&gt;
 tempListSun&amp;gt;08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0&lt;br /&gt;
 tempListMon&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListTue&amp;gt;07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 15.0&lt;br /&gt;
 tempListWed&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListThu&amp;gt;07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
 tempListFri&amp;gt;07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 14.0&lt;br /&gt;
&lt;br /&gt;
=====Templates zuweisen =====&lt;br /&gt;
Das Attribut tempListTmpl sollte man allen Thermostaten zuweisen. Dies ist dem jeweiligen Steuerungschannel zuzuweisen&lt;br /&gt;
 attr hk1_Clima tempListTmpl setup/tempList.cfg:tempTmpl1&lt;br /&gt;
 attr hk2_Clima tempListTmpl setup/tempList.cfg:tempTmpl1&lt;br /&gt;
 attr hk3_Clima tempListTmpl setup/tempList.cfg:tempTWohnzimmer&lt;br /&gt;
&lt;br /&gt;
In entsprechenden Kommandos muss man nun nicht mehr den Namen des Templates für den HK angeben, es wird der aus dem Attribut genommen. Man gibt das File an und dann den Namen des Templates im File. &lt;br /&gt;
&lt;br /&gt;
===== Überprüfen/Einlesen =====&lt;br /&gt;
Mit dem verify-Kommando wird überprüft, ob das gegenwärtig vorhandene Temperaturprofil mit dem in der Datei befindlichen übereinstimmt.&lt;br /&gt;
  set thermostat_Climate tempListTmpl verify FHEM/tempList.cfg:room1&lt;br /&gt;
Mit dem restore-Kommando wird das Temperaturprofil des Heizkörperthermostaten mit dem in der Datei befindlichen überschrieben.&lt;br /&gt;
 set thermostat_Climate tempListTmpl restore FHEM/tempList.cfg:room1&lt;br /&gt;
* FHEM/tempList.cfg ist die Datei, in dem das Temperaturprofil zu suchen ist. &#039;&#039;&#039;room1&#039;&#039;&#039; ist der Name des Temperaturprofils, welches in der Datei gesucht wird. Wird keine Datei angegeben wird &amp;quot;template.cfg&amp;quot; im &amp;quot;fhem&amp;quot;-Verzeichnis angenommen. &lt;br /&gt;
Man kann einem Thermostat das &#039;&#039;&#039;Attribut tempListTmpl&#039;&#039;&#039; geben. Damit wird der Default-Name des Temperaturprofils für dieses Device gesetzt. &lt;br /&gt;
 attr thermostat_Climate tempListTmpl FHEM/tempList.cfg:room1&lt;br /&gt;
 set thermostat_Climate tempListTmpl&lt;br /&gt;
prüft das gegenwärtige Temperaturprofil gegen FHEM/tempList.cfg:room1 (da verify der Default ist). Die Prüfung des Profils ist auch Teil des configCheck von HMInfo.&lt;br /&gt;
Will man explizit kein Temperaturprofil zuweisen sollte man tempListTmpl auf none setzen. &lt;br /&gt;
 set thermostat_Climate tempListTmpl restore&lt;br /&gt;
überschreibt das gegenwärtige Temperaturprofil des Heizkörperthermostaten mit dem in der Datei befindlichen überschrieben.&lt;br /&gt;
&lt;br /&gt;
=====Templates systemweit nutzen=====&lt;br /&gt;
Sinnvoll erscheint es, das ganze systemweit zu machen. Man legt ein File mit allen Wochenplänen an, die man nutzen will. Dann weißt man die TemplateNamen den Thermostaten zu. Und schließlich prüft oder updates man alle Thermostate in einem System mit einem Kommando. Siehe hierzu [[Homematic_HMInfo#Temperaturlisten|HMInfo temperaturlisten]].&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Heizungssteuerung]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-TC-IT-WM-W-EU_Funk-Wandthermostat_AP&amp;diff=13308</id>
		<title>HM-TC-IT-WM-W-EU Funk-Wandthermostat AP</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-TC-IT-WM-W-EU_Funk-Wandthermostat_AP&amp;diff=13308"/>
		<updated>2015-12-23T15:18:29Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: Firmware Update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:HM-TC-IT-WM-W-EU.jpg|thumb|right|HM-TC-IT-WM-W-EU Funk-Wandthermostat AP]]&lt;br /&gt;
&#039;&#039;&#039;HM-TC-IT-WM-W-EU Funk-Wandthermostat AP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
HomeMatic-Wandthermostat Aufputz. Verfügbar seit Februar 2014. Nachfolger des [[HM-CC-TC_Funk-Wandthermostat|HM-CC-TC]].&lt;br /&gt;
&lt;br /&gt;
== Vorbemerkungen ==&lt;br /&gt;
&#039;&#039;&#039;Einstellungen und Informationen die alle HomeMatic Thermostat betreffen sind unter &amp;lt;u&amp;gt;[http://www.fhemwiki.de/wiki/HomeMatic_Type_Thermostat#Temperaturlisten|HomeMatic Type Thermostat]&amp;lt;/u&amp;gt; zu finden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Er misst die Raumtemperatur und Luftfeuchtigkeit. Er verfügt über individuell einstellbare Wochenprogramme und Programmierung direkt am Gerät. Zusätzlich ist auch eine Boost-Funktion vorhanden (ermöglicht ein schnelles, kurzzeitiges Aufheizen des Heizkörpers). Er verfügt über ein eigenes Anzeigedisplay für Soll- und Isttemperatur sowie Luftfeuchtigkeit. Er kann mittels Klebestreifen irgendwo aufgeklebt werden, soll aber auch in Mehrfachrahmen von Berker, ELSO, Gira, Merten und JUNG passen.&lt;br /&gt;
&lt;br /&gt;
== Technische Daten ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technische Daten:&#039;&#039;&#039;&lt;br /&gt;
* Versorgungsspannung: 2 Stck. 1,5 V LR03/Micro/AAA&lt;br /&gt;
* Stromaufnahme (max.): 40 mA&lt;br /&gt;
* Schutzart: IP20&lt;br /&gt;
* Schutzklasse: III&lt;br /&gt;
* Abmessungen (BxHxT ohne Rahmen): 55 x 55 x 20 mm&lt;br /&gt;
* Abmessungen (BxHxT mit Rahmen): 86 x 86 x 21,5 mm&lt;br /&gt;
* Gewicht (ohne Batterien): 74 g&lt;br /&gt;
* Temperaturwahl in Schritten von: 0,5 °C&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zum HM-CC-TC kann der HM-TC-IT-WM-W-EU auch andere HomeMatic-Schaltaktoren (z.B. [[HM-LC-SW1-FM_Schaltaktor_1-fach_UP|HM-LC-SW1-FM]]) über den Channel 07 SwitchTr direkt anlernen, womit z.B. die Steuerung elektrischer Heizungen möglich wird. Der HM-CC-TC konnte direkt nur die HM-CC-VD steuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Betrieb mit FHEM ==&lt;br /&gt;
&lt;br /&gt;
Zuerst muss das Wandthermostat natürlich mit FHEM gepairt werden. Danach kann das Peering mit den Heizkörperthermostaten des betreffenden Raumes stattfinden:&lt;br /&gt;
&lt;br /&gt;
=== Channels (Kanäle) ===&lt;br /&gt;
&lt;br /&gt;
==== Channel (Kanal) 01 _Weather ====&lt;br /&gt;
Damit das Heizkörperthermostat HM-CC-RT-DN die Temperatur des Wandthermostats übernimmt, muss der Weather Kanal gepeert werden:&lt;br /&gt;
&lt;br /&gt;
  set &amp;lt;HM-TC-IT-WM-W-EU-Gerät&amp;gt;_Weather peerChan 0 &amp;lt;HM-CC-RT-DN-Gerät&amp;gt;_Weather single set&lt;br /&gt;
&lt;br /&gt;
==== Channel (Kanal) 02 _Climate ====&lt;br /&gt;
Damit der Heizkörperthermostat vom Wandthermostat auch eingestellt werden kann (Soll-Temperatur, Mode etc.), muss der Climate Kanal gepeert werden:&lt;br /&gt;
&lt;br /&gt;
  set &amp;lt;HM-TC-IT-WM-W-EU-Gerät&amp;gt;_Climate peerChan 0 &amp;lt;HM-CC-RT-DN-Gerät&amp;gt;_Climate single set&lt;br /&gt;
Dies muss für jedes zu steuernde Heizkörperthermostat wiederholt werden.&lt;br /&gt;
&lt;br /&gt;
==== Channel (Kanal) 03 _WindowRec ====&lt;br /&gt;
Mit diesem Kanal lassen sich Fensterkontakte (HM-SEC-SC oder HM-SEC-RHS) peeren, die ihren Fensterstatus (geöffnet/gekippt) an ein oder mehrere Thermostate senden. Die Thermostate stellen anschließend die entsprechende (konfigurierbare) Temperatur ein. Der Temperaturwert kann je Fenster-Sensor unterschiedlich definiert werden. Sind mehrere Fenster gleichzeitig geöffnet, so wird der Thermostat auf die Temperatur des Sensors mit dem geringsten Temperaturwert eingestellt. &lt;br /&gt;
&lt;br /&gt;
Das Peering mit einem Tür-Fensterkontakt läuft wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
  set &amp;lt;HM-Sec-SC&amp;gt; peerChan 0 &amp;lt;HM-TC-IT-WM-W-EU-Gerät&amp;gt;_WindowRec single set&lt;br /&gt;
&lt;br /&gt;
Der Befehl zur Temperatureinstellung des Heizkörperthermostaten für den Zustand &amp;quot;Fenster offen&amp;quot; lautet, wobei &amp;lt;fensterSensor&amp;gt; die Fhem-Kanalbezeichnung für den Fensterkontakt ist und &amp;lt;tc_WindowRec&amp;gt; die Kanalbezeichnung für den entsprechenden Kanal des Heizkörperthermostates, sowie &amp;lt;Temp&amp;gt; die einzustellende Temperatur (ganzzahliger Wert):&lt;br /&gt;
 set &amp;lt;tc_WindowRec&amp;gt; regSet winOpnTemp &amp;lt;Temp&amp;gt; &amp;lt;fensterSensor&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Channel (Kanal) 06 _remote ====&lt;br /&gt;
Dieser Kanal ann an eine Fernbedienung gekoppelt werden. Per Tastendruck kann man einen bestimmten Mode und/oder eine bestimmte Temperatur wählen. Dabei kann die Reaktion auf einen langen oder kurzen Tastendruck gesondert eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Der Befehl zum peeren lautet, wobei &amp;lt;button&amp;gt; die Kanalbezeichnung der Fernbedienung und &amp;lt;tc-remote&amp;gt; die Kanalbezeichnung des Heizkörperthermostates ist:&lt;br /&gt;
&amp;lt;pre&amp;gt;set &amp;lt;button&amp;gt; peerChan 0 &amp;lt;rt-remote&amp;gt; single&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Channel (Kanal) 07 _SwitchTr ====&lt;br /&gt;
Das Peering mit einem Schaltaktor läuft z.B. wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
  set &amp;lt;HM-TC-IT-WM-W-EU_SwitchTr&amp;gt; peerChan 0 &amp;lt;HM-LC-SW1-FM&amp;gt; dual set&lt;br /&gt;
  set &amp;lt;HM-LC-SW1-FM&amp;gt; regSet shCtOn ltLo &amp;lt;HM-TC-IT-WM-W-EU_SwitchTr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tastensperre ===&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass der Modus oder die Temperatur per Tasten bzw. Drehrad am HM-TC-IT-WM-W-EU verändert wird, kann eine Tastensperre gesetzt werden. Dies erfolgt mittels des Befehls:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;HM-TC-IT-WM-W-EU&amp;gt; regSet btnLock on&lt;br /&gt;
&lt;br /&gt;
Rückgängig machen geht per:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;HM-TC-IT-WM-W-EU&amp;gt; regSet btnLock off&lt;br /&gt;
&lt;br /&gt;
Diese Tastensperre kann man aber am Thermostat durch eine Tastenkombination wieder zurücksetzen. Um sie nur per Fhem rücksetzen zu können, muss&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;HM-TC-IT-WM-W-EU&amp;gt; regSet globalBtnLock on&lt;br /&gt;
&lt;br /&gt;
abgesetzt werden. Rückgängig wieder per:&lt;br /&gt;
&lt;br /&gt;
 set &amp;lt;HM-TC-IT-WM-W-EU&amp;gt; regSet globalBtnLock off&lt;br /&gt;
&lt;br /&gt;
=== Temperaturlisten ===&lt;br /&gt;
Die Temperaturlisten des HM-TC-IT-WM-W-EU werden identisch mit denen anderer HomeMatic Thermostate verwaltet, siehe &amp;lt;u&amp;gt;[http://www.fhemwiki.de/wiki/HomeMatic_Type_Thermostat#Temperaturlisten|HomeMatic Type Thermostat]&amp;lt;/u&amp;gt;. Beim HM-TC-IT-WM-W-EU ist der Kanal 4 (_Climate) für die Temperaturlisten zuständig.&lt;br /&gt;
&lt;br /&gt;
== Fhem-Log ==&lt;br /&gt;
=== Event monitor ===&lt;br /&gt;
&lt;br /&gt;
Hier habe ich einmal die Wunschtemperatur erhöht, damit auch was passiert:&lt;br /&gt;
&lt;br /&gt;
  2014-04-09 09:35:11 CUL_HM KH_Bad_Therm CMDs_pending&lt;br /&gt;
  2014-04-09 09:35:11 CUL_HM KH_Bad_Therm_Climate set_desired-temp 18.0&lt;br /&gt;
  2014-04-09 09:35:11 CUL_HM KH_Bad_Therm CMDs_done&lt;br /&gt;
&lt;br /&gt;
Bei mir ist es so, das der SwitchTr Kanal nur mit dem gepeerten Device spricht, hier ein HM-LC-SW1-FM:&lt;br /&gt;
&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung trig_KH_Bad_Therm_SwitchTr: 200&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung trigLast: KH_Bad_Therm_SwitchTr :200&lt;br /&gt;
&lt;br /&gt;
Der hat auch prompt reagiert und die Heizung eingeschaltet:&lt;br /&gt;
&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung level: 100&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung pct: 100&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung deviceMsg: on (to KH_Bad_Therm)&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung on&lt;br /&gt;
  2014-04-09 09:35:17 CUL_HM KH_Bad_Heizung timedOn: off&lt;br /&gt;
&lt;br /&gt;
und noch ein wenig Geplauder der vorhandenen Kanäle:&lt;br /&gt;
&lt;br /&gt;
  2014-04-09 09:36:39 CUL_HM KH_Bad_Therm_Climate measured-temp: 16.0&lt;br /&gt;
  2014-04-09 09:36:39 CUL_HM KH_Bad_Therm_Climate desired-temp: 18.0&lt;br /&gt;
  2014-04-09 09:36:39 CUL_HM KH_Bad_Therm_Climate humidity: 50&lt;br /&gt;
  2014-04-09 09:36:39 CUL_HM KH_Bad_Therm_Climate T: 16.0 desired: 18.0&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm battery: ok&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm batteryLevel: 3&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm measured-temp: 16.0&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm desired-temp: 18.0&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm_Climate measured-temp: 16.0&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm_Climate desired-temp: 18.0&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm_Climate mode: auto&lt;br /&gt;
  2014-04-09 09:36:49 CUL_HM KH_Bad_Therm_Climate T: 16.0 desired: 18.0&lt;br /&gt;
  2014-04-09 09:36:59 CUL_HM KH_Bad_Therm_Weather temperature: 16.0&lt;br /&gt;
  2014-04-09 09:36:59 CUL_HM KH_Bad_Therm_Weather humidity: 50&lt;br /&gt;
  2014-04-09 09:36:59 CUL_HM KH_Bad_Therm_Weather T: 16.0 H: 50&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Firmware Update ==&lt;br /&gt;
Updates für den HM-TC-IT-WM-W-EU können von der eQ-3 Webseite heruntergeladen werden. Genauere Informationen gibt es unter [[HomeMatic_Firmware_Update]]. Das Thermostat wird in den Updatemodus gebracht, indem beide äußeren Tasten gedrückt werden, während die Batterien eingesetzt werden. Das Display zeigt &amp;quot;FUP&amp;quot; an.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Bei der Firmware 1.2 und dem Kanal Climate funktioniert die Einstellung der Hysterese über das Register hyst2point nicht. Der Eintrag wird ignoriert. &lt;br /&gt;
&lt;br /&gt;
Siehe auch Bericht im [http://www.elv.de/topic/hystereseeinstellung-bei-hm-tc-it-wm-w-eu-firmware-1-2-wird-ignoriert.html Forum von ELV]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.eq-3.de/Downloads/eq3/pdf_produkte/HM-TC-IT-WM-W-EU_UM_V1.0_GE_eQ-3_20131211_web.pdf Manual]&lt;br /&gt;
* [http://www.eq-3.de/Downloads/eq3/pdf_produkte/Funk-Wandthermostat_132030_Produktdatenblatt_V1.0.pdf Produktdatenblatt] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Feuchtesensoren]]&lt;br /&gt;
[[Kategorie:Temperatursensoren]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Virtueller_Controller_VCCU&amp;diff=12074</id>
		<title>Virtueller Controller VCCU</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Virtueller_Controller_VCCU&amp;diff=12074"/>
		<updated>2015-08-31T09:57:55Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurzbeschreibung ==&lt;br /&gt;
Ein virtueller Controller &#039;&#039;&#039;VCCU&#039;&#039;&#039; ist der Protokoll-Endpunkt der Zentrale.&amp;lt;br&amp;gt;&lt;br /&gt;
Es können einer VCCU einzelne, oder mehrere IO Devices zugeordnet werden. Man bündelt dadurch mehrere IO Devices (z.B. CULs) zu einem &#039;&#039;Pool&#039;&#039;. Den Devices in FHEM (Aktoren, Sensoren) kann dann als IO Device die &#039;&#039;VCCU&#039;&#039; zugeordnet werden. Dies wird im weiteren als &#039;&#039;dynamische IOs&#039;&#039; bezeichnet&lt;br /&gt;
&lt;br /&gt;
Durch diese Gruppierung der IO Devices und dem zuordnen der VCCU zu einem Device entstehen verschieden Vorteile, abhängig des Einsatzes der VCCU. So kann ein beliebiges IO Device im Device Pool der VCCU ausfallen und das oder die verbliebenden IO Devices übernehmen diese Funktion (abhängig der Funkreichweite/Erreichbarkeit). Die VCCU wird das nächst verfügbare IO Device zum senden/empfangen verwenden. Dies ist empfehlenswert für jeden der eine gewisse Ausfallsicherheit einzelner Komponenten erreichen möchte.&lt;br /&gt;
&lt;br /&gt;
Ein weitere Vorteil ist das durch die VCCU auch das IO Device genutzt werden kann welches die beste Funkqualität aufweist. Dies kann z.B. bei beweglichen Sensoren/Aktoren (Fernbedienungen) sinnvoll sein, oder wenn die Funkqualität durch andere Faktoren beeinflusst wird (z.B. Tür/Tor oder andere &amp;quot;bewegliche&amp;quot; Störfaktoren).&lt;br /&gt;
&lt;br /&gt;
== Wann ist eine VCCU sinnvoll ==&lt;br /&gt;
Der Einsatz einer VCCU ist &#039;&#039;&#039;immer&#039;&#039;&#039; sinnvoll und sollte auch nur bei der Nutzung eines einzelnen IO Devices in FHEM angelegt sein. Es entstehen keine Nachteile.&lt;br /&gt;
&lt;br /&gt;
Daher gilt die Empfehlung &#039;&#039;&#039;immer&#039;&#039;&#039; eine VCCU anzulegen. &lt;br /&gt;
&lt;br /&gt;
== Mehrere VCCUs in einer Installation==&lt;br /&gt;
FHEM erlaubt die Nutzung mehrer VCCUs parallel. Das System kann in Gruppen aufgeteilt und jeder VCCU eine Reihe von IOs zuwiesen werden.&lt;br /&gt;
&lt;br /&gt;
Empfohlen wird die Definition &#039;&#039;&#039;einer einzigen&#039;&#039;&#039; VCCU, welcher man alle IOs für HM zuweist.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
=== HMId wählen ===&lt;br /&gt;
Eine VCCU benötigt wie alle HM Devices eine Adresse, mit der sie angesprochen wird. Diese muss eindeutig in System sein. Man muss also eine noch nicht verwendete wählen. &amp;lt;br&amp;gt;&lt;br /&gt;
Eindeutig ist im Bereich CUL_HM. Eine HMId eines IO kann/sollte verwendet werden da diese keine CUL_HM Devices sind.&lt;br /&gt;
&lt;br /&gt;
Eine VCCU gibt HMId an die ihr zugewiesenen IOs (Funkschnittstellen) weiter. Definiert man eine VCCU nachdem IOs (CUL oder HMLAN) für Homematic angelegt sind, sollte die HMId des IO verwendet werden. &lt;br /&gt;
&lt;br /&gt;
In der Regel nimmt man die HMId des IOs, welcher später der VCCU zugeordnet werden soll.&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
  define vccu CUL_HM &amp;lt;HMId&amp;gt;&lt;br /&gt;
  attr vccu model CCU-FHEM&lt;br /&gt;
  attr vccu IOList &amp;lt;io1&amp;gt;[,&amp;lt;io2&amp;gt;,...]&lt;br /&gt;
&lt;br /&gt;
IOList beinhaltet die Komma-getrennte Liste der IOs welche die VCCU nutzen soll/darf.&lt;br /&gt;
&lt;br /&gt;
=== Auswirkungen auf IOs===&lt;br /&gt;
Sind IOs durch das Attribut IOList einer VCCU zugewiesen werden die notwendigen Attribute im IO gesetzt. Die HMId wird durch die VCCU kontrolliert. Ein HMLAN/USB ist etwas enger verbunden als CUL IOs. Beim HMLAN kann die HMId nicht mehr geändert werden. Die kontrollierende VCCU wird in Internals &#039;&#039;owner&#039;&#039; und &#039;&#039;owner_CCU&#039;&#039; des IO automatisch eingetragen. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Best Current Practice ===&lt;br /&gt;
Folgenden Aktionen sind weiter im IO möglich, sollten aber in der VCCU genutzt werden. &lt;br /&gt;
  hmPairForSec&lt;br /&gt;
  hmPairSerial&lt;br /&gt;
&lt;br /&gt;
== Dynamisches IO ==&lt;br /&gt;
Devices senden in der Regel immer über das gleiche IO device. Fällt es aus wird nicht mehr gesendet, selbst wenn ein zweites IO verfügbar wäre. Weiter gibt es &#039;&#039;bewegliche&#039;&#039; Fernbedienungen welche ihre Verbindung zu einem IO verlieren, aber über ein andere IO gut empfangen könnten.&lt;br /&gt;
&lt;br /&gt;
FHEM stellt hierzu 2 Methoden zu Verfügung.&lt;br /&gt;
&lt;br /&gt;
=== IO Ersatzschaltung ===&lt;br /&gt;
Bei stationären Devices - der häufigste Fall - sollte man das beste IO auswählen und als Default nutzen. Ein weiteres IO wird bei Ausfall des Ersten genutzt. Man definiert ein preferredIO.&lt;br /&gt;
  attr &amp;lt;dev&amp;gt; IOgrp &amp;lt;vccu&amp;gt;:&amp;lt;preferredIO&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
  attr LichtFlur IOgrp vccu:HMLAN1&lt;br /&gt;
FHEM sendet zum Device LichtFlur über HMLAN1 so lange dies verfügbar ist. Bei Ausfall von HMLAN1 aus der IOList des VCCU nach einem Ersatz gesucht.&lt;br /&gt;
&lt;br /&gt;
HMLAN1 muss in der IOList der VCCU enthalten sein. &lt;br /&gt;
&lt;br /&gt;
=== IO nach Empfangspegel ===&lt;br /&gt;
Bewegliche Fernbedienungen haben naturgemäß kein preferredIO. Daher wird dieser Eintrag nicht gesetzt. Es wird nun das IO mit dem aktuell besten Empfangspegel genutzt.&lt;br /&gt;
  attr Fernbedienung1 IOgrp vccu&lt;br /&gt;
&lt;br /&gt;
=== Bemerkungen ===&lt;br /&gt;
Es wird empfohlen, das Attribut IOgrp in allen Devices zu setzen. Kanäle senden nicht selbständig, haben daher kein Attribut IOgrp.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Attribut &#039;&#039;&#039;IODev&#039;&#039;&#039; wird automatisch gesetzt, Usereinträge sind irrelevant. Es zeigt indirekt das letzte genutzte output-device.&amp;lt;br&amp;gt;&lt;br /&gt;
Die besprochene Steuerung betrifft das &#039;&#039;&#039;Senden&#039;&#039;&#039;. Empfangen und verarbeitet werden Nachrichten immer von allen verfügbaren Quellen.&lt;br /&gt;
&lt;br /&gt;
=== Setzen der IOgrp auf (fast) allen Devices mit einem einzigen Befehl ===&lt;br /&gt;
Hat man eine bestehende Fhem-Installation mit mehreren/vielen Devices, kann das Setzen der &#039;&#039;IOgrp&#039;&#039; aufwändig sein. Erleichtern kann man dies mittels des Befehls:&lt;br /&gt;
&lt;br /&gt;
  attr TYPE=CUL_HM:FILTER=DEF=...... IOgrp vccu&lt;br /&gt;
  save&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl (in der Fhem-Eingabezeile eingeben und mit &amp;lt;Return&amp;gt; bestätigen).&lt;br /&gt;
&lt;br /&gt;
== Virtuelle Kanäle der VCCU==&lt;br /&gt;
Eine VCCU kann bis zu 50 virtuelle Kanäle bedienen. Diese können als Sender/Sensoren oder Empfänger genutzt werden. Man kann diese Kanäle mit einem realen Kanal peeren und Aktionen triggern. &lt;br /&gt;
&lt;br /&gt;
Man peert beispielsweise eine virtuellen Kanal mit einem Dimmer um das Verhalten bei Tastendruck lang und kurz festzulegen. Aus der Zentrale kann man den Tastendruck auslösen. Es können mehrere Aktoren an einen virtuellen Kanal gepeert werden und so alle Lichter der Gruppe mit einem &amp;quot;press&amp;quot; verzögerungslos schalten.&lt;br /&gt;
 &lt;br /&gt;
=== Anlegen ===&lt;br /&gt;
  set vccu virtual &amp;lt;AnzahlButton&amp;gt;&lt;br /&gt;
z.B.&lt;br /&gt;
  set vccu virtual 10&lt;br /&gt;
legt 10 Kanäle für die VCCU an, die Kanäle 1-10. Evtl. vorhandene Kanäle größer 10 werden gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== Kommandos ===&lt;br /&gt;
für Kommandos siehe CommandRef und &lt;br /&gt;
  get vccu_Btn1 cmdList&lt;br /&gt;
insbesondere gibt es &lt;br /&gt;
  set vccu_Btn1 press short&lt;br /&gt;
  set vccu_Btn1 press long&lt;br /&gt;
  set vccu_Btn1 postEvent &amp;lt;condition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Virtueller_Controller_VCCU&amp;diff=12073</id>
		<title>Virtueller Controller VCCU</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Virtueller_Controller_VCCU&amp;diff=12073"/>
		<updated>2015-08-31T09:57:35Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurzbeschreibung ==&lt;br /&gt;
Ein virtueller Controller &#039;&#039;&#039;VCCU&#039;&#039;&#039; ist der Protokoll-Endpunkt der Zentrale.&amp;lt;br&amp;gt;&lt;br /&gt;
Es können einer VCCU einzelne, oder mehrere IO Devices zugeordnet werden. Man bündelt dadurch mehrere IO Devices (z.B. CULs) zu einem &#039;&#039;Pool&#039;&#039;. Den Devices in FHEM (Aktoren, Sensoren) kann dann als IO Device die &#039;&#039;VCCU&#039;&#039; zugeordnet werden. Dies wird im weiteren als &#039;&#039;dynamische IOs&#039;&#039; bezeichnet&lt;br /&gt;
&lt;br /&gt;
Durch diese Gruppierung der IO Devices und dem zuordnen der VCCU zu einem Device entstehen verschieden Vorteile, abhängig des Einsatzes der VCCU. So kann ein beliebiges IO Device im Device Pool der VCCU ausfallen und das oder die verbliebenden IO Devices übernehmen diese Funktion (abhängig der Funkreichweite/Erreichbarkeit). Die VCCU wird das nächst verfügbare IO Device zum senden/empfangen verwenden. Dies ist empfehlenswert für jeden der eine gewisse Ausfallsicherheit einzelner Komponenten erreichen möchte.&lt;br /&gt;
&lt;br /&gt;
Ein weitere Vorteil ist das durch die VCCU auch das IO Device genutzt werden kann welches die beste Funkqualität aufweist. Dies kann z.B. bei beweglichen Sensoren/Aktoren (Fernbedienungen) sinnvoll sein, oder wenn die Funkqualität durch andere Faktoren beeinflusst wird (z.B. Tür/Tor oder andere &amp;quot;bewegliche&amp;quot; Störfaktoren).&lt;br /&gt;
&lt;br /&gt;
== Wann ist eine VCCU sinnvoll ==&lt;br /&gt;
Der Einsatz einer VCCU ist &#039;&#039;&#039;immer&#039;&#039;&#039; sinnvoll und sollte auch nur bei der Nutzung eines einzelnen IO Devices in FHEM angelegt sein. Es entstehen keine Nachteile.&lt;br /&gt;
&lt;br /&gt;
Daher gilt die Empfehlung &#039;&#039;&#039;immer&#039;&#039;&#039; eine VCCU anzulegen. &lt;br /&gt;
&lt;br /&gt;
== Mehrere VCCUs in einer Installation==&lt;br /&gt;
FHEM erlaubt die Nutzung mehrer VCCUs parallel. Das System kann in Gruppen aufgeteilt und jeder VCCU eine Reihe von IOs zuweisen werden.&lt;br /&gt;
&lt;br /&gt;
Empfohlen wird die Definition &#039;&#039;&#039;einer einzigen&#039;&#039;&#039; VCCU, welcher man alle IOs für HM zuweist.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
=== HMId wählen ===&lt;br /&gt;
Eine VCCU benötigt wie alle HM Devices eine Adresse, mit der sie angesprochen wird. Diese muss eindeutig in System sein. Man muss also eine noch nicht verwendete wählen. &amp;lt;br&amp;gt;&lt;br /&gt;
Eindeutig ist im Bereich CUL_HM. Eine HMId eines IO kann/sollte verwendet werden da diese keine CUL_HM Devices sind.&lt;br /&gt;
&lt;br /&gt;
Eine VCCU gibt HMId an die ihr zugewiesenen IOs (Funkschnittstellen) weiter. Definiert man eine VCCU nachdem IOs (CUL oder HMLAN) für Homematic angelegt sind, sollte die HMId des IO verwendet werden. &lt;br /&gt;
&lt;br /&gt;
In der Regel nimmt man die HMId des IOs, welcher später der VCCU zugeordnet werden soll.&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
  define vccu CUL_HM &amp;lt;HMId&amp;gt;&lt;br /&gt;
  attr vccu model CCU-FHEM&lt;br /&gt;
  attr vccu IOList &amp;lt;io1&amp;gt;[,&amp;lt;io2&amp;gt;,...]&lt;br /&gt;
&lt;br /&gt;
IOList beinhaltet die Komma-getrennte Liste der IOs welche die VCCU nutzen soll/darf.&lt;br /&gt;
&lt;br /&gt;
=== Auswirkungen auf IOs===&lt;br /&gt;
Sind IOs durch das Attribut IOList einer VCCU zugewiesen werden die notwendigen Attribute im IO gesetzt. Die HMId wird durch die VCCU kontrolliert. Ein HMLAN/USB ist etwas enger verbunden als CUL IOs. Beim HMLAN kann die HMId nicht mehr geändert werden. Die kontrollierende VCCU wird in Internals &#039;&#039;owner&#039;&#039; und &#039;&#039;owner_CCU&#039;&#039; des IO automatisch eingetragen. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Best Current Practice ===&lt;br /&gt;
Folgenden Aktionen sind weiter im IO möglich, sollten aber in der VCCU genutzt werden. &lt;br /&gt;
  hmPairForSec&lt;br /&gt;
  hmPairSerial&lt;br /&gt;
&lt;br /&gt;
== Dynamisches IO ==&lt;br /&gt;
Devices senden in der Regel immer über das gleiche IO device. Fällt es aus wird nicht mehr gesendet, selbst wenn ein zweites IO verfügbar wäre. Weiter gibt es &#039;&#039;bewegliche&#039;&#039; Fernbedienungen welche ihre Verbindung zu einem IO verlieren, aber über ein andere IO gut empfangen könnten.&lt;br /&gt;
&lt;br /&gt;
FHEM stellt hierzu 2 Methoden zu Verfügung.&lt;br /&gt;
&lt;br /&gt;
=== IO Ersatzschaltung ===&lt;br /&gt;
Bei stationären Devices - der häufigste Fall - sollte man das beste IO auswählen und als Default nutzen. Ein weiteres IO wird bei Ausfall des Ersten genutzt. Man definiert ein preferredIO.&lt;br /&gt;
  attr &amp;lt;dev&amp;gt; IOgrp &amp;lt;vccu&amp;gt;:&amp;lt;preferredIO&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
  attr LichtFlur IOgrp vccu:HMLAN1&lt;br /&gt;
FHEM sendet zum Device LichtFlur über HMLAN1 so lange dies verfügbar ist. Bei Ausfall von HMLAN1 aus der IOList des VCCU nach einem Ersatz gesucht.&lt;br /&gt;
&lt;br /&gt;
HMLAN1 muss in der IOList der VCCU enthalten sein. &lt;br /&gt;
&lt;br /&gt;
=== IO nach Empfangspegel ===&lt;br /&gt;
Bewegliche Fernbedienungen haben naturgemäß kein preferredIO. Daher wird dieser Eintrag nicht gesetzt. Es wird nun das IO mit dem aktuell besten Empfangspegel genutzt.&lt;br /&gt;
  attr Fernbedienung1 IOgrp vccu&lt;br /&gt;
&lt;br /&gt;
=== Bemerkungen ===&lt;br /&gt;
Es wird empfohlen, das Attribut IOgrp in allen Devices zu setzen. Kanäle senden nicht selbständig, haben daher kein Attribut IOgrp.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Attribut &#039;&#039;&#039;IODev&#039;&#039;&#039; wird automatisch gesetzt, Usereinträge sind irrelevant. Es zeigt indirekt das letzte genutzte output-device.&amp;lt;br&amp;gt;&lt;br /&gt;
Die besprochene Steuerung betrifft das &#039;&#039;&#039;Senden&#039;&#039;&#039;. Empfangen und verarbeitet werden Nachrichten immer von allen verfügbaren Quellen.&lt;br /&gt;
&lt;br /&gt;
=== Setzen der IOgrp auf (fast) allen Devices mit einem einzigen Befehl ===&lt;br /&gt;
Hat man eine bestehende Fhem-Installation mit mehreren/vielen Devices, kann das Setzen der &#039;&#039;IOgrp&#039;&#039; aufwändig sein. Erleichtern kann man dies mittels des Befehls:&lt;br /&gt;
&lt;br /&gt;
  attr TYPE=CUL_HM:FILTER=DEF=...... IOgrp vccu&lt;br /&gt;
  save&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl (in der Fhem-Eingabezeile eingeben und mit &amp;lt;Return&amp;gt; bestätigen).&lt;br /&gt;
&lt;br /&gt;
== Virtuelle Kanäle der VCCU==&lt;br /&gt;
Eine VCCU kann bis zu 50 virtuelle Kanäle bedienen. Diese können als Sender/Sensoren oder Empfänger genutzt werden. Man kann diese Kanäle mit einem realen Kanal peeren und Aktionen triggern. &lt;br /&gt;
&lt;br /&gt;
Man peert beispielsweise eine virtuellen Kanal mit einem Dimmer um das Verhalten bei Tastendruck lang und kurz festzulegen. Aus der Zentrale kann man den Tastendruck auslösen. Es können mehrere Aktoren an einen virtuellen Kanal gepeert werden und so alle Lichter der Gruppe mit einem &amp;quot;press&amp;quot; verzögerungslos schalten.&lt;br /&gt;
 &lt;br /&gt;
=== Anlegen ===&lt;br /&gt;
  set vccu virtual &amp;lt;AnzahlButton&amp;gt;&lt;br /&gt;
z.B.&lt;br /&gt;
  set vccu virtual 10&lt;br /&gt;
legt 10 Kanäle für die VCCU an, die Kanäle 1-10. Evtl. vorhandene Kanäle größer 10 werden gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== Kommandos ===&lt;br /&gt;
für Kommandos siehe CommandRef und &lt;br /&gt;
  get vccu_Btn1 cmdList&lt;br /&gt;
insbesondere gibt es &lt;br /&gt;
  set vccu_Btn1 press short&lt;br /&gt;
  set vccu_Btn1 press long&lt;br /&gt;
  set vccu_Btn1 postEvent &amp;lt;condition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-CFG-LAN_LAN_Konfigurations-Adapter&amp;diff=7123</id>
		<title>HM-CFG-LAN LAN Konfigurations-Adapter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-CFG-LAN_LAN_Konfigurations-Adapter&amp;diff=7123"/>
		<updated>2014-08-05T10:59:38Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: /* Wechsel von CUL zu HMLAN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:HM-CFG-LAN.jpg|thumb|right|HomeMatic LAN Konfigurations-Adapter]]&lt;br /&gt;
== Vorbemerkungen ==&lt;br /&gt;
Der HomeMatic Konfigurations-Adapter LAN ([http://www.eq-3.de/produkt-detail-zentralen-und-gateways/items/hm-cfg-lan.html HM-CFG-LAN]), kurz HMLAN, ist ein Schnittstellengerät (IO) ohne wesentliche Intelligenz. Die Aufgabe ist, ein Interface von der Zentrale zu den Geräten bereitzustellen. Ein HMLAN selbst steuert keine Geräte, es überträgt nur Nachrichten in beide Richtungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alternativen ===&lt;br /&gt;
Alternativen zu einem HMLAN sind [[HM-CFG-USB USB Konfigurations-Adapter]], [[CUN]], [[CUNO]] und [[CUL]].&lt;br /&gt;
&lt;br /&gt;
==== HMUSB ====&lt;br /&gt;
Ein HMUSB hat nahezu identische Eigenschaften wie ein HMLAN. Der wesentliche Unterschied ist die Anbindung über USB anstatt Ethernet. Es hat sich erwiesen, dass USB eine bessere Latenz hat als LAN - also eine kürzere Verzögerung. Damit hat ein HMUSB leichte Vorteile zu HMLAN, was aber in den bei Weitem meisten Fällen durch die interne Timing Kalkulation abgefangen wird. &lt;br /&gt;
Dafür bietet der HMLAN mit seinem Netzwerkanschluss Vorteile bei der Platzierung.&lt;br /&gt;
&lt;br /&gt;
==== CUL/CUN(O) ====&lt;br /&gt;
* Die Devices liefern keine eigenen Zeitstempel, wodurch eine Timingkorrektur durch FHEM nicht möglich ist. Je nach Systemgeschwindigkeit kann dies zu Problemen, Nachrichten wiederholen und ggf. auch Nachrichtenverlust führen&lt;br /&gt;
* Da USB kurze Reaktionszeiten und geringe Timingschwankungen hat ist der Einsatz von [[CUL]] und [[CUNO]] mit HM möglich. &amp;lt;br&amp;gt;Die Timingschwankungen der Ethernet-schnittstelle hingegen können in FHEM nicht ausgeglichen werden. Daher kann der Einsatz der [[CUNO]] über Ethernet &#039;&#039;&#039;nicht empfohlen&#039;&#039;&#039; werden.&lt;br /&gt;
* [[AES Encryption]] wird nicht unterstützt&lt;br /&gt;
* lacyConfig (ein Übertragungsmode) wird nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
=== Funktionen ===&lt;br /&gt;
==== AES ====&lt;br /&gt;
siehe [[AES Encryption]].&lt;br /&gt;
&lt;br /&gt;
==== Übertragungsmode ====&lt;br /&gt;
Es werden alle HM-Modi unterstützt. Diese sind Always, Burst, Wakeup und Config. Weiter gibt es lacyConfig und conditionalBurst. Siehe [[HomeMatic]] für Details.&lt;br /&gt;
&lt;br /&gt;
==== KeepAlive ====&lt;br /&gt;
Das HMLAN baut eine Verbindung zur Zentrale über das LAN Interface auf. HMLAN erwartet alle 30sec eine keep-alive Nachricht von der Zentrale. Sollte diese ausbleiben baut HMLAN die LAN-Verbindung ab. Das führt zu einem Disconnect, welcher in State gemeldet wird. Die Verbindung wird automatisch wieder aufgebaut. &lt;br /&gt;
FHEM sendet den keep-alive alle 25 sec, was einen 5sec Puffer einräumt. In Internals &#039;&#039;&#039;msgKeepAlive&#039;&#039;&#039; kann man sehen, wie hoch die maximale Verzögerung der Zentrale beim Senden war und wie viel Puffer (in sec) noch war. &lt;br /&gt;
Die Wiederholrate von 25 sec des keep-alive kann man mit dem Attribut &#039;&#039;&#039;wdTimer&#039;&#039;&#039; reduzieren werden, was den Puffer erhöhen. Es wird jedoch dringend geraten, im Problemfall die Ursache der Verzögerung zu finden und zu eliminieren. &lt;br /&gt;
&lt;br /&gt;
==== Nachrichtenübertragung - Performance ====&lt;br /&gt;
* Mit Internal &#039;&#039;&#039;msgParseDly&#039;&#039;&#039; kann man ablesen, wie viel Verzögerung eine Nachricht von Empfangen im HMLAN bis zur Verarbeitung in der Zentrale hat.&lt;br /&gt;
* HMLAN hält sich an den Funkstandard, welcher einem Sender eine maximale Sendezeit je Stunde erlaubt. Wird dieser Wert überschritten stellt HMLAN das Senden ein. Empfangen wird weiter. Ist eine Kapazität von 90% erreicht wird im Reading &#039;&#039;&#039;cond&#039;&#039;&#039; &#039;&#039;&#039;Warning-HighLoad&#039;&#039;&#039; gemeldet. Bei cond &#039;&#039;&#039;ERROR-Overload&#039;&#039;&#039; wird das Senden eingestellt ist. &lt;br /&gt;
&lt;br /&gt;
==== Loggen/Mitschneiden ====&lt;br /&gt;
Es stehen die üblichen Funktionen des Attribute &#039;&#039;&#039;verbose&#039;&#039;&#039; zu Verfügung. Darüber hinaus gibt es die Attribute hmProtocolEvents und logIDs. Siehe auch &amp;lt;u&amp;gt;[[Homematic Nachrichten sniffen|Homematic Nachrichten sniffen]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung ==&lt;br /&gt;
[[Datei:HMLAN_CONFIG_IP_AES.png|300px|thumb|right|HomeMatic Lan-Interface Configurator]][[Datei:HMLAN_CONFIG_AES.png|300px|thumb|right|HomeMatic Konfigurator]]Bevor man den HMLAN mit Fhem nutzen kann, müssen noch Einstellungen vorgenommen werden. Dazu braucht man Software die bei [http://www.eq-3.de/software.html HomeMatic] in der Version 1.512 (Stand 19. Dezember 2013) herunter zu laden ist und nach der Installation mit der Verknüpfung &amp;quot;HomeMatic-Lan-Interface konfigurieren&amp;quot; oder &amp;quot;HomeMatic-Komponenten konfigurieren&amp;quot; gestartet wird und unter Windows läuft. Für andere Betriebssystem ([http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11506&amp;amp;amp;goto=67417&amp;amp;amp;rid=417#msg_67417 Anleitung für OS X]) braucht man eine Windows-Emulation. Dem HMLAN liegen zwei Konfigurationsprogramme bei, bitte darauf achten, das richtige zu verwenden. Wenn das Konfigurationsprogramm den HMLAN-Konfigurator nicht findet, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden, siehe [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10933&amp;amp;amp;goto=62960&amp;amp;amp;rid=42#msg_62960 Beitrag im Fhem Forum] und [[HM-CFG-LAN_LAN_Konfigurations-Adapter#Bekannte_Probleme|bekannte Probleme]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
Die aktuelle Firmware Version des HMLAN ist 0.961 (Stand September 2013). Ein Update ist unter &#039;&#039;&amp;quot;Update Firmware&amp;quot;&#039;&#039; mit der &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software möglich.&lt;br /&gt;
&lt;br /&gt;
=== IP Adresse ===&lt;br /&gt;
Der HMLAN Konfigurator ist ähnlich wie der CUN(O) ein Netzwerkgerät. Er beherrscht DHCP und bezieht bei einem im Netzwerk erreichbaren DHCP Servers von diesem eine IP-Adresse. Da Fhem zwecks Kommunikation die IP-Adresse wissen muss, ist es sinnvoll, dem HMLAN eine statische Adresse zuzuweisen. &lt;br /&gt;
* mit der auf der CD mitgelieferten &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software unter &#039;&#039;&amp;quot;Change IP Settings&amp;quot;&#039;&#039; oder&lt;br /&gt;
* im DHCP-Server eine feste IP-Adresse zuzuweisen (sofern dies vom gegeben DHCP Server als Konfigurationsoption unterstützt wird).&lt;br /&gt;
&lt;br /&gt;
=== AES Encryptet LAN Communication ===&lt;br /&gt;
Wichtig ist, dass vor Verwendung die &amp;quot;AES Encryptet LAN Communication&amp;quot; abgeschaltet wird, da diese FHEM nicht unterstützt. Dies ist unter &#039;&#039;&amp;quot;Change IP Settings&amp;quot;&#039;&#039; der &#039;&#039;&amp;quot;HomeMatic Lan-Interface Configurator&amp;quot;&#039;&#039; Software möglich. AES auf dem LAN ist zu unterscheiden von HMLAN auf der Funktschnittstelle. siehe [[AES Encryption]].&lt;br /&gt;
&lt;br /&gt;
== Einbindung in FHEM ==&lt;br /&gt;
Der HMLAN-Konfigurator muss in FHEM definiert werden. Dazu in die fhem.cfg eintragen:&lt;br /&gt;
&lt;br /&gt;
 define HMLAN1 HMLAN &amp;lt;IP Adresse&amp;gt;:1000 &lt;br /&gt;
 attr HMLAN1 hmId 123ABC&lt;br /&gt;
Der Name HMLAN1 kann frei vergeben werden. Standard IP-Port des HMLAN-Konfigurators ist 1000.&lt;br /&gt;
&lt;br /&gt;
HMLAN kennt mehrere Attribute ([http://fhem.de/commandref.html#HMLAN commandref]). &lt;br /&gt;
Wichtig ist die &#039;&#039;&#039;hmId&#039;&#039;&#039; zu vergeben. Diese ist ein 3-Byte hexadezimal-Wert, somit ein 6-steliger String in &#039;&#039;&#039;Großbuchstaben&#039;&#039;&#039;. 000000 und FFFFFF sind ungültig. &lt;br /&gt;
Wenn HM-Geräte mit der Zentrale gepairt werden wir ihnen diese hmId eingetragen. Wechselt man die hmId müssen &#039;&#039;&#039;aller&#039;&#039;&#039; damit gepairten Geräte neu gepairt werden. &lt;br /&gt;
&lt;br /&gt;
Die Adresse wird in Grossbuchstaben eingegeben, siehe [[HMLAN_Konfigurator#Bekannte_Probleme|&amp;quot;Bekannte Probleme&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;gleichzeitiger&#039;&#039;&#039; Zugriff von Fhem und der HomeMatic-Software auf den HMLAN-Konfigurator ist nicht möglich, da letzterer nur eine Verbindung zulässt. Wollen Sie temporär z.B. mit der Windows-Software von HomeMatic zugreifen, ist Fhem zu deaktivieren.&lt;br /&gt;
Sinnvoll ist es, die hmId mit der der PC-Software gleichzusetzen. Dann kann man von beiden Zentralen alternativ zugreifen ohne pairen zu müssen.&lt;br /&gt;
&lt;br /&gt;
=== Nutzung mehrere IOs ===&lt;br /&gt;
==== Empfangen ====&lt;br /&gt;
Man kann an einem FHEM mehrere IOs (HMLAN/USB, CUL/CUNO) betreiben. Generell empfangen alle IOs von allen Geräten in ihrem Empfangsbereich - unabhängig von der hmId. &lt;br /&gt;
&lt;br /&gt;
==== Senden ====&lt;br /&gt;
An ein Gerät wird nur über das IO gesendet welches in Internals-&amp;gt;IODev angezeigt wird. Nutzt man mehrere IOs sollte im HM Device das Attribut IODev auf das gewünschte IO setzen. Ansonsten sucht FHEM zufällig ein IO aus.&lt;br /&gt;
&lt;br /&gt;
==== hmId bei mehreren IOs ====&lt;br /&gt;
Man kann allen IOs die gleiche HMId setzen. Das erlaubt die wahlfreie Umschaltung des Sende-IOs für das Device. &lt;br /&gt;
Sollte man unterschiedliche hmIds wählen simuliert dies mehrere Zentralen. Das Device an welches man sendet muss über ein IO angesprochen werden, mit einer hmId auf die das Device gepairt ist. &lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
* &#039;&#039;&#039;hmId&#039;&#039;&#039;: Adresse, die das IO auf der funkstrecke nutzt. Es ist ein 3-byte hexwert (6 Zeichen) in Großbuchstaben. &lt;br /&gt;
* &#039;&#039;&#039;hmkey, hmkey2..5&#039;&#039;&#039;: bis zu 5 AES keys, welche auf der Funkstrecke genutzt werden. Siehe [[AES Encryption]]&lt;br /&gt;
* &#039;&#039;&#039;hmLanQlen&#039;&#039;&#039; legt fest, wie viele Nachrichten parallel gesendet werden dürfen, also auf wie viele Antworten die Zentrale parallel warten darf. Ein Wert von 1 ist max defensiv, erzeugt aber eine höhere Verzögerung. Wählt man einen höheren Wert kann es zu Nachrichten-Wiederholern kommen. &lt;br /&gt;
* &#039;&#039;&#039;hmProtocolEvents&#039;&#039;&#039;: alle Nachrichten werden dekodiert ausgegeben. Diese Einstellung benötigt einige Performance insbesondere bei höheren Level. Man sollte es vorsichtig nutzen. &lt;br /&gt;
* &#039;&#039;&#039;logIDs&#039;&#039;&#039;: zeichnet Rohmessages auf und bietet die genaueste Methode bei der Fehlersuche. Da Nachrichten undekodiert ausgegeben werden ist es im Wesentlichen für Spezialisten von Bedeutung. Man gibt eine Komma getrennte Liste von IDs an, die geloggt werden sollen. Mit &#039;&#039;&#039;all&#039;&#039;&#039; werden alle IDs aufgezeichnet. &#039;&#039;&#039;sys&#039;&#039;&#039; zeichnet zusätzlich Systemmessages auf. &#039;&#039;&#039;sys,all&#039;&#039;&#039; somit alles.&lt;br /&gt;
* &#039;&#039;&#039;respTime&#039;&#039;&#039;: Antwortzeit des HMLAN auf ein keep-alive kann hier eingestellt werden. Normal sollte das HMLAN in 1 sec der Zentrale antworten. Sollte dies nicht passieren, wird die Message wiederholt. Der Wert sollte nur in Ausnahmefällen verändert werden.&lt;br /&gt;
&lt;br /&gt;
=== Readings ===&lt;br /&gt;
* &#039;&#039;&#039;Xmit-Events&#039;&#039;&#039;: Anzahl der Ereignisse &lt;br /&gt;
* &#039;&#039;&#039;cond&#039;&#039;&#039;: aktueller Zustand des IO. &lt;br /&gt;
** ok&lt;br /&gt;
** Warning-HighLoad: 90% der 1h sendekapazität sind erreicht&lt;br /&gt;
** ERROR-Overload: 100% der sendekapazität sind erreicht, &#039;&#039;&#039;das IO sendet nicht mehr&#039;&#039;&#039;&lt;br /&gt;
** timeout&lt;br /&gt;
** disconnected: die Verbindung FHEM /IO ist unterbrochen&lt;br /&gt;
** Overload-released: das IO ist aus ERROR-Overload zurück im Sendebetrieb&lt;br /&gt;
** init: Das IO wurde neu initialisiert. &lt;br /&gt;
* &#039;&#039;&#039;prot_ERROR-Overload&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_Warning-HighLoad&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_disconnected&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_init&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_ok&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
* &#039;&#039;&#039;prot_timeout&#039;&#039;&#039;: Anzahl des Events, Zeitstempel des letzten Auftretens&lt;br /&gt;
&lt;br /&gt;
=== Internals ===&lt;br /&gt;
* &#039;&#039;&#039;XmitOpen&#039;&#039;&#039;: 1 = HMLAN ist sende bereit&lt;br /&gt;
* &#039;&#039;&#039;assignedIDs&#039;&#039;&#039;: HMIDs der HM Devices, die über dieses IO bedient werden&lt;br /&gt;
* &#039;&#039;&#039;assignedIDsCnt&#039;&#039;&#039;: Anzahl der zugewiesenen HMIds von FHEM&lt;br /&gt;
* &#039;&#039;&#039;assignedIDsReport&#039;&#039;&#039;: Anzahl der HMIds, die das HMLAN angibt zu bedienen. Die Zahl sollte identisch sein mit assignedIDsCnt&lt;br /&gt;
* &#039;&#039;&#039;msgKeepAlive&#039;&#039;&#039;: dlyMax: maximale Verzögerung, die ein keep-alive hatte. bufferMin: der minimale Zeitpuffer, der übrig blieb, bis das keep-alive zu spät gekommen wäre. Der Puffer sollte 2 oder größer sein, sonst könnte man gelegentlich disconnects bekommen. &lt;br /&gt;
* &#039;&#039;&#039;msgLoadEst&#039;&#039;&#039;: Funkbelastung des HMLAN. Der Wert wird über 1 Stunde akkumuliert. Sollten 100% erreicht sein, wird das HMLAN den Sendebetrieb einstellen. Der Wert ist eine Hochrechnung in FHEM. Es ist möglich, dass das HMLAN mehr belastet ist. Die 10 min werte zeigen die Belastung in den letzten 10min Perioden an.&lt;br /&gt;
* &#039;&#039;&#039;msgParseDly&#039;&#039;&#039;: Verzögerung der Message Verarbeitung vom Empfang im IO bis zur Verarbeitung in FHEM. Eine Verzögerung kann durch Prozesse an LAN, durch FHEM Prozesse oder sonstige Prozesse/Applikationen der CPU  hervorgerufen werden.&lt;br /&gt;
&lt;br /&gt;
== Pairen von Geräten ==&lt;br /&gt;
Jedes HM Geräte muss vor Verwendung mit der HM-Zentrale gepairt werden. Dabei wird die hmId des gewählten IOs in das Device programmiert. Ändert man die hmId des IO, mit welchem an das Device anspricht muss man das Device neu pairen. &lt;br /&gt;
Alle Geräte haben eine eigene hmId, welche nicht änderbar ist. Details zum Pairen auf der Seite [[HomeMatic Devices pairen]].&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme ==&lt;br /&gt;
Selten lehnt der HMLAN-Konfigurator ohne erkennbaren Grund nach monatelangem störungsfreiem Betrieb die Verbindung ab:&lt;br /&gt;
&lt;br /&gt;
 Opening HMLAN1 device 192.168.168.60:1000&lt;br /&gt;
 192.168.168.60:1000 connection refused&lt;br /&gt;
Der HMLAN-Konfigurator kann aber über die mitgelieferte Konfigurationssoftware problemlos erreicht werden. Der Zustand lässt sich auch durch einen Reboot des HMLAN-Konfigurators (oder Fhem) nicht beheben, wohl aber durch eine Aktualisierung der Firmware des HMLAN-Konfigurators, selbst wenn die installierte Version aktuell ist.&lt;br /&gt;
&lt;br /&gt;
Wenn das Konfigurationsprogramm den HM-CFG-LAN LAN Konfigurations-Adapter zu finden, sollten alle nicht benutzten Netzwerkinterfaces vorübergehend deaktiviert werden.  Vereinzelt gibt es Hinweise darauf, dass es unter  Windows 7 eventuell nicht reicht, die Netzwerkverbindungen im &amp;quot;Netzwerk- und Freigabecenter&amp;quot; zu deaktivieren, sondern ein Deaktivierung der Netzwerkadapter im Gerätemanager erforderlich ist.&lt;br /&gt;
&lt;br /&gt;
== Wechsel von CUL zu HMLAN ==&lt;br /&gt;
Sollten Sie ein [[CUL]] als IO für Homematic-Geräte eingesetzt haben und jetzt einen Wechsel auf den HMLAN Konfigurator planen, hält sich der Aufwand in Grenzen:&lt;br /&gt;
&lt;br /&gt;
* deaktivieren Sie das CUL in der &#039;&#039;fhem.cfg&#039;&#039;.&lt;br /&gt;
* konfigurieren Sie den HMLAN Konfigurator &#039;&#039;&#039;von Hand&#039;&#039;&#039; &lt;br /&gt;
* Ändern sie das Attribut IODev aller HM-Devices vom Namen der CUL auf den Namen des HMLAN&lt;br /&gt;
* sollte sie das Attribut IODev nicht nutzen (nicht empfohlen) achten sie darauf, dass im fhem.cfg das IO vor allen HM-devices definiert wird. Eine automatischen Zuweisung des IO zu den Devices ist sonst nicht möglich. &lt;br /&gt;
** der HMLAN &#039;&#039;&#039;muss&#039;&#039;&#039; die gleiche &#039;&#039;hmId&#039;&#039; wie das bisherige CUL erhalten. Ansonsten müssen alle Geräte neu gepairt / angelernt werden.&lt;br /&gt;
** AES muss im HMLAN abgeschaltet werden.&lt;br /&gt;
* verbinden Sie den HMLAN Konfigurator mit ihrem Netzwerk und ziehen das CUL aus der USB-Buchse.&lt;br /&gt;
* geben Sie in der FHEM-Befehlszeile &#039;&#039;shutdown restart&#039;&#039; gefolgt von &amp;amp;lt;Enter&amp;amp;gt; (nicht &amp;quot;save&amp;quot;) ein (evtl. reicht auch ein &#039;&#039;rereadcfg&#039;&#039;).&lt;br /&gt;
* kontrollieren Sie im Event-Monitor und in den HM-Device-Logs von Fhem die Kommunikation.&lt;br /&gt;
&lt;br /&gt;
Bitte beachten: Falls dem CUL keine explizite hmId per Attribut zugewiesen wurde, wird diese ID aus &amp;quot;F1&amp;amp;lt;FHT-ID&amp;amp;gt;&amp;quot; zusammengebaut. Die hmId muss auf dem HMLAN explizit gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.eq-3.de/software.html Software] für den Konfigurationsadapter von der eQ-3 Site&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HM-LC-Bl1PBU-FM_Funk-Rollladenaktor_f%C3%BCr_Markenschalter&amp;diff=4374</id>
		<title>HM-LC-Bl1PBU-FM Funk-Rollladenaktor für Markenschalter</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HM-LC-Bl1PBU-FM_Funk-Rollladenaktor_f%C3%BCr_Markenschalter&amp;diff=4374"/>
		<updated>2014-01-17T14:31:26Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: /* Mögliche Schaltoperationen */  - nicht &amp;quot;um&amp;quot; sondern &amp;quot;auf absolut prozentual&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Features =&lt;br /&gt;
&lt;br /&gt;
Schalten eines angeschlossenen Jalousiemotors mittels CUL/CUN/HMLAN Konfigurator und über lokalen, in bestehendes Schalterprogramm integrierte Schaltwippe.&lt;br /&gt;
&lt;br /&gt;
Technische Daten:&lt;br /&gt;
* Gerätebezeichnung: HM-LC-Bl1PBU-FM&lt;br /&gt;
* Versorgungsspannung: 230 V / 50 Hz&lt;br /&gt;
* Maximale Schaltleistung: 230 VA (Motorlast)&lt;br /&gt;
* Standby-Verbrauch: 0,5 W&lt;br /&gt;
* Schaltvermögen: 1 A (Motorlast)&lt;br /&gt;
* Funkfrequenz: 868,3 MHz&lt;br /&gt;
* Empfängerklasse: SRD Class 2&lt;br /&gt;
* Maximale Sendeleistung: 10 mW&lt;br /&gt;
* Schutzart: IP20&lt;br /&gt;
* Schutzklasse: II&lt;br /&gt;
* Umgebungstemperatur: +5°C bis +35°C&lt;br /&gt;
* Abmessungen (B x H x T): 71 x 71 x 37 mm&lt;br /&gt;
* Gewicht: 43 g&lt;br /&gt;
&lt;br /&gt;
= Hinweise zur Hardware-Installation =&lt;br /&gt;
&lt;br /&gt;
Der Schaltaktor ersetzt den Unterputzschalter der bestehenden Elektroinstallation. Arbeiten am 230 V Netz dürfen nur von einer Elektrofachkraft durchgeführt werden! Sicherheitsregeln anwenden:&lt;br /&gt;
&lt;br /&gt;
* Freischalten (Sicherung abschalten),&lt;br /&gt;
* gegen Wiedereinschalten sichern,&lt;br /&gt;
* Spannungsfreiheit feststellen,&lt;br /&gt;
* Erden und Kurzschließen,&lt;br /&gt;
* benachbarte, unter Spannung stehende Teile abdecken.&lt;br /&gt;
&lt;br /&gt;
Zur Integration in ein bestehendes Schalterprogramm bitte den entsprechenden Adapter mit bestellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 01.jpg|Ausgangssituation&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 02.jpg|Schalter abbauen, Rahmen entfernen, Unterputzschalter lösen&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 03.jpg|Bestehender Anschluss&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 04.jpg|Neuer Anschluss. Achtung: zusätzlicher Nullleiteranschluss!&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 05.jpg|Einbau ohne Adapter&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 06.jpg|Adapter aufsetzen&lt;br /&gt;
Datei:HM-LC-BL1PBU schritt 07.jpg|Fertig eingebauter HM-LC-BL1PBU-FM&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Hinweise zum Betrieb mit FHEM = &lt;br /&gt;
&lt;br /&gt;
Der Schalter wird mit FHEM 5.3 unterstützt.&lt;br /&gt;
&lt;br /&gt;
= Einrichtung über FHEMWEB mit HMLAN =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. HMLAN in den pairing Modus versetzen&#039;&#039;&#039; (z.B. 180 Sekunden)&lt;br /&gt;
 set &amp;lt;HMLAN&amp;gt; hmPairForSec 180&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Pairing&#039;&#039;&#039;&lt;br /&gt;
 set &amp;lt;HMLAN&amp;gt; hmPairSerial JEQxxxxxx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. ggf. zusätzliche Attribute setzen&#039;&#039;&#039;, z.B.&lt;br /&gt;
 attr &amp;lt;DEVICE_NAME&amp;gt; eventMap on:hoch off:runter stop:stop&lt;br /&gt;
 attr &amp;lt;DEVICE_NAME&amp;gt; webCmd pct &lt;br /&gt;
 attr &amp;lt;DEVICE_NAME&amp;gt; room Wohnzimmer&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Jalousielaufzeiten einstellen.&#039;&#039;&#039; Im folgenden Beispiel 25 Sekunden von ganz untern nach ganz oben (driveUp). 0 Sekunden Umschaltung (driveTurn - normaler Rollo, bei Lamellenjalousien hier Wert angeben!). 25 Sekunden von ganz oben nach ganz unten (driveDown) &lt;br /&gt;
 set &amp;lt;DEVICE_NAME&amp;gt; regSet driveUp 25 &lt;br /&gt;
 set &amp;lt;DEVICE_NAME&amp;gt; regSet driveTurn 0 &lt;br /&gt;
 set &amp;lt;DEVICE_NAME&amp;gt; regSet driveDown 25 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.Speichern:&#039;&#039;&#039;&lt;br /&gt;
 save&lt;br /&gt;
&lt;br /&gt;
== FHEM Config-Auszug ==&lt;br /&gt;
Ein exemplarischer Auszug aus der fhem.cfg:&lt;br /&gt;
&lt;br /&gt;
 define WZ_Rollo_Links CUL_HM ABCDEF&lt;br /&gt;
 attr WZ_Rollo_Links devInfo 010100&lt;br /&gt;
 attr WZ_Rollo_Links eventMap on:hoch off:runter stop:stop&lt;br /&gt;
 attr WZ_Rollo_Links firmware 2.1&lt;br /&gt;
 attr WZ_Rollo_Links hmClass receiver&lt;br /&gt;
 attr WZ_Rollo_Links model HM-LC-Bl1PBU-FM&lt;br /&gt;
 attr WZ_Rollo_Links room Wohnzimmer&lt;br /&gt;
 attr WZ_Rollo_Links serialNr JEQxxxxxxx&lt;br /&gt;
 attr WZ_Rollo_Links subType blindActuator&lt;br /&gt;
 attr WZ_Rollo_Links webCmd pct&lt;br /&gt;
&lt;br /&gt;
= Mögliche Schaltoperationen =&lt;br /&gt;
&lt;br /&gt;
Der Aktor versteht folgende Befehle:&lt;br /&gt;
 set &amp;lt;name&amp;gt; on -&amp;gt; Schaltet den Aktor ein&lt;br /&gt;
 set &amp;lt;name&amp;gt; off -&amp;gt; Schaltet den Aktor aus&lt;br /&gt;
 set &amp;lt;name&amp;gt; toggle -&amp;gt; Ändert den logischen Zustand des Aktors.&lt;br /&gt;
 set &amp;lt;name&amp;gt; &amp;lt;Prozentangabe[0 bis 100]&amp;gt; -&amp;gt; Öffnet die Jalousie auf absolut prozentuale Öffnungsposition, berechnet aus definierter Laufzeit. &lt;br /&gt;
&lt;br /&gt;
== Log-Auszug ==&lt;br /&gt;
In FHEM ist nach dem Schalten des HM-LC-BL1-FM folgendes Log zu sehen:&lt;br /&gt;
 2013.02.26 07:00:12 2: CUL_HM set WZ_Rollo_Rechts on rxt:1&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.elv-downloads.de/Assets/Produkte/10/1030/103038/Downloads/103038_FunkRollladenaktor_um.pdf Bedienungsanleitung (PDF)]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HomeMatic Components]]&lt;br /&gt;
[[Kategorie:Rolladensteuerung]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Wochenende,_Feiertage_und_Schulferien&amp;diff=4373</id>
		<title>Wochenende, Feiertage und Schulferien</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Wochenende,_Feiertage_und_Schulferien&amp;diff=4373"/>
		<updated>2014-01-17T14:25:15Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FHEM bietet mehrere Möglichkeiten, Komponenten in Abhängigkeit von Wochenenden, Feiertagen oder sogar Schulferien zu steuern.&lt;br /&gt;
&lt;br /&gt;
Eine simple Rollladensteuerung um 7 Uhr morgens sieht beispielsweise wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 set Rollo hoch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Um am Wochenende (Samstag und Sonntag) länger schlafen zu können, kann diese Steuerung durch Nutzung der Variable &#039;&#039;$we&#039;&#039; erweitert werden. Diese hat am Wochenende den Wert &#039;&#039;1&#039;&#039;, an sonstigen Tagen den Wert &#039;&#039;0&#039;&#039;. In if-Abfragen wird die 0 als &#039;&#039;false/falsch&#039;&#039; interpretiert, andere numerische Werte als &#039;&#039;true/wahr&#039;&#039;. Man kann mittels &#039;&#039;if ($we)&#039;&#039; also ganz einfach prüfen, ob Wochenende ist und entsprechend steuern (oder auch nicht). Das o.a. Beispiel kann entsprechend ergänzt werden, so dass am Wochenende nicht um 7 Uhr das Rollo nach oben gefahren wird:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 { if (!($we)) { fhem(&amp;amp;quot;set Rollo hoch&amp;amp;quot;);; } }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das &#039;&#039;!&#039;&#039; in der if-Abfrage negiert den dahinter folgenden Ausdruck in der Klammer, quasi ein &amp;quot;ist nicht Wochenende&amp;quot;. Der Inhalt der äußeren geschweiften Klammern stellt echten Perl-Code dar (welche hinter jeder Anweisung gerne ein Semikolon stehen hat, welches in FHEM durch ein weiteres Semikolon [http://de.wikipedia.org/wiki/Maskierungszeichen maskiert/escaped] werden muss). Aus dem Perl-Code kann man mittels des Befehls &#039;&#039;fhem()&#039;&#039; wiederum FHEM-Code ausführen (hier der Befehl, um das Rollo nach oben zu fahren). Das (Doppel-)Semikolon ist in diesem Beispiel nicht zwingend notwendig, da es sich nur um eine einzige (und somit letzte) Anweisung handelt - man sollte sich jedoch aneignen, jede Anweisung im Perl-Code mit einem (Doppel-)Semikolon abzuschließen (eine schließende geschweifte Klammer stellt auch das Ende eine Anweisung bzw. eines Anweisungsblocks dar).&lt;br /&gt;
&lt;br /&gt;
Samstags und Sonntags bleibt das Rollo nun unten und man kann länger schlafen. Um diesen Komfort auch an Feiertagen zu haben, können in FHEM mittels &#039;&#039;holiday&#039;&#039;-Dateien Feiertage definiert werden. Sinnvollerweise erstellt man sich für sein jeweiliges Bundesland eine eigene Datei, welche Definitionen für feste Feiertage (z.B. Weihnachten oder der Tag der Deutschen Einheit) und solche in Abhängigkeit zu Ostern (z.B. Ostermontag oder Pfingsten, im Rheinland auch der Karneval) beinhaltet. Eine gutes Beispiel mit Erklärung findet sich in der [http://fhem.de/Heimautomatisierung-mit-fhem.pdf FHEM-Übersicht für Anfänger].&lt;br /&gt;
Nachdem beispielsweise die &#039;&#039;NRW_Feiertag.holiday&#039;&#039;-Datei im FHEM-Ordner erstellt/abgelegt wurde, kann diese in die Konfiguration eingebunden werden. Mittels &#039;&#039;holiday2we&#039;&#039; können die darin definierten Feiertage mit der Variable &#039;&#039;$we&#039;&#039; &amp;quot;verheiratet&amp;quot; werden. &#039;&#039;if ($we)&#039;&#039; ist danach immer wahr, sobald Wochenende oder ein Feiertag ist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr global holiday2we NRW_Feiertag&lt;br /&gt;
define NRW_Feiertag holiday&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Theoretisch kann man in o.a. Datei auch seine persönlichen Urlaube oder die Schulferien definieren. Hier eignet sich jedoch die &#039;&#039;Calendar&#039;&#039;-Funktion wesentlich besser. V.a. die Schulferien der einzelnen Bundesländer sind im Internet (z.B. unter [http://www.schulferien.org schulferien.org]) als iCal-Datei verfügbar und können wie folgt in FHEM eingebunden werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define NRW_Ferien Calendar ical url http://www.schulferien.org/iCal/Ferien/icals/Ferien_Nordrhein_Westfalen_2013.ics 43200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das Intervall von 43200 Sekunden (entspricht 12 Stunden) für die Aktualisierung der Schulferien sollte im Normalbetrieb mehr als ausreichen. Wenn eigene Kalender (z.B. bei Google) für Urlaubstage genutzt werden, muss man individuell abwägen, wie oft dieser aktualisiert werden soll.&lt;br /&gt;
&lt;br /&gt;
Um nun diesen Kalender nun nutzen zu können, benötigt FHEM einen &#039;&#039;dummy&#039;&#039;, welcher entsprechend abgefragt werden kann:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define NRW_Ferientag dummy&lt;br /&gt;
define NRW_Ferien.notify notify NRW_Ferien { \&lt;br /&gt;
 fhem &amp;amp;quot;set NRW_Ferientag &amp;amp;quot; . (ReadingsVal(&amp;amp;quot;NRW_Ferien&amp;amp;quot;, &amp;amp;quot;modeStart&amp;amp;quot;, &amp;amp;quot;&amp;amp;quot;) =~ &amp;amp;quot;schulferien&amp;amp;quot;&amp;amp;#160;? 1: 0) }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Der &#039;&#039;NRW_Ferientag&#039;&#039; ist in diesem Beispiel der angesprochene &#039;&#039;dummy&#039;&#039; und kann mittels &#039;&#039;Value(&amp;quot;NRW_Ferientag&amp;quot;)&#039;&#039; abgefragt werden. Im &#039;&#039;notify&#039;&#039; wird der Wert gesetzt, sobald der Kalender aktualisiert wird: Eine &#039;&#039;1&#039;&#039; für einen Tag, an dem der Text &amp;quot;schulferien&amp;quot; in einem Ereignis vorkommt, welches sich im &#039;&#039;modeStart&#039;&#039;Modus (vgl. [http://www.fhem.de/commandref.html#Calendar CommandRef] - &#039;&#039;The start time has passed but the end time of the calendar event is not yet reached.&#039;&#039;) befindet, ansonsten &#039;&#039;0&#039;&#039;. Das Vorkommen des Textes ist in den Ereignissen der oben genutzten Quelle immer der Fall.&lt;br /&gt;
&lt;br /&gt;
Um ein Rollo nun weder am Wochenende, an Feiertagen, noch zu Schulferien morgens hochfahren zu lassen, lautet das Beispiel:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 { if (&amp;amp;#160;!($we) &amp;amp;amp;&amp;amp;amp;&amp;amp;#160;!(Value(&amp;amp;quot;NRW_Ferientag&amp;amp;quot;)) ) { fhem(&amp;amp;quot;set Rollo hoch&amp;amp;quot;);; } }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgehend von diesem Artikel ist unter [[Google-Kalender zur Steuerung von Dummies]] eine Vorgehensweise zur&lt;br /&gt;
Steuerung von FHEM mit dem Google-Kalender veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Code Snippets]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren&amp;diff=2310</id>
		<title>AT an einem bestimmten Wochentag ausführen</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=AT_an_einem_bestimmten_Wochentag_ausf%C3%BChren&amp;diff=2310"/>
		<updated>2013-07-03T15:33:26Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: Minuten dem Beispiel angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;AT&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ins&amp;gt;Zielvorgabe:&amp;lt;/ins&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An jedem Mittwoch um 21:00 Uhr soll ein Schaltaktor (hier das FHEM-Gerät &amp;quot;Signallampe&amp;quot;) einen Verbraucher ein- und 5 Minuten später wieder ausschalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorbemerkung zu den Wochentagen:&#039;&#039;&#039; Wochenbeginn ist in Perl der Sonntag, welcher mit 0 definiert ist, also ist 3 = Mittwoch, 4 = Donnerstag usw.&lt;br /&gt;
&lt;br /&gt;
Der Befehl für die &#039;&#039;fhem.cfg&#039;&#039; lautet dazu wie folgt:&lt;br /&gt;
&lt;br /&gt;
Einzeiler (kein expliziter Zeilenumbruch):&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;define Licht4An at *21:00:00 { if ($wday == 3) { fhem (&amp;amp;quot;set Signallampe on&amp;amp;quot;);; fhem (&amp;amp;quot;define Licht4Aus at +00:05:00 set Signallampe off &amp;amp;quot;) } }&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mehrzeiler:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define Licht4An at *21:00:00 {\&lt;br /&gt;
 if ($wday == 3) {\&lt;br /&gt;
  fhem (&amp;amp;quot;set Signallampe on&amp;amp;quot;);;\&lt;br /&gt;
  fhem (&amp;amp;quot;define Licht4Aus at +00:05:00 set Signallampe off &amp;amp;quot;)\&lt;br /&gt;
 }\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Detail:&lt;br /&gt;
* &#039;&#039;define Licht4An&#039;&#039; =&amp;amp;gt; lege ein neues Objekt &#039;&#039;Licht4An&#039;&#039; und ...&lt;br /&gt;
* &#039;&#039;at *21:00:00&#039;&#039; =&amp;amp;gt; ... prüfe immer um 21:00 Uhr ...&lt;br /&gt;
* &#039;&#039;if ($wday == 3)&#039;&#039; =&amp;amp;gt; ... ob der 3. Wochentag ist, wenn ja dann ...&lt;br /&gt;
* &#039;&#039;fhem (&amp;quot;set Signallampe on&amp;quot;);;&#039;&#039; =&amp;amp;gt; ... soll FHEM die Signallampe einschalten und ...&lt;br /&gt;
* &#039;&#039;fhem (&amp;quot;define Licht4Aus&#039;&#039; =&amp;amp;gt; noch ein Objekt &#039;&#039;Licht4Aus&#039;&#039; anlegen ...&lt;br /&gt;
* &#039;&#039;at +00:05:00&#039;&#039; =&amp;amp;gt; ... welches in 5 Minuten ...&lt;br /&gt;
* &#039;&#039;set Signallampe off&amp;quot;)&#039;&#039; =&amp;amp;gt; ... die Signallampe wieder ausschaltet.&lt;br /&gt;
&lt;br /&gt;
Das Objekt Licht4&#039;&#039;&#039;Aus&#039;&#039;&#039; wird in der FHEM-Weboberfläche nur in den knapp 5 Minuten sichtbar, wo die Signallampe eingeschaltet ist, also bitte nicht wundern, dass nur Licht4&#039;&#039;&#039;An&#039;&#039;&#039; in der Übersicht auftaucht.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Code Snippets]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Google-Kalender_zur_Steuerung_von_Dummies&amp;diff=2074</id>
		<title>Google-Kalender zur Steuerung von Dummies</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Google-Kalender_zur_Steuerung_von_Dummies&amp;diff=2074"/>
		<updated>2013-05-27T11:44:08Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: Lesbarkeit verbessert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit dem Kalendermodul [http://fhem.de/commandref.html Calendar] ist es möglich, Ereignisse aus Kalendern im&lt;br /&gt;
ICal-Format abzufragen.&lt;br /&gt;
Dies und der Wiki-Eintrag [[Wochenende, Feiertage und Schulferien]] hat mich dazu veranlasst, dass ich durch&lt;br /&gt;
Kalendereinträge im Google-Kalender den Status meiner beiden Dummies &amp;quot;Urlaub&amp;quot; und &amp;quot;Besuch&amp;quot; steuere. Durch diese&lt;br /&gt;
beiden Dummies werden zum Beispiel die Rolläden im Schlafzimmer oder Gästezimmer bei Besuch oder Urlaub anders&lt;br /&gt;
gesteuert als ohne Besuch oder unter der Woche. Auch meine Zirkulationspumpe soll so bedarfsgerecht gesteuert werden.&lt;br /&gt;
Dass am Wochenende anders gesteuert wird, ist ja mit $we kein Problem.&lt;br /&gt;
Zuerst wird dafür der Kalender definiert:&lt;br /&gt;
&amp;lt;pre&amp;gt;define Kalender_Christian Calendar ical url &amp;lt;der richtige Kalenderlink&amp;gt; 14400&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Kalenderlink [https://support.google.com/calendar/answer/37103?hl=de] findet man wie beschrieben heraus.&lt;br /&gt;
Dann habe ich meine Dummies definiert:&lt;br /&gt;
&amp;lt;pre&amp;gt;define Urlaub_dummy dummy&lt;br /&gt;
attr Urlaub_dummy room Kalender&lt;br /&gt;
attr Urlaub_dummy setList ja nein&lt;br /&gt;
attr Urlaub_dummy webCmd ja:nein&lt;br /&gt;
define Gast_dummy dummy&lt;br /&gt;
attr Gast_dummy room Kalender&lt;br /&gt;
attr Gast_dummy setList ja nein&lt;br /&gt;
attr Gast_dummy webCmd ja:nein&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und nun mussten die Notifys definiert werden, um bei entsprechenden Einträgen im Google-Kalender den Status der&lt;br /&gt;
Dummies zu setzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;define Kalender_Christian_Start notify Kalender_Christian:modeStarted.*googlecom.* {\&lt;br /&gt;
Kalenderstart(&amp;quot;$EVENT&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
define Kalender_Christian_Ende notify Kalender_Christian:modeEnded.*googlecom.* { Kalenderende(&amp;quot;$EVENT&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um nicht für verschiedene Dummies immer einzelne Notifys zu bauen, wird hier bei mir je eine Funktion aus meiner&lt;br /&gt;
99_MyUtils.pm [[99 myUtils anlegen]] aufgerufen und das Event als Parameter übergeben. Die beiden zugehörigen&lt;br /&gt;
Funktionen für den Start und das Ende des Kalenderevents schauen so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;sub&lt;br /&gt;
Kalenderstart ($)&lt;br /&gt;
{&lt;br /&gt;
my ($Ereignis) = @_;&lt;br /&gt;
my @Ereignisarray = split(/.*:\s/,$Ereignis);&lt;br /&gt;
my $Ereignisteil1 = $Ereignisarray[1];&lt;br /&gt;
my @uids=split(/;/,$Ereignisteil1);&lt;br /&gt;
foreach my $uid (@uids) {&lt;br /&gt;
my $Kalendertext = fhem(&amp;quot;get Kalender_Christian summary $uid&amp;quot;);&lt;br /&gt;
if ($Kalendertext =~ /Urlaub/) {&lt;br /&gt;
fhem(&amp;quot;set Urlaub_dummy ja&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
if ($Kalendertext =~ /Besuch/) {&lt;br /&gt;
fhem(&amp;quot;set Gast_dummy ja&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
sub Kalenderende ($) {&lt;br /&gt;
my ($Ereignis) = @_;&lt;br /&gt;
my @Ereignisarray = split(/.*:\s/,$Ereignis);&lt;br /&gt;
my $Ereignisteil1 = $Ereignisarray[1];&lt;br /&gt;
my @uids=split(/;/,$Ereignisteil1);&lt;br /&gt;
foreach my $uid (@uids) {&lt;br /&gt;
my $Kalendertext = fhem(&amp;quot;get Kalender_Christian summary $uid&amp;quot;);&lt;br /&gt;
if ($Kalendertext =~ /Urlaub/) {&lt;br /&gt;
fhem(&amp;quot;set Urlaub_dummy nein&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
if ($Kalendertext =~ /Besuch/) {&lt;br /&gt;
fhem(&amp;quot;set Gast_dummy nein&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
};&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur Erläuterung: Als Ereignis wird z.B. &amp;quot;&#039;&#039;modeStarted: 9aas2amo7td47th4sf7mlocl48googlecom&#039;&#039;&amp;quot; oder bei 2 gleichzeitigen&lt;br /&gt;
Ereignissen: &amp;quot;&#039;&#039;modeStarted: arqpe2a2snu6qn64dt0men7nd0googlecom;j0pjiupfb1sk3m5s64hbeo6880googlecom&#039;&#039;&amp;quot;&lt;br /&gt;
übergeben. Da uns aber nur die eindeutige UID interessiert, wird das Ergeinis beim Vorkommen der Zeichen &amp;quot;: Leerzeichen&amp;quot;&lt;br /&gt;
also nach modeStarted: geteilt (&#039;&#039;split(/.*:\s/,$Ereignis&#039;&#039;)). Die beiden Teile werden in ein Array (@Ereignisarray) gespeichert.&lt;br /&gt;
Und als 2. Element in dem Array ist nun die uns interessierende UID ($Ereignisarray[1]) vorhanden, mit welcher wir weiter&lt;br /&gt;
arbeiten. Da auch mit dem Fall mehrerer gleichzeitiger Ereignisse umgegangen werden können soll, müssen wir bei mehreren&lt;br /&gt;
UID´s diese wieder splitten. Diesmal beim Vorkommen des Semikolons als Trennzeichen (&#039;&#039;split(/;/,$Ereignisteil1&#039;&#039;)). Auch die&lt;br /&gt;
UID´s werden wieder in einem Array gespeichert und dann mittels der foreach-Schleife nacheinander abgearbeitet. Und&lt;br /&gt;
hierbei wird abhängig von der mittels UID abgerufenen Kalenderbeschreibung (&#039;&#039;fhem(&amp;quot;get Kalender_Christian summary&lt;br /&gt;
$uid&#039;&#039;&amp;quot;)) ein Vergleich auf die Werte &amp;quot;Besuch&amp;quot; oder &amp;quot;Urlaub&amp;quot; durchgeführt (&#039;&#039;if ($Kalendertext =~ /Urlaub/&#039;&#039;)) und davon&lt;br /&gt;
abhängig der Dummy-Status gesetzt.&lt;br /&gt;
Abhängig von diesen Dummies reagiert dann meine Rollosteuerung.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Code Snippets]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Wochenende,_Feiertage_und_Schulferien&amp;diff=2073</id>
		<title>Wochenende, Feiertage und Schulferien</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Wochenende,_Feiertage_und_Schulferien&amp;diff=2073"/>
		<updated>2013-05-27T11:42:50Z</updated>

		<summary type="html">&lt;p&gt;Kossmann: &amp;quot;ich&amp;quot; Schreibweise korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FHEM bietet mehrere Möglichkeiten, Komponenten in Abhängigkeit von Wochenenden, Feiertagen oder sogar Schulferien zu steuern.&lt;br /&gt;
&lt;br /&gt;
Eine simple Rollladensteuerung um 7 Uhr morgens sieht beispielsweise wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 set Rollo hoch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Um am Wochenende (Samstag und Sonntag) länger schlafen zu können, kann diese Steuerung durch Nutzung der Variable &#039;&#039;$we&#039;&#039;erweitert werden. Diese hat am Wochenende den Wert &#039;&#039;1&#039;&#039;, an sonstigen Tagen den Wert &#039;&#039;0&#039;&#039;. In if-Abfragen wird die 0 als &#039;&#039;false/falsch&#039;&#039;interpretiert, andere numerische Werte als &#039;&#039;true/wahr&#039;&#039;. Man kann mittels &#039;&#039;if ($we)&#039;&#039;also ganz einfach prüfen, ob Wochenende ist und entsprechend steuern (oder auch nicht). Das o.a. Beispiel kann entsprechend ergänzt werden, so dass am Wochenende nicht um 7 Uhr das Rollo nach oben gefahren wird:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 { if (!($we)) { fhem(&amp;amp;quot;set Rollo hoch&amp;amp;quot;);; } }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das &#039;&#039;!&#039;&#039;in der if-Abfrage negiert den dahinter folgenden Ausdruck in der Klammer, quasi ein &amp;quot;ist nicht Wochenende&amp;quot;. Der Inhalt der äußeren geschweiften Klammern stellt echten Perl-Code dar (welche hinter jeder Anweisung gerne ein Semikolon stehen hat, welches in FHEM durch ein weiteres Semikolon [http://de.wikipedia.org/wiki/Maskierungszeichen maskiert/escaped] werden muss). Aus dem Perl-Code kann man mittels des Befehls &#039;&#039;fhem()&#039;&#039;wiederum FHEM-Code ausführen (hier der Befehl, um das Rollo nach oben zu fahren). Das (Doppel-)Semikolon ist in diesem Beispiel nicht zwingend notwendig, da es sich nur um eine einzige (und somit letzte) Anweisung handelt - man sollte sich jedoch aneignen, jede Anweisung im Perl-Code mit einem (Doppel-)Semikolon abzuschließen (eine schließende geschweifte Klammer stellt auch das Ende eine Anweisung bzw. eines Anweisungsblocks dar).&lt;br /&gt;
&lt;br /&gt;
Samstags und Sonntags bleibt das Rollo nun unten und man kann länger schlafen. Um diesen Komfort auch an Feiertagen zu haben, können in FHEM mittels &#039;&#039;holiday&#039;&#039;-Dateien Feiertage definiert werden. Sinnvollerweise erstellt man sich für sein jeweiliges Bundesland eine eigene Datei, welche Definitionen für feste Feiertage (z.B. Weihnachten oder der Tag der Deutschen Einheit) und solche in Abhängigkeit zu Ostern (z.B. Ostermontag oder Pfingsten, im Rheinland auch der Karneval) beinhaltet. Eine gutes Beispiel mit Erklärung findet sich in der [http://fhem.de/Heimautomatisierung-mit-fhem.pdf FHEM-Übersicht für Anfänger].&lt;br /&gt;
Nachdem beispielsweise die &#039;&#039;NRW_Feiertag.holiday&#039;&#039;Datei im FHEM-Ordner erstellt/abgelegt wurde, kann diese in die Konfiguration eingebunden werden. Mittels &#039;&#039;holiday2we&#039;&#039;können die darin definierten Feiertage mit der Variable &#039;&#039;$we&#039;&#039;&amp;quot;verheiratet&amp;quot; werden. &#039;&#039;if ($we)&#039;&#039;ist danach immer wahr, sobald Wochenende oder ein Feiertag ist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr global holiday2we NRW_Feiertag&lt;br /&gt;
define NRW_Feiertag holiday&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Theoretisch kann man in o.a. Datei auch seine persönlichen Urlaube oder die Schulferien definieren. Hier eignet sich jedoch die &#039;&#039;Calendar&#039;&#039;-Funktion wesentlich besser. V.a. die Schulferien der einzelnen Bundesländer sind im Internet (z.B. unter [http://www.schulferien.org schulferien.org]) als iCal-Datei verfügbar und können wie folgt in FHEM eingebunden werden:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define NRW_Ferien Calendar ical url http://www.schulferien.org/iCal/Ferien/icals/Ferien_Nordrhein_Westfalen_2013.ics 43200&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das Intervall von 43200 Sekunden (entspricht 12 Stunden) für die Aktualisierung der Schulferien sollte im Normalbetrieb mehr als ausreichen. Wenn eigene Kalender (z.B. bei Google) für Urlaubstage genutzt werden, muss man individuell abwägen, wie oft dieser aktualisiert werden soll.&lt;br /&gt;
&lt;br /&gt;
Um nun diesen Kalender nun nutzen zu können, benötigt FHEM einen &#039;&#039;dummy&#039;&#039;, welcher entsprechend abgefragt werden kann:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define NRW_Ferientag dummy&lt;br /&gt;
define NRW_Ferien.notify notify NRW_Ferien { \&lt;br /&gt;
 fhem &amp;amp;quot;set NRW_Ferientag &amp;amp;quot; . (ReadingsVal(&amp;amp;quot;NRW_Ferien&amp;amp;quot;, &amp;amp;quot;modeStart&amp;amp;quot;, &amp;amp;quot;&amp;amp;quot;) =~ &amp;amp;quot;schulferien&amp;amp;quot;&amp;amp;#160;? 1: 0) }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Der &#039;&#039;NRW_Ferientag&#039;&#039;ist in diesem Beispiel der angesprochene &#039;&#039;dummy&#039;&#039;und kann mittels &#039;&#039;Value(&amp;quot;NRW_Ferientag&amp;quot;)&#039;&#039;abgefragt werden. Im &#039;&#039;notify&#039;&#039;wird der Wert gesetzt, sobald der Kalender aktualisiert wird: Eine &#039;&#039;1&#039;&#039;für einen Tag, an dem der Text &amp;quot;schulferien&amp;quot; in einem Ereignis vorkommt, welches sich im &#039;&#039;modeStart&#039;&#039;Modus (vgl. [http://www.fhem.de/commandref.html#Calendar CommandRef] - &#039;&#039;The start time has passed but the end time of the calendar event is not yet reached.&#039;&#039;) befindet, ansonsten &#039;&#039;0&#039;&#039;. Das Vorkommen des Textes ist in den Ereignissen der oben genutzten Quelle immer der Fall.&lt;br /&gt;
&lt;br /&gt;
Um ein Rollo nun weder am Wochenende, an Feiertagen, noch zu Schulferien morgens hochfahren zu lassen, lautet das Beispiel:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define RolloHoch at *07:00 { if (&amp;amp;#160;!($we) &amp;amp;amp;&amp;amp;amp;&amp;amp;#160;!(Value(&amp;amp;quot;NRW_Ferientag&amp;amp;quot;)) ) { fhem(&amp;amp;quot;set Rollo hoch&amp;amp;quot;);; } }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausgehend von diesem Artikel ist unter [[Google-Kalender zur Steuerung von Dummies]] eine Vorgehensweise zur&lt;br /&gt;
Steuerung von FHEM mit dem Google-Kalender veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Code Snippets]]&lt;/div&gt;</summary>
		<author><name>Kossmann</name></author>
	</entry>
</feed>