Fensterkontakt zur Heitzungssteuerung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

deranfänger
Beiträge: 45
Registriert: 12. Feb 2018 17:53
Answers: 0

Fensterkontakt zur Heitzungssteuerung

Beitrag von deranfänger »

Hallo zusammen,

wahrscheinlich eine ganz einfache Sache aber ich finde nichts passendes.

ich habe eine einfache Regel für ein Heizkörperthermostat

zu einer bestimmten Uhrzeit soll ein bestimmter Wert eingestellt werden
und zu einer anderen Uhrzeit ein anderer Wert.

Nun wollte ich noch ein Fensterkontakt einbinden.

also
Fenster auf --> niedrige Temperatur
Fenster zu --> dann aber nicht hohe Temperatur sondern die Temperatur von vorher

wie mach ich das am einfachsten?
Gibt es da sonst noch etwas zu beachten?

PlanLos
Beiträge: 10
Registriert: 13. Nov 2017 10:50
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von PlanLos »

Hi,
leider kenne ich deine Konfiguration und deine Ausbaustufe vom openHAB nicht.
Aber mit dem Fenster-Kontakt (HM-Sec-SCo) von Homematic kannst du den Status ganz einfach per Funk auslesen.
Benötigst natürlich nur ein für / mit Homematic konfiguriertes openHAB-System.

Würde im kleinste Ausbau bedeuten, das du einen Raspberry Pi auf dem openHAB läuft, mit dem Homematic Funkmodul (HM-MOD-RPI-PCB) bestückst.
Damit steht dir dann die Welt aller Homematic Module offen.

Gruß
PlanLos
openHAB2 auf Pi 3 | knapp 40 Homematic Komponenten für Heizung, Licht und Lüftung | Logitech Harmony Hub für Beamer, TV und Sound | Alexa die das meiste steuert

deranfänger
Beiträge: 45
Registriert: 12. Feb 2018 17:53
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von deranfänger »

danke für deine Antwort.

mein Heizkörpertermostat und mein Fensterkontakt sind beide mit Z Wave standart.
Ich habe an meinem Raspberry ein Z Wave Dongel und es funktioniert soweit auch alles.

nun brauch ich einen Denkanstoß wie die Regel aussehen könnte damit die Heizungssteuerung der Zustand vom Fenster berücksichtigt

Hoggle
Beiträge: 221
Registriert: 16. Dez 2017 10:49
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von Hoggle »

deranfänger hat geschrieben: 25. Feb 2018 10:49 danke für deine Antwort.

mein Heizkörpertermostat und mein Fensterkontakt sind beide mit Z Wave standart.
Ich habe an meinem Raspberry ein Z Wave Dongel und es funktioniert soweit auch alles.

nun brauch ich einen Denkanstoß wie die Regel aussehen könnte damit die Heizungssteuerung der Zustand vom Fenster berücksichtigt
Ich habe mir eine Regel erstellt, die den Rollladen an meiner Esszimmertür deaktiviert, wenn ich die Tür geöffnet habe.
Das könnte doch ein "Denkanstoß" für dich sein, oder?

Code: Alles auswählen

rule "Rollladen runter Abends"
when
    Channel 'astro:sun:home:set#event' triggered START 
then
createTimer(now.plusMinutes(30)) 
        [
          K_Rol_1LEVEL.sendCommand(70)
          WZ_Rol1LEVEL.sendCommand(100)
          B_Rol_1LEVEL.sendCommand(100)
          if (EZ_Griff_1STATE.state.toString =="CLOSED")
             {
              EZ_Rol_1LEVEL.sendCommand(100)
             }
        ]
end
Statt des Rollladen fahrens könntest du ja im "when" Bereich etwas in der Art von:

Code: Alles auswählen

Item Fensterkontakt changed to OPEND
eingeben (Da musst du aber noch schauen, was dein Kontakt ausgibt (OPEND/CLOSED, oder ON/OFF oder 1/0)

Und dann kannst du im "then" Bereich den Heizkörper auf eine, für dich passende Temperatur senken lassen.
Sich dann noch per Telegram eine Meldung schicken lassen, das die Tür offen ist, ist auch cool, vielleicht noch mit einem CreateTimer von 30 Minuten, damit man erinnert wird, das die Tür noch offen ist, dann aber natürlich nur, wenn die Aussentemperatur zu niedrig ist. Da kann man lustige Szenarien entwickeln :D
Ich habe extra das Beispiel von meinem Rollladen eingefügt, da man bei dem Heizkörper auch eine IF-Funtion einfügen könnte. Z. B. die Abfrage, ob die Heizung überhaupt an ist.

Die alte Temperatur kannst du entweder per Persistence oder mit einer Variable lösen, da muss ich aber selbst passen (Bin ich leider auch noch Noob :?: )
RPI4/8GB RAM mit openhabian (bullseye) - Kernel Linux 6.1.21-v8+ - openhab 4.0.2 - Release Build - HM-CCU3 - ZWave UZB-USB Stick - Wifi-LED-Stripes - Logitech Harmony Hub - AVM Fritzbox - Enigma2-Box - Gardena HUB - Fronius-Binding - Miele@Home

deranfänger
Beiträge: 45
Registriert: 12. Feb 2018 17:53
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von deranfänger »

oh man da merk man erst wie sehr man noch am Anfang steht.
man kann wirklich viel machen mit so regeln aber wie man das umsetzt weiß ich nicht

derzeit sieht meine Regel so aus:

rule "Heizung Wohnzimmer warm"

when

Time cron "0 30 15 ? * MON,TUE,WED,THU *" or
Time cron "0 30 12 ? * FRI *" or
Time cron "0 30 8 ? * SAT,SUN *"


then
sendCommand (EG_Wohnzimmer_Heizung_Thermostat_Temperatur_SOLL, 23)


end


rule "Heizung Wohnzimmer kalt"

when
Time cron "0 00 20 * * ?"

then sendCommand (EG_Wohnzimmer_Heizung_Thermostat_Temperatur_SOLL, 17)

end

PlanLos
Beiträge: 10
Registriert: 13. Nov 2017 10:50
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von PlanLos »

Hi,
es kommt ja drauf an wo du hin willst. Soll die Heizung nicht heizen wenn Fenster auf?
Was stellst du dir denn vor?

Code: Alles auswählen

rule "Heizung Wohnzimmer warm"
when
	Time cron "0 30 15 ? * MON,TUE,WED,THU *" or
	Time cron "0 30 12 ? * FRI *" or
	Time cron "0 30 8 ? * SAT,SUN *"
then
	if(Fensterkontakt = 1){					//wenn Kontakt bei offen 1
		sendCommand (Temperatur_SOLL, 20) 	//evtl. etwas kälter als normal halten oder so
	}else{
		sendCommand (Temperatur_SOLL, 23)	//ansonsten halt normal
	}
end

rule "Heizung Wohnzimmer kalt"
when
	Time cron "0 00 20 * * ?"
then 
	sendCommand (Temperatur_SOLL, 17)
end
Besser wäre es aber in einer rule unter zu bringen.
z.B. so:

Code: Alles auswählen

rule "Heizung"
when
	//musst dir halt einen Auslöser ausdenken. z.B. Temp-Änderung und Fensterstatus
	Item Temperatur changed or
	Item Kontakt changed					
then
	if(now.toString("HH:mm") > "05:30" && now.toString("HH:mm") < "21:30"){
		//zwischen 5:30 und 21:30 warm und je nach Fensteröffnung andere Temp
		if(Fensterkontakt = 1){					
			//wenn Kontakt bei offen 1
			//evtl. etwas kälter als normal halten oder so
			sendCommand (Temperatur_SOLL, 20) 	
		}else{
			//ansonsten halt normal
			sendCommand (Temperatur_SOLL, 23)	
		}
	}else{
		//nachts halt kalt
		sendCommand (Temperatur_SOLL, 17)		
	}
end
Um dir richtig helfen zu können benötigt man schon etwas mehr Infos ;)

Gruß
openHAB2 auf Pi 3 | knapp 40 Homematic Komponenten für Heizung, Licht und Lüftung | Logitech Harmony Hub für Beamer, TV und Sound | Alexa die das meiste steuert

deranfänger
Beiträge: 45
Registriert: 12. Feb 2018 17:53
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von deranfänger »

Ja richtig, wie schon ganz am Anfang geschrieben soll die Temperatur gesenkt werden wenn das Fenster offen ist.

Das ist für mich noch irgendwie machbar.
Wo ich noch gar nicht klar komme ist, was passiert wenn das Fenster geschlossen wird.

Normal zurück zur bisherigen Temperatur.
Aber was passiert wenn das Fenster geöffnet war über den Zeitraum wo die Heizung auf warm gestellt wird?

Benutzeravatar
OliverCJ
Beiträge: 405
Registriert: 29. Aug 2017 12:41
Answers: 3
Wohnort: Bergisch Gladbach

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von OliverCJ »

Hallo,

ich stehe selbst noch ganz am Anfang mit OH2 und mit den rules habe ich mich noch gar nicht beschäftigt. Vielleicht kann ich Dir aber trotzdem einen Denkanstoss geben, da es das gleiche Problem bei den Regeln im Innogy Smarthome gibt bzw. gab.

Ich würde zunächst eine Variable "Heiz-Zeit" anlegen.

