Thermostat und Fensterkontakt steuern (HM-CC-RT-DN / HM-SEC-SC)

Begonnen von Aerics, 27 Oktober 2015, 14:35:13

Vorheriges Thema - Nächstes Thema

Aerics

Einen schönen guten Tag zusammen.

Aktuell versuche ich mit Dummys mit in FHEM einzuarbeiten um später meine Heizkörper damit zu steuern.

Einer meiner Ziele ist es, im Bad ein Fensterkontakt zu werden. Über ein notify kann ich ja beim Öffnen dieser die Heizung z.B. auf 0° setzen.
Beim schließen wäre meine Wunschvorstellung, dass man das aktuelle Programm fortsetzt. Im Internet habe ich als Vorgehensweise gelesen, dass man die aktuelle Temperatur in einen Dummy schreiben soll beim Öffnen und beim Schließen diese wieder setzt. Jedoch sehe ich das Problem, wenn es in dieser Zeit zu einer Veränderung der Temperatur normal käme, wird dies einfach wieder überschrieben.

Des Weiteren überlege ich, wie man die 5 Thermostate am besten programmiert.
Jedes soll individuell für jeden Tag mit mehreren Zeiten programmiert werden. Man könnte dies nun mit einem at lösen, aber ich habe auch gesehen, dass es eine tempList gibt, wo man so etwas realisieren könnte.
Wie sieht denn da der allgemeine Weg aus?

Aerics

So, ich habe mir nun mal folgendes gebastelt:

Ein Dummy Bad_Heizung.
Ein Dummy Bad_Fenster, welches Auf:Zu hat.
Ein Notify Fenster_Offen mit der DEF "Bad_Fenster:Auf.* set Bad_Heizung 0"

Und dann mein At mit folgendem:
+*00:01 {
if(Value("Bad_Fenster") eq "Zu")
{
if (($wday == 2) && (($hour>=7 && $hour<12)))
{
fhem("set Bad_Heizung 21")
}
if (($wday == 2) && (($hour>=12 && $hour<16)))
{
fhem("set Bad_Heizung 22")
}
}
}


Das Ganze sieht gerade sehr gut aus.
Interessant wäre, wie andere von euch so etwas lösen.

le66ck

#2
Hallo

Ich habe das über "DOIF-Anweisung" gemacht, siehe Commandref - Fhem.

define Fensteroffen_Bad1.Etage DOIF ([Fenster_Bad1.Etage] eq "open") (set ThermostatBad1.Etage_Clima controlManu off) DOELSEIF ([Fenster_Bad1.Etage] eq "closed") (set ThermostatBad1.Etage_Clima controlManu 21)

Fenster_Bad1.Etage = HM-SEC-SC
ThermostatBad1.Etage_Clima = HM-CC-RT-DN (Climakanal)
Fensteroffen_Bad1.Etage = irgendein Name

Nach spätestens ca. 2min wird die neue Temperatur am Thermostat ausgeführt (Aufwachzeit von HM-CC-RT-DN).
Rest sollte evtl. selbsterklärend sein

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

Morgennebel

Guten Morgen,


Du pairst den Fensterkontakt direkt mit dem Wandthermostaten (das siehst Du hinterher in dem _WindowRec-Kanal). Dann führt jedes öffnen des Fensters zu einem sofortigen regeln des Wandthermostaten und das schliessen zur Weiterführung des aktiven Programmes. Siehe: http://www.fhemwiki.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Channel_.28Kanal.29_03_WindowRec

Der Wandthermostat unterstützt drei Wochenprogramme. Die Vorgehensweise mit den tempListen ist perfekt, aber sehr mühsam - der verify and restore-Befehl braucht Ewigkeiten und die Funklast verhindert schnelle/mehrfache Tests. Siehe: http://www.fhemwiki.de/wiki/HomeMatic_Type_Thermostat#Temperaturlisten|HomeMatic
Am besten, Du siehst dabei einen Film und schaust alle 15 Minuten nach dem Fortschritt - sind die erstmal geladen, funktioniert es wunderbar.

Es sind keine notifies und keine DOIFs notwendig.

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Aerics

Danke für die zwei sehr Hilfreichen Links.

Bezüglich peering vom Fensterkontakt. Verstehe ich das so richtig, dass ich den Kontakt erst in fhem anlerne und dann über die beschriebenen Befehle mit einem Thermostat verbinden? Oder erfolgt das peering außerhalb von fhem?

Bezüglich Temperaturlisten sieht sehr interessant aus. Dadurch ist ja auch eine korrekte Funktion bei einem Ausfall von fhem gewährleistet.
Nur kann ich hier z.B. auch eine Eco Funktion z.B. über einen Schalter einbauen? Weil in den Listen ja keine Logik einzubauen geht ja fest im Thermostat gespeichert ist. Will ich vielleicht mal hingehen und die Außentemperatur mit einbeziehen etc. ist der Weg doch sicher über notifys etc. und nicht mehr über diese Listen, richtig?

le66ck

#5
Hallo

Bei meinem Beispiel übernimmt Fhem die Kontrolle zwischen Fensterkontakt und Thermostat.
Beide müssen dazu an Fhem angelernt sein!
Bei mir funktionieren keine Temperaturlisten, weil ich nach dem Fensterschliessen "controlManu 21" ausführen lasse.
An der Stelle müsste bei Dir dann "controlMode auto" stehen und es wird dann nach Temperaturlisten geregelt.
also

define Fensteroffen_Bad1.Etage DOIF ([Fenster_Bad1.Etage] eq "open") (set ThermostatBad1.Etage_Clima controlManu off) DOELSEIF ([Fenster_Bad1.Etage] eq "closed") (set ThermostatBad1.Etage_Clima controlMode auto)

Wichtig, gesteuert wird der "Climakanal" vom HM-CC-RT-DN!!!

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl