Temperatur nur ändern wenn Fenster geschlossen

Begonnen von igami, 11 Mai 2014, 17:12:22

Vorheriges Thema - Nächstes Thema

igami

Hallo,

ich würde gerne über Presence meine Thermostate schalten, wenn ich nicht zu hause bin. Dafür habe ich mir in myUtils folgendes angelegt

sub
SetAbsent() {
{fhem ("set Presence absent")};
{fhem ("set CUL_HM_HM_CC_RT_DN_22C119_Clima controlManu 17.0")};
}

Das schaltet nun aber auch, wenn das Fenster noch offen ist. Nun brauche ich Hilfe beim erweitern des Codes

sub
SetAbsent() {
{fhem ("set Presence absent")};
do {
  if (CUL_HM_HM_SEC_SC_2_24CAA6 eq "closed") {
    {fhem ("set CUL_HM_HM_CC_RT_DN_22C119_Clima controlManu 17.0")};
  }
} until (Presence ne "absent");
}

nun habe ich noch zwei Probleme:
1. weiß ich nicht wie ich in der PERL Abfrage FHEM Ereignisse abfrage
2. möchte ich eine Wartezeit vor Wiederholung der Schleife einbauen ohne FHEM dadurch für die Zeit unbrauchbar zu machen

Vielen Dank für eure Hilfe

Igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Dietmar63

#1
Sie dir vielleicht mal Heating_Control an.

Es kann Fensterkontakte berücksichtigen. Wenn du mehrere Profile anlegst, musst du nur noch eine Funktion erstellen, die den Anwesenheitsstatus berücksichtigt.

Wenn niemand zu Hause ist oder jemand kommt, kannst du alle HC mit Heating_Control_SetAllTemps() gezielt aktualisieren.
Dazu musst du dann notify auf Instanzen von Presence einrichten. 
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

igami

#2
Muss mich glaube mal mit dem Heating_Control mehr beschäftigen, steige da noch nicht ganz durch.
Habe mein Problem nun erst mal folgendermaßen gelöst

sub dAbsent {
{fhem ("set dPresence absent")};
&aAbsent; }

sub aAbsent {
{fhem ("define daWindow at +00:05:00 {aAbsent}")};
if (Value("dPresence") eq "absent") {
  if (Value("dWindow") eq "closed") {
   {fhem ("set dThermostat 17.0")};
   {fhem ("delete daWindow")};
  }
} else {
  {fhem ("delete daWindow")};
}
}
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED