Langsames Wecken

Hi leute ich baue mir garade einen Wecker alla „Wakebox“ er soll in etwa 20 bis 30 min langam die weckprozedut durcharbeiten.

das ausführen mache ich mit dem script von HJH

$time_to_start=GetValueString('WeckTime');
$script_to_run="WeckerSenario";

Run_at($time_to_start, $script_to_run);

function Run_at($time_to_start, $script_to_run) {
   $starttime=strtotime($time_to_start)-strtotime("now");
   if ($starttime<=0) $starttime+=(24*60*60);      // falls Zeitpunkt schon vorbei, starte 24h später
   IPS_SetScriptTimer($script_to_run, $starttime);
}

kalpt auch so weit ganz gut mein problem ist nur das das senario zu lang is und ich immer in einen Time out komme.ich habs schon mit ner case schleife versucht aber ohne erfolg vielleicht könnt ihr mir helfen.

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : WeckerSenario.ips.php
Trigger  : 
Interval : 
*/

$TTSid = 40033;
CoMedian_WASetVolume('schlafzimmer',100);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');
IPS_Sleep(56000);
CoMedian_WASetVolume('schlafzimmer',50);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Credits.mp3');
IPS_Sleep(5000);
$text1 = GetValueString('TIME_STRING');
$text = "Guten Morgen Heute ist". $text1."es ist zeit den morgen zu begrüßen";
TTS_Speak($TTSid, $text);
CoMedian_WASetVolume('schlafzimmer',100);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/ALARM.mp3');

?>

was mir auch noch felht ist eine funktion die die laufzeit des scriptes errechnet und diese dann der weckzeit abziet.da breute ich auch noch mal euren rat.

Mfg Ken

Wozu berechnen ? Änderst du die laufdauer laufend? Wenn nicht nimm einen Taschenrechner oder eine Stoppuhr :wink:

Und dann eben beim Timer-setzen abziehen …

Anti

das klapt solage sich die vars nicht ändern

Alles was du brauchst ist die repeat funktion.

du spielst einfach solange den ambience Titel bis du dem CoMedian eine neue Aufgabe gibst, die dann darin besteht deine Credits, die Durchsage „Guten Morgen Heute ist…“ und direkt im Anschluss deinen Alarm MP3 zu spielen. Das machte eine Playlist.

Du brauchst dafür nur drei Scripte und die Repeat Funktion.


/*
*******************************
IP-SYMCON Event Scripting
*******************************
File     : Scharfschalten.ips.php
Trigger  :
Interval :
*/

Run_at(strtotime("6:30"), "Wecker");
// 15 minuten schlummern
Run_at(strtotime("6:45"), "Alarm");

function Run_at($time_to_start, $script_to_run) {
   $starttime=strtotime($time_to_start)-strtotime("now");
   if ($starttime<=0) $starttime+=(24*60*60);      // falls Zeitpunkt schon vorbei, starte 24h später
   IPS_SetScriptTimer($script_to_run, $starttime);
} 



<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File     : Wecker.ips.php
Trigger  :
Interval :
*/
IPS_SetScriptTimer('Wecker', 0);
CoMedian_WASetVolume('schlafzimmer',100);
CoMedian_WASetRepeat('Schlafzimmer', true); 
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/Ambience.mp3');


?>


<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File     : Alarm.ips.php
Trigger  :
Interval :
*/
IPS_SetScriptTimer('Alarm', 0);

$TTSid = 40033;
$text1 = GetValueString('TIME_STRING');
$text = "Guten Morgen Heute ist". $text1."es ist zeit den morgen zu begrüßen";
TTS_Speak($TTSid, $text); //an dieser Stelle ein MP3 generieren. Irgendwie geht das...

CoMedian_WASetVolume('schlafzimmer',100);
CoMedian_WAPlayFile('schlafzimmer','F:/IP-Symcon/sounds/Wecker/ALARM.m3u');
?>

Die Scripte sind „freihändig“ getippt und nicht getestet. Ich denke aber es ist klar was ich meine, oder?

Das scharfschaltenscript könnte man mit dem Kalendarium in Abhängigkeit vom Wochentag und Urlaub/Feiertag bedienen. Du könntest mit dem Kalendarium dem Wecker auch Schichtdienst beibringen :wink:

Edit:

Update verfügbar - näheres im Chat

Gruß,

Toni