Hallo Zusammen,
kurze, doofe Frage: Wie kann ich denn ein Ereignis mit Sonnenuntergang oder Sonnenaufgang oder so triggern? Bisher habe ich es nur mit der „Es ist Tag“-Variablen geschafft (wenn Tag = true…), aber wie kann ich denn mit den anderen Werten etwas triggern?
Hi,
eigentlich recht einfach. Ich lasse um Mitternacht immer folgendes Script laufen:
if($_IPS['SENDER'] == "TimerEvent"){
if (IPS_GetName($_IPS['EVENT']) == 'ScriptTimer'){
// machen was auch immer bei Sonnenuntergang passieren soll, z.B. irgendwo Licht an
return;
}
}
$sunset = getvalueinteger(52598 /*[Location\Sunset]*/);
IPS_SetScriptTimer($_IPS['SELF'], $sunset - time() );
Soll es vor oder nach Sonnenuntergang passieren muss man den ScriptTimer länger (+ Zeit) oder kürzer (-Zeit) machen.
Mitternacht habe ich gewählt weil da garantiert auch schon der aktuelle Sonnenuntergang war. Das Script muss nach Sonnenuntergang für den nächsten Tag getriggert werden.
Guten Morgen @HarmonyFan und @paresy ,
vielen Dank für eure Hilfen - ich denke ich bin einen Schritt weiter bekommen.
Jetzt hab ich noch Stufe 2: Wie kann ich denn in einem laufenden Script (also nicht als Trigger wie bisher) mit einer If… Prüfen, ob wir, wenn das Script läuft, schon vor oder nach Sonnenuntergang sind und dann entsprechend etwas machen?
...
// Fensterprüfung anschalten
SetValueBoolean(22854, true);
// Tagmodus wenn es noch dunkel ist
if ($LocationNacht) {
RequestAction(56224, true);
//Message schreiben
IPS_LogMessage("Tag-Nacht-Modus", "Tagmodus, wenn es noch DUNKEL ist ");
}
// Tagmodus wenn es schon hell ist
if ($LocationTag) {
RequestAction(54851, false);
//Message schreiben
IPS_LogMessage("Tag-Nacht-Modus", "Tagmodus wenn es schon HELL ist");
}
...
Sprich ich würde gern in diesem Script das Location Tag/Nacht durch Sonnenaufgang tauschen.
Kann ich irgendwie mit den anderen Werten arbeiten? Irgendwie so: Wenn aktuelle Scriptausführungszeit nach „Ziviler Dämmerungsbeginn“, dann …
LG Dennis.