<?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=Mitch</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=Mitch"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Mitch"/>
	<updated>2026-04-13T17:07:57Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10151</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10151"/>
		<updated>2015-02-16T12:07:01Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs/HMs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT/jedes HM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Abfrage des Dummys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs/HMs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Vaillant CUL_HM 123456&lt;br /&gt;
attr Vaillant IODev HMLan&lt;br /&gt;
attr Vaillant alias Vaillant Therme&lt;br /&gt;
attr Vaillant autoReadReg 4_reqStatus&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant expert 2_full&lt;br /&gt;
attr Vaillant firmware 1.6&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant model HM-LC-SW1-BA-PCB&lt;br /&gt;
attr Vaillant msgRepeat 1&lt;br /&gt;
attr Vaillant peerIDs 00000000,&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant subType switch&lt;br /&gt;
attr Vaillant webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen HM Empfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy an. Der &amp;quot;watchdog&amp;quot; wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&lt;br /&gt;
attr ECO.Mode.Aktivator wait 3600&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10150</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10150"/>
		<updated>2015-02-16T12:04:37Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs/HMs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT/jedes HM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Abfrage des Dummys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs/HMs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Vaillant CUL_HM 123456&lt;br /&gt;
attr Vaillant IODev HMLan&lt;br /&gt;
attr Vaillant alias Vaillant Therme&lt;br /&gt;
attr Vaillant autoReadReg 4_reqStatus&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant expert 2_full&lt;br /&gt;
attr Vaillant firmware 1.6&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant model HM-LC-SW1-BA-PCB&lt;br /&gt;
attr Vaillant msgRepeat 1&lt;br /&gt;
attr Vaillant peerIDs 00000000,&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant subType switch&lt;br /&gt;
attr Vaillant webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen HM Empfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10149</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10149"/>
		<updated>2015-02-16T11:57:58Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs/HMs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT/jedes HM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Abfrage des Dummys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs/HMs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10148</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10148"/>
		<updated>2015-02-16T11:57:35Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs/HMs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT/jedes HM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Abfrage des Dummys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10147</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10147"/>
		<updated>2015-02-16T11:56:56Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs/HMs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT/jedes HM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier die Abfrage des Dummys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;,set MyTTS tty Heizplan ausgeschalten)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10145</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10145"/>
		<updated>2015-02-16T11:54:36Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Erweiterung: Mitlerweile migriere ich von FHT auf HM und somit ergeben sich ein paar Änderungen am Code, welche ich hier angefügt habe. Auch nutze ich immer mehr das Modul DOIF, weswegen sich zusätzlich einige Codes geändert haben (allerdings um einiges einfacher).&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuen HM Theromstate habe ich in eine Structur gepakt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Heizungsventile structure Heizungen HZ_Bad_Clima HZ_Dachboden_Clima HZ_Flur_unten_Clima HZ_Klo_Clima HZ_Flur_oben_Clima&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define HeatingControl.Aktivator DOIF ([HCAutomatik] eq &amp;quot;on&amp;quot;) (set HCS_System on) DOELSE (set FHT_.* desired-temp 14.0,set Heizungsventile desired-temp 14.0,set HCS_System off,set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;,set MyTTS tty Heizplan ausgeschalten)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10143</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=10143"/>
		<updated>2015-02-16T11:49:02Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    fhem (&amp;quot;set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschaltet&#039;&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich dazu folgendes in meiner 99_myUtils.pm angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub ecomode {&lt;br /&gt;
 my @FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);&lt;br /&gt;
 foreach(@FHT)&lt;br /&gt;
 {&lt;br /&gt;
  my $tp = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tp)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
sub ecomodeHM {&lt;br /&gt;
my @HM_HT=devspec2array(&amp;quot;HZ_.*._Clima&amp;quot;);&lt;br /&gt;
 foreach(@HM_HT)&lt;br /&gt;
{&lt;br /&gt;
  my $tpHM = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;) &amp;gt; &amp;quot;16&amp;quot;) {&lt;br /&gt;
   fhem(&amp;quot;set $_ desired-temp &amp;quot;.$tpHM)&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define ECO.Mode.Aktivator DOIF([Anwesenheit] eq &amp;quot;Unterwegs&amp;quot;) ({ecomode},{ecomodeHM}) DOELSEIF ([HZ.Absenkung] eq &amp;quot;on&amp;quot; or [Sonnenindikator] eq &amp;quot;on&amp;quot;) ({ecomode},{ecomodeHM}) DOELSE ({Heating_Control_SetAllTemps()}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define Aussentemp.Check DOIF ([Wetterstation:temperature] &amp;gt;= &amp;quot;22&amp;quot;) (set Sonnenindikator on) DOELSE (set Sonnenindikator off)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für meine neuen HM Thermostate musste ich dann noch etwas bzgl. Fenster ändern, da fhem beim setzten der Temeratur das Thermostat übersteuert.&lt;br /&gt;
Somit kann es z.B. vorkommen, dass ein Fenster noch offen ist, wenn fhem eine neue Temperatur schickt und die Heizung hoch heizt, obwohl das Fenster noch offen ist.&lt;br /&gt;
&lt;br /&gt;
Um das zu umgehen, habe ich eine einfach Abfrage eingebaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Fenster.Status.Bad DOIF ([Fenster_Bad] eq &amp;quot;open&amp;quot;) (set HCB disbale) DOELSE (set HCB enable)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7580</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7580"/>
		<updated>2014-08-29T14:22:30Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im {{Link2Forum|Topic=23783|LinkText=Fhem Forum}}, die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    fhem (&amp;quot;set Pushover msg &#039;FHEM&#039; &#039;Heizplan ausgeschalten&#039;&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS integriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abgefallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschaltet wurde, damit nicht alle 5 Minuten (das Abfrageintervall von HCS) der FS20 geschaltet wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul [[PRESENCE]] und Geofancy mit einem [[watchdog]] an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=23783|LinkText=Thread zum Thema}} im Fhem Forum&lt;br /&gt;
* Modulbeschreibung zu [[HCS]]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul] auf fischer-net.de&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HCS&amp;diff=7537</id>
		<title>HCS</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HCS&amp;diff=7537"/>
		<updated>2014-08-28T09:09:23Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungs-Kontrollsystem zur Überwachung und Steuerung einer Zentralheizung&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=HCS --&amp;gt;&lt;br /&gt;
|ModTechName=59_HCS.pm&lt;br /&gt;
|ModOwner=mfr69bs &amp;lt;!-- / [http://forum.fhem.de/index.php?action=profile;u=??? ???] --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[HCS]] (Heating Control System) ist ein Fhem-Erweiterungsmodul, das abhängig vom Status der überwachten Thermostate / Ventile eine Zentralheizung steuern kann.&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;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; HCS &amp;lt;device&amp;gt;  &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[HCS]] und [[Heating Control]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
* siehe auch Wiki Eintrag zu [http://www.fhemwiki.de/wiki/Heating_Control#Anwendungsbeispiele Heating Control]&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=HCS&amp;diff=7536</id>
		<title>HCS</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=HCS&amp;diff=7536"/>
		<updated>2014-08-28T09:09:08Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungs-Kontrollsystem zur Überwachung und Steuerung einer Zentralheizung&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=HCS --&amp;gt;&lt;br /&gt;
|ModTechName=59_HCS.pm&lt;br /&gt;
|ModOwner=mfr69bs &amp;lt;!-- / [http://forum.fhem.de/index.php?action=profile;u=??? ???] --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[HCS]] (Heating Control System) ist ein Fhem-Erweiterungsmodul, das abhängig vom Status der überwachten Thermostate / Ventile eine Zentralheizung steuern kann.&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;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; HCS &amp;lt;device&amp;gt;  &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[HCS]] und [[Heating Control]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
siehe auch Wiki Eintrag zu [http://www.fhemwiki.de/wiki/Heating_Control#Anwendungsbeispiele Heating Control]&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7535</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7535"/>
		<updated>2014-08-28T09:07:56Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,23783.0.html Thread zum Thema im Fhem Forum]&lt;br /&gt;
* [http://www.fhemwiki.de/wiki/HCS HCS Wiki]&lt;br /&gt;
* [http://www.fischer-net.de/hausautomation/fhem/54-fhem-modul-hcs-ueberarbeitet.html HCS Modul auf fischer-net.de]&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7534</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7534"/>
		<updated>2014-08-28T09:04:17Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,23783.0.html Thread zum Thema im Forum]&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7533</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7533"/>
		<updated>2014-08-28T09:03:29Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7532</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7532"/>
		<updated>2014-08-28T09:02:50Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7531</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7531"/>
		<updated>2014-08-28T09:02:39Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7530</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7530"/>
		<updated>2014-08-28T09:01:48Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7529</id>
		<title>Heating Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Heating_Control&amp;diff=7529"/>
		<updated>2014-08-28T09:00:11Z</updated>

		<summary type="html">&lt;p&gt;Mitch: /* Anwendungsbeispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Heizungssteuerung über ein Wochen-Heizprofil&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory=?? --&amp;gt;&lt;br /&gt;
|ModCmdRef=Heating_Control&lt;br /&gt;
|ModTechName=98_Heating_Control.pm&lt;br /&gt;
|ModOwner=dietmar63 / [http://forum.fhem.de/index.php?action=profile;u=405 Dietmar63]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Heating Control]] ist ein Fhem-Erweiterungsmodul zur Heizungssteuerung über ein Wochen-Heizprofil.&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;
Das Heizprofil wird angelegt mit&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; Heating_Control &amp;lt;device&amp;gt; [&amp;lt;language&amp;gt;] &amp;lt;profile&amp;gt; &amp;lt;command&amp;gt;|&amp;lt;condition&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
&lt;br /&gt;
=== Ausführung ===&lt;br /&gt;
Die Kommandos zur Steuerung werden mit dem Befehl&lt;br /&gt;
:&amp;lt;pre&amp;gt;set &amp;lt;device&amp;gt; (desired-temp|desiredTemerature) &amp;lt;temp&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
zum definierten Zeitpunkt an das Gerät gesendet.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
* Vorstellung einer Lösung im [http://forum.fhem.de/index.php/topic,23783.0.html Fhem Forum], die [[Heating Control]] und [[HCS]] miteinander kombiniert.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich nutzte ich FHZ1300, FHT8b mit Fensterkontakten an FHEM.&lt;br /&gt;
Die Steuerung der Heizung erfolgt komplett über FHEM, die FHTs laufen alle auf manuell.&lt;br /&gt;
&lt;br /&gt;
Den Code zum definieren der FHTs spare ich mir jetzt, das sollte Grundverständnis sein.&lt;br /&gt;
&lt;br /&gt;
Als erstes Modul meiner Steuerung nutze ich das Modul Heating_Control für jedes Zimmer/jeden FHT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal(&amp;quot;HCAutomatik&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;)&lt;br /&gt;
attr HCB alias Bad&lt;br /&gt;
attr HCB group Heizplan&lt;br /&gt;
attr HCB room Heizung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Heizplan kann ich über einen Dummy ein- und ausschalten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HCAutomatik dummy&lt;br /&gt;
attr HCAutomatik alias Heizungsautomatik&lt;br /&gt;
attr HCAutomatik devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HCAutomatik group Automatik&lt;br /&gt;
attr HCAutomatik icon sani_heating_automatic&lt;br /&gt;
attr HCAutomatik room Heizung&lt;br /&gt;
attr HCAutomatik sortby 1&lt;br /&gt;
attr HCAutomatik webCmd on:off&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
define act_on_HCAutomatikAn notify HCAutomatik:on {\&lt;br /&gt;
     Heating_Control_SetAllTemps();;\&lt;br /&gt;
     fhem(&amp;quot;set HCS_System on&amp;quot;);;\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HCAutomatikAus notify HCAutomatik:off {\&lt;br /&gt;
    fhem(&amp;quot;set FHT_.* desired-temp 14.0 ;; set HCS_System off&amp;quot;);;\&lt;br /&gt;
    system (&amp;quot;curl -s -F &#039;token=xxxx&#039; -F &#039;user=xxxx&#039; -F &#039;message=Heizungsplan ausgeschaltet&#039; https://api.pushover.net/1/messages.json&amp;quot;);;\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei einer Deaktivierung werden alle FHTs auf 14 Grad eingestellt und es wird mir zu Info eine Pushnachricht geschickt.&lt;br /&gt;
&lt;br /&gt;
Als nächstes habe ich das Modul HCS intergiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HCS_System HCS Vaillant&lt;br /&gt;
attr HCS_System alias Vaillant Steuerung&lt;br /&gt;
attr HCS_System devStateIcon demand:sani_heating_temp idle:sani_heating_manual off:general_aus&lt;br /&gt;
attr HCS_System deviceCmdOff off&lt;br /&gt;
attr HCS_System deviceCmdOn on&lt;br /&gt;
attr HCS_System event-on-change-reading state,devicestate,eco,overdrive&lt;br /&gt;
attr HCS_System icon sani_heating_manual&lt;br /&gt;
attr HCS_System idleperiod 5&lt;br /&gt;
attr HCS_System interval 5&lt;br /&gt;
attr HCS_System loglevel 5&lt;br /&gt;
attr HCS_System mode thermostat&lt;br /&gt;
attr HCS_System room Heizung&lt;br /&gt;
attr HCS_System thermostatThresholdOff 0.5&lt;br /&gt;
attr HCS_System thermostatThresholdOn 0.5&lt;br /&gt;
attr HCS_System valveThresholdOff 40&lt;br /&gt;
attr HCS_System valveThresholdOn 35&lt;br /&gt;
&lt;br /&gt;
define Heizkessel FS20 xxxx xx&lt;br /&gt;
attr Heizkessel IODev FHZ&lt;br /&gt;
attr Heizkessel alias Vaillant Heizkessel (ON = Kessel AUS)&lt;br /&gt;
attr Heizkessel comment Wenn ON ist Kessel aus&lt;br /&gt;
attr Heizkessel devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Heizkessel group HCS&lt;br /&gt;
attr Heizkessel icon sani_boiler_temp&lt;br /&gt;
attr Heizkessel model fs20st&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiermit steuere ich meine Vaillant Heizung potentialfrei über einen FS20 Einkanalempfänger an.&lt;br /&gt;
Das Relais ist so angeschlossen, dass die Heizung an ist, wenn das Relais abegfallen ist (dies hat den Vorteil, dass auch bei einem Defekt des Empfängers die Heizung funktioniert).&lt;br /&gt;
Ich habe dazu noch einen Dummy angelegt, damit ich abfragen kann, ob schon geschalten wurde, damit nicht alle 5 Minuten (der Abfrageinterval von HCS) der FS20 geschalten wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define Vaillant dummy&lt;br /&gt;
attr Vaillant alias Vaillant Heizsystem&lt;br /&gt;
attr Vaillant devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr Vaillant group HCS&lt;br /&gt;
attr Vaillant icon sani_boiler_temp&lt;br /&gt;
attr Vaillant room Heizung&lt;br /&gt;
attr Vaillant webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_Vaillant notify Vaillant:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;on&amp;quot;) eq &amp;quot;on&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Heizkessel off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Vaillant&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Heizkessel&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Heizkessel  on&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Des weiteren habe ich mir einen &amp;quot;ECO-Script&amp;quot; angelegt (vielen Dank an das Forum für die Hilfe), welcher alle FHTs um 2 Grad runter setzt und zwar von dem im Moment anliegenden Wert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define HZ.Absenkung dummy&lt;br /&gt;
attr HZ.Absenkung alias ECO Mode - Heizungsabsenkung 2 Grad&lt;br /&gt;
attr HZ.Absenkung devStateIcon on:general_an off:general_aus&lt;br /&gt;
attr HZ.Absenkung group Automatik&lt;br /&gt;
attr HZ.Absenkung icon time_eco_mode&lt;br /&gt;
attr HZ.Absenkung room Heizung&lt;br /&gt;
attr HZ.Absenkung webCmd on:off&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\&lt;br /&gt;
	my @@FHT=devspec2array(&amp;quot;TYPE=FHT&amp;quot;);;\&lt;br /&gt;
        foreach(@@FHT) {\&lt;br /&gt;
		my $t = ReadingsVal(&amp;quot;$_&amp;quot;, &amp;quot;desired-temp&amp;quot;, &amp;quot;&amp;quot;)-2;;\&lt;br /&gt;
		fhem(&amp;quot;set $_ desired-temp &amp;quot;.$t);;\&lt;br /&gt;
	}\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off set HCAutomatik on&lt;br /&gt;
&lt;br /&gt;
define ECOMode.Aus notify Anwesenheit:Zuhause {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;HZ.Absenkung&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
    fhem (&amp;quot;set HZ.Absenkung off&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese ECO-Schalter triggere ich auch über das Modul Precense und Geofancy mit einem watchdog an. Der watchdog wird bei Abwesenheit aktiviert und läuft 30 Minuten. Wenn bis dahin niemand zurück hin, wird ECO aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define ECOMode watchdog Anwesenheit:Unterwegs 00:30 Anwesenheit:Zuhause set HZ.Absenkung on&lt;br /&gt;
attr ECOMode regexp1WontReactivate 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zusätzlich trigger ich ECO über die Aussentemperatur. Wird 22 Grad erreicht oder überschritten, wird ECO aktiviert. Unterhalb 22 Grad wieder deaktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;define act_on_Aussentemperatur notify Wetterstation:temperature:.* {\&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;gt;= &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;off&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;set Sonnenindikator on&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  else {\&lt;br /&gt;
    if (ReadingsVal(&amp;quot;Wetterstation&amp;quot;, &amp;quot;temperature&amp;quot;, &amp;quot;&amp;quot;) &amp;lt; &amp;quot;22&amp;quot; &amp;amp;&amp;amp; ReadingsVal(&amp;quot;Sonnenindikator&amp;quot;, &amp;quot;state&amp;quot;, &amp;quot;off&amp;quot;) eq &amp;quot;on&amp;quot;) {\&lt;br /&gt;
	  fhem(&amp;quot;set Sonnenindikator  off&amp;quot;);;\&lt;br /&gt;
	}\&lt;br /&gt;
   }\&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define Sonnenindikator dummy&lt;br /&gt;
attr Sonnenindikator devStateIcon on:sun27 off:sun7&lt;br /&gt;
attr Sonnenindikator group HCS&lt;br /&gt;
attr Sonnenindikator icon clear3&lt;br /&gt;
&lt;br /&gt;
define act_on_Sonnenindikator notify Sonnenindikator:on set HZ.Absenkung on&lt;br /&gt;
define act_on_Sonnenindikator.Aus notify Sonnenindikator:off set HZ.Absenkung off&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies soll als &amp;quot;Denkanstoss&amp;quot; dienen. Ich habe mir auch alles zu FHEM aus diesem Forum &amp;quot;gezogen&amp;quot;.&lt;br /&gt;
Nachbau erlaubt und erwünscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|Anwendungsbeispiele / Screenshots ergänzen}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Detaillierte Beispiele bitte als eigenen Abschnitt (=== Überschrift ===) einfügen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Mitch</name></author>
	</entry>
</feed>