Guten Abend,
ich habe mir ein kleines, wahrscheinlich unschönes, Skript gebastelt das bei mir die Raffstore in eine Eis/Frostschutzposition fährt.
Die Bordeigene Funktion von MDT war mir zu dämlich.
Sie kann nämlich nicht zwischen Tag und Nacht unterscheiden. Also fuhren die Raffstore entweder hoch, blöd in der Nacht, oder runter am Tag, auch blöd weil dann finster. Man kann nämlich nur einstellen ob hoch/runter oder eine % Position.
Bei mir wird die Außentemperatur, die Windgeschwindigkeit und der Regen ausgewertet.
Und dann noch ob es Tag oder Nacht ist.
Anhand dessen wird entschieden ob Automatikposition 1 (Raffstore nach Oben) oder 2 (85% Raffstore und 85% Lamellen) angefahren wird.
Ich bitte um eure Kommentare. Danke
Frage: Weiß Jemand ob die Automatikposition mit einer „1“ aktiviert wird, und solange bleibt bis sie wieder „0“ ist. Oder muss sie nur kurz mit einer „1“ getriggert werden?
[b]<?php[/b]
$timestamp = time();
$uhrzeit = date("H:i", $timestamp);
$datum = date("d.m.Y", $timestamp);
$textt = "Raffstore Eis/Frostschutz";
$Logik = "0";
//Start writing your code here
// Vorgabe für die Unterscheidung Automatikposition 1 / 2
$Sonnenuntergang = GetValue(41017);
$Sonnenaufgang = GetValue(28663);
// Abfrage ob Uhrzeit im Tagbetrieb ist -> Automatik 2 (85/85)
$tagbetrieb = "Nacht";
// Gibt den Timestamp für: 2006-04-05T01:02:03+00:00
// mktime(1, 2, 3, 4, 5, 2006)
if ($timestamp > $Sonnenaufgang && $timestamp < $Sonnenuntergang)
{
$tagbetrieb = "Tag";
}
//Außentemperatur
$Temperatur_außen = GetValue(27081);
//Windgeschwindigkeit
$Windgeschwindigkeit = GetValue(23566);
//Regen?
$Regen = GetValue(13749);
If ($Regen == 0)
{
$rain = "kein Regen";
}
else { $rain = "Regen";
}
// Logikteil
// Regen == JA
// Temperatur <= 0
// Windgeschwindkeit >= 1 m/s
// Uhrzeit zwischen 08:30 und
if ($Regen == true && $Temperatur_außen <= 1 && $Windgeschwindigkeit >= 1)
{
// Gefahr durch einfrieren
if ($tagbetrieb == "Tag")
{
$Logik = 1;
// RequestAction(43236, true);
$texttt = "aktiviert [Regen - ".$Temperatur_außen."°C - ".$Windgeschwindigkeit."m/s -> Automatikposition 1 (Oben)";
}
else
{
$Logik = 2;
// RequestAction(49250, true);
$texttt = "aktiviert [Regen - ".$Temperatur_außen."°C - ".$Windgeschwindigkeit."m/s -> Automatikposition 2 (85/85)";;
}
// Meldung eintragen
$text = "</b>".$datum." ".$uhrzeit."</b><b> ".$textt." </b>".$texttt;
$number = IPS_RunScriptWaitEx(19710, array('action' => 'add', 'text' => $text, 'expires' => time() + 3000000, 'removable' => true, 'type' => '0'));
# - 'type' (optional): Art der Meldung ... 0 => Normal(grün), 1 => Fehler(rot), 2 => Warnung(gelb), 3 => Todo(blau)
}
else
{
// keine Gefahr durch einfrieren
$Logik = 0;
}
echo "
Uhrzeit: ",$timestamp, "
Sonnenuntergang: ",$Sonnenuntergang, "
Sonnenaufgang: ",$Sonnenaufgang,"
TempAußen: ", $Temperatur_außen, "
Windgeschw: ", $Windgeschwindigkeit, "
Regen: ", $rain;
echo "
Tagbetrieb: ", $tagbetrieb;
echo "
Logik: ", $Logik;
Um das aufheben des Frostschutzes muss ich mich noch kümmern… Ideen?