Abend,
ich habe jede Menge Skripte die mir die Präsenzmelder ab einer bestimmten Uhrzeit sperren, und bei einer anderen wieder entsperren. (Nachtruhe)
Dies funktinioniert einwandfrei, aber das Skript wird jede Minute gestartet und somit auch das Ergebnis jede Minute neu auf den Bus gesendet.
Ich möchte aber, das das Skirpt zu der bestimmten Uhrzeit nur EINMALIG gestartet wird.
Also einmal in der Früh (zb. 8 Uhr) und einmal am Abend (z.b. 20 Uhr). Die Stunde und die Minute stehen als Variable zur Verfügung und können im Webfront verändert werden. Sollte so bleiben.
Bitte / Danke und lg
Christian
Das folgende Skript jede Minute ausgeführt:
<?php
// PM Konstantlichtregelung Sperre bei Tag / Nacht
// Uhrzeit
$timestamp = time();
$uhrzeit = date("H:i", $timestamp);
$datum = date("d.m.Y", $timestamp);
// Nur für das Meldungsskript
$IDname = $IPS_SELF;
$textt = "(".$IDname.") Beleuchtungs-Automatik";
// Uhrzeiten für Sperre EIN und AUS
$actualZeitStartHour = GetValue(44377);
$actualZeitStartMinute = GetValue(58807);
$actualZeitStopHour = GetValue(16403);
$actualZeitStopMinute = GetValue(31129);
// Ist die Automatik aktiv geschaltet?
$PM_Aaron = GetValue(40872);
$WertTAG = true;
$WertNACHT = false;
// Abfrage ob Uhrzeit im Tagbetrieb ist (Sperre AUS)
$tagbetrieb = false;
$timeStart = mktime($actualZeitStartHour,$actualZeitStartMinute);
$timeStop = mktime($actualZeitStopHour,$actualZeitStopMinute);
// Gibt den Timestamp für: 2006-04-05T01:02:03+00:00
// mktime(1, 2, 3, 4, 5, 2006)
if ($timestamp > $timeStart && $timestamp < $timeStop)
{ // Tagbetrieb
if ($PM_Aaron == true)
{
RequestAction(54517, $WertNACHT); // umgekehrt
}
// Meldung eintragen
$textt1 = "Konstantlichtregelung Kinderzimmer Aaron [Tagbetrieb]";
$text = "</b>".$datum." ".$uhrzeit."</b> <b>".$textt." </b>".$textt1;
// $number = IPS_RunScriptWaitEx(19710, array('action' => 'add', 'text' => $text, 'expires' => time() + 300000, 'removable' => true, 'type' => '3'));
# - 'type' (optional): Art der Meldung ... 0 => Info(grün), 1 => Fehler(rot), 2 => Warnung(gelb), 3 => Status(blau)
}
else
{
// Nachtbetrieb
if ($PM_Aaron == true)
{
RequestAction(54517, $WertTAG); // Sperre umgekehrt
}
// Meldung eintragen
$textt1 = "Konstantlichtregelung Kinderzimmer Aaron [Nachtbetrieb]";
$text = "</b>".$datum." ".$uhrzeit."</b> <b>".$textt." </b>".$textt1;
// $number = IPS_RunScriptWaitEx(19710, array('action' => 'add', 'text' => $text, 'expires' => time() + 300000, 'removable' => true, 'type' => '3'));
# - 'type' (optional): Art der Meldung ... 0 => Info(grün), 1 => Fehler(rot), 2 => Warnung(gelb), 3 => Status(blau)
}