Wann sind wir aufgestanden?

… dies wird mit Hilfe von zwei (oder mehr) PIR und zugehörigen Skript leicht ermittelt.
(Bett > Gang durch den Flur > ins Bad > nach 05:50 > dann ist jemand aufgestanden)
Damit eine Sextaner-Blase nicht Rollläden hochfahren lässt :rolleyes: , wird das ganze erst nach 5:30 Uhr aktiv.

Siehe auch mktime


// Trigger: z.B. "Praesenz_Bad"
$timestamp = mktime( 5, 30, 0, date("m"), date("d"), date("Y"));
$wach = GetValueBoolean("Aufgestanden");
$p_flur = GetValueBoolean("Praesenz_Flur");
$p_bad = GetValueBoolean("Praesenz_Bad");

if ((time() > $timestamp) and ($wach == False) and ($p_flur == True) and ($p_bad == True )) {
   echo "Wir sind nun aufgestanden
";
   SetValueBoolean("Aufgestanden", True); 
   // Tigger z.B.:
   // Musik An / Kaffee-Maschine Start / Rolläden hoch / Heizung mollig warm usw.
   //SetValueBoolean("Aufgestanden", False); > im Skript "Schlafen" > wichtig !!!
}

MST

Hallo und guten Tag zusammen,

diese Scripte sind ja alle sehr schön. Leider bin ich in PHP-Scripten noch nicht ganz so gut drauf.
Darum eine Frage zu Scripten.
Wer kann mir mit einfachen Dingen kurz erklären oder gar ein kleines Script anfügen, wenn ich mit meiner 2Kanel PIRI (Typ FS20 PIRI)

  • a) meine Heizung durch Anwesenheit schalte

Ich habe den PIRI soweit schon in IPS integriert. Laufe ich in den Kontrollbereich, schaltet die PIRI auch die Lampe. Die Lampe geht dann aber nach ca. 1 Minute wieder aus. Warum weiß ich jedoch noch nicht, weil ich im IPS keine Zeit eingestellt habe.

Ich würde aber gerne folgendes Script haben, welches meine Heizung FHT80 schaltet, wenn jemand anwesend ist und dieses solange eingeschaltet lässt, wenn immer eine Bewegung registriert wird.
Wird allerdings für z.b. 30 Minuten keine Bewegung mehr festgestellt, soll die Heizung auf „Nachabsenkung“ gehen.
Grund ist folgender. Die FHTs sind so eingestellt, das die an Werktagen morgens in der Zeit von 0440 Uhr bis 0600 Uhr einschalten und die Zimmer auf 22 Gard wärmen. Ab 0600 Uhr bis 1530 Uhr ist die Heizung dann aus, weil wir Arbeiten sind.
Ab 1530 Uhr bis 2200 Uhr ist die Heizung dann wieder ein.

Das sehe ich jedoch noch als verschwenderisch, weil man auch mal später kommt, bzw. auch mal zu Hause ist (durch Urlaub oder Krankheit), wo die Heizung dann entweder aus oder eingeschaltet ist.

Mein Wunsch ist es nun diese Zeit mit dem Anwesenheitsmelder zu überbrücken. Sprich, stellt der PIRI eine Bewegung in der Zeit von 0600-1530 Uhr fest, soll er annehmen man ist zu Hause und die Heizung soll (wieder) einschalten. Wird aber für länger als 30 Minuten keine Bewegung mehr festgestellt, soll er die Heizung wieder ausschalten.

Ist sowas möglich ?. Nach den Scripten hier zu urteilen, ja.
Aber leider bin ich wei erwähnt noch zu dumm, dass zu realisieren, mangels PHP-Scripting.

Wäre es daher für jemanden von Euch möglich ein kurzes Script zu erstellen, wenn ich die IDs meiner FSs nenne ?. Dieses Script würde ich dann als Event einfügen und alle ?? Sekunden triggern.

Danke im voraus an den, der mir hier helfen kann.
Hier meine IDs:
ID des PIRI - Kanal 1: #44831
ID des PIRI - Kanel 2: #43318
ID der FHT80 - Wohzimmer: #31920
ID der FHT80 - Arbeitszimmer: #12664

Vieeeelen Dank im voraus,

Hallo,

Ich habe den PIRI soweit schon in IPS integriert. Laufe ich in den Kontrollbereich, schaltet die PIRI auch die Lampe. Die Lampe geht dann aber nach ca. 1 Minute wieder aus. Warum weiß ich jedoch noch nicht, weil ich im IPS keine Zeit eingestellt habe.

Ich nehme mal an, dass Dein Bewegungsmelder einen Dimmer oder Schalter „anfunkt“ dabei schickt er eine Einschaltzeit an diesen. Deshalb geht die Lampe nach einer Minute aus.

P.S. Außerdem sehe ich eine Gefahr in Deinem Vorhaben, ein PIRI ist kein Präsenzmelder, weil zu ungenau.
Stelle Dir z.B. vor, das Du 2h im Wohnzimmer auf der Couch liegst, da würde ja die Heizung ausgehen, nicht so gut…

Ich würde da eine Schalter- oder Timerlösung bevorzugen. Aber das sollte ein extra Thema werden… passt nicht so in Steiners Thread

MfG Thomas

@Ferengi-Master

Danke für deine Antwort. OK, das mit der Couch ist schon wahr, ist mir aber auch bewusst.

Dennoch hätte ich so schon mal ein fertiges Script was ich zumind. für eine Zeit lang mit dem PIRI laufen lassen kann.
Über einen wahren Präsensmelder kann ich mir dann später im Austausch Gedanken machen.

… leider kann ich Dir kein „fertiges Skript“ zeigen.
Hier ein 1. Ansatzpunkt:

  • in „timestamp“ kommen die gewünschten Uhrzeiten rein
  • Trigger: „OnUpdate“ mit den jeweiligen Status-Variablen der PIR (Bewegungsmelder)
  • Variable „Praesenz“ vom Type „Boolean“ anlegen
  • mit „FHT_SetTemperature“ die Soll-Temperaturen setzen

… so oder so ähnlich könnte man es machen.

MST

$timestamp_min = mktime( 6, 00, 0, date("m"), date("d"), date("Y"));
$timestamp_max = mktime( 22, 30, 0, date("m"), date("d"), date("Y"));

if((time() > $timestamp_min) and (time() < $timestamp_max)){
   echo "innerhalb der Zeit";

   if ($IPS_SENDER == "TimerEvent"){
      IPS_SetScriptTimer($IPS_SELF, 0);
      SetValueBoolean("Praesenz", False);

     // innerhalb der Zeit und wenn keiner da ist: Soll-Temperatur minus 2 Grad

   } else {

      IPS_SetScriptTimer($IPS_SELF, 60 * 5);    // hier kommt die Zeit in Sekunden rein
      SetValueBoolean("Praesenz", True);

      // innerhalb der Zeit - wenn jamand da ist: Soll-Temperatur

   }
   
 } else {
 
  echo "außerhalb der Zeit";
  
  // Soll-Temperatur gleich Absenktemperatur
   
}

und ich muss mal blöd fragen (damit ich dann auch die richtige hardware kaufe :rolleyes:), wie macht ihr das überhaupt?
ich meine wer setzt die variable „wach“ - ein bewegungsmelder im schlafzimmer??
Oder habt ihr das mit einer fixen Zeit eingestellt? was ja sehr unflexibel wäre!

lg, jürg


IPS_SetScriptTimer($IPS_SELF, 60 * GetValueInteger("sehr_flexibel");

ist dies eine antwort auf meine Frage? wenn ja, dann kann ich sie leider nicht umsetzen.
Bitte sei nachsichtig mit mir, schließlich bin ich neu in der IPS Gemeinde.

Dein script bedeutet ja nur, wenn ichs richtig verstehe, das alle 60 sekunden die Variable „sehr_flexibel“ abgefragt wird.
Und …!? wann ist man dem script nach zu urteilen wach? Ich simuliere mal:

Die Variable ist vermutlich eine, die mit einem Piri verknüpft ist?
Was sagt dann ein Integerwert aus? ist es die Data Variable?

Ich möchte doch nur wissen wie ihr feststellt, bzw. wann ihr die Variable „wach“, setzt?
lg, Hinti

… das war die Anwart auf:

Oder habt ihr das mit einer fixen Zeit eingestellt? was ja sehr unflexibel wäre!

sehr_flexibel ist die Zeit (in Minuten), nach deren Ablauf die Präsenz zurück gesetzt wird.

MST

PS 1: in PHP Befehlen Angaben in Sekunden: darum 60 * …
z.B 3600 ist für mich zu noch, da brauch ich einen Taschenrechner: darum 60 * 60

PS 2: nochmals: Trigger: „OnUpdate“ mit den jeweiligen Status-Variablen der PIR (Bewegungsmelder) > Bewegung > dann (meistens) wach

Ok, ich habe verstanden.
Der clou ist einfach der, wenn man sich umdreht (ob im schlaf oder echt wach sei mal dahingestellt), eine auslösung
des melders die dann leben im raum aufzeigt. und diese variable nennt sich dann in diesem falle, ganz einfach „wach“ :wink:

… fast: in diesem Falle satt „wach“: „Praesenz“ = True
und nach Ablauf der „sehr_flexibel“ Zeit und wenn der PIR den Timer wieder nicht erneut startet: " „Praesenz“ = False

MST