Abhängig von der Uhrzeit setzt Du diese auf "Ja" (6 - 8 Uhr und 16 - 22 Uhr von Mo-Fr und 6 - 23 Uhr von Sa-So).
Die reine Zeitsteuerung läuft dann über die Variable
Wenn "Heiz-Zeit" = "Ja"
dann 21°
sonst 16°

Jetzt kommt das offene Fenster hinzu:

Wenn Fenster offen und "Heiz-Zeit" = "Ja" oder
Fenster offen und "Heiz-Zeit = "Nein" dann 8°

Wenn Fenster geschlossen wird und "Heiz-Zeit" = "Ja" dann 21°

Wenn Fenster geschlossen wird und "Heiz-Zeit" = "Nein" dann 16°

Damit solltest Du den Wechsel in der Zeitsteuerung während ein Fenster offen ist, auffangen können...

VG, Oliver

_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System

PlanLos
Beiträge: 10
Registriert: 13. Nov 2017 10:50
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von PlanLos »

Meine zweite Rule ist doch genau das was du möchtest.
Ich beschreibe sie dir mal etwas genauer.

rule "Heizung"
when
*****musst dir halt einen Auslöser ausdenken. z.B. Temp-Änderung und Fensterstatus*****
Item Temperatur changed or
Item Kontakt changed
then

*****mit dieser if wird das Zeitfenster geregelt. wenn du Wochenende und Werktags unterschiedlich machen willst, dann muss das etwa angepasst werden*****
if(now.toString("HH:mm") > "05:30" && now.toString("HH:mm") < "21:30"){

*****dieses if checkt ob das Fenster geöffnet ist und wenn ja, dann wird die Soll-Temp auf 20 Grad runter gestellt*****
if(Fensterkontakt = 1){
sendCommand (Temperatur_SOLL, 20)

*****wenn das Fenster geschlossen ist, dann springt der Soll-Wert wieder auf 23 Grad hoch*****
}else{
sendCommand (Temperatur_SOLL, 23)
}

}else{
*****und hier ist halt der nächtliche Bereich*****
sendCommand (Temperatur_SOLL, 17)
}
end
openHAB2 auf Pi 3 | knapp 40 Homematic Komponenten für Heizung, Licht und Lüftung | Logitech Harmony Hub für Beamer, TV und Sound | Alexa die das meiste steuert

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27
Answers: 0

Re: Fensterkontakt zur Heitzungssteuerung

Beitrag von Eleven »

Hallo liebes openhab Forum,
ich würde mich hier gerne einmal einklinken.
Und zwar versuche ich nun auch mein Badezimmer mit einer festen Heiz-Zeit zu versehen. Leider funktioniert dies nicht ganz wie geplant.

Ich möchte in der Zeit von 5:30 bis 23Uhr je nach Fensterzustand die Heizung geregelt haben. Sofern es 23 Uhr ist, soll der Heizkörper halt auch aus gehen, egal ob Fenster offen oder geschlossen.

Aktuell ist es so, das wenn das Fenster geöffnet wird die Heizung auch aus geht und andersherum ebenfalls. Die Pushover kommt auch nach 30 min an. Soweit so gut, aber um 23 Uhr müsste der Heizkörper ja ebenfalls in den Mode 0(AUS) gehen.

Ich finde leider den Fehler nicht. Könnt Ihr mir hier weiterhelfen?

Code: Alles auswählen

rule "Test Bad oben"
when
    Item Sensor_Status_Badezimmer_oben changed 
then
    if(now.toString ("HH:mm") > "05:00" && now.toString < "23:00") { 
        if(Sensor_Status_Badezimmer_oben.state == OPEN) {
            sendCommand(Heizkoerper_Bad_oben_Thermostat_Mode, 0)
            logInfo("Test", "Fenster im Bad geöffnet und Heizkörper abgedreht")
            fenstertimer = createTimer(now.plusMinutes(30)) [|
                sendPushoverMessage(pushoverBuilder("Info, Fenster Bad oben 30 Min. geöffnet").withApiKey("xxxxxxxxxx").withUser("xxxxxxxxxxxx"))
                fenstertimer = null
                ]
        }else {
            if(fenstertimer!== null || Sensor_Status_Badezimmer_oben.state == CLOSED) {
                sendCommand(Heizkoerper_Bad_oben_Thermostat_Mode, 1)
                logInfo("Test", "Fenster im Bad geschlossen und Heizkörper aufgedreht")
                fenstertimer.cancel()
                fenstertimer = null 
            }
        }
    else {
        sendCommand(Heizkoerper_Bad_oben_Thermostat_Mode, 0)
        logInfo("Test", "Nachtmodus")
        }
end

Vielen Dank schon mal im vorraus,
Grüße eleven

Antworten