hinweistext 10 Minuten nach Variablenänderung

Habe ein FS 20-Gerät, welches ich manuell über IPS starte. Nun möchte ich 10 Minuten später einen Hinweis (WAV-Datei), dass die Variable auf TRUE ist. Gleichzeitig soll der laufende Radiostream nur für die Ansage unterbrochen werden. Habe ein Script, das im Moment direkt bei Statusänderung die Ansage macht (als ausgelöstes Ereigniss bei der Variable)

<?

$id_sound = 50583 /*[Soundkarten\Küche]*/;
WAC_SetVolume($id_sound, 5);
WAC_PlayFile($id_sound, "C:\Ansagen\eieruhr.wav");

?>

muss ich den Timerbefehl im Script einbauen?

muss ich den Timerbefehl im Script einbauen?

Ja, mit IPS_SetScriptTimer.

habe nun dieses Timer-Sript angelegt.

<?

if ($IPS_SENDER == "TimerEvent")
{
   IPS_SetScriptTimer($IPS_SELF,60);
   return;
}
$min = 1; //2h
IPS_SetScriptTimer($IPS_SELF,$min*60);

?>

diesem untergeordnet habe ich dieses Script

<?

$id_sound = 50583 /*[Soundkarten\Küche]*/;
WAC_SetVolume($id_sound, 5);
WAC_PlayFile($id_sound, "C:\Ansagen\eieruhr.wav");

?>

ich steh da auf dem Schlauch, weil der Timer nun jede Minute das Aussagescript startet, wenn ich dieses manuell im Script-Timer eintrage. möchte dies aber nur einmal starten wenn ich das Gerät eingeschaltet habe.

so in der Art.

switch($IPS_SENDER)
{
    case "Variable":
       IPS_SetScriptTimer($IPS_SELF, 60);
   break;
    case "TimerEvent":
       IPS_SetScriptTimer($IPS_SELF, 0);
       $id_sound = 50583 /*[Soundkarten\Küche]*/;
        WAC_SetVolume($id_sound, 5);
        WAC_PlayFile($id_sound, "C:\Ansagen\eieruhr.wav");
    break;
}

Perfekt, vielen Dank. Den laufenden Radio-Stream wieder abspielen (unterschiedliche Sender), wie realisiere ich dies?

Den laufenden Radio-Stream wieder abspielen

Wie, meinst Du das? Einfach starten.

Radio-Stream läuft (Sender 1,2 oder 3). Bei Ausführung des Timer-Scripts wird der Radio-Stream gestoppt. Diesen muss ich dann manuell per Script-Start wieder „aktivieren“. Schön wäre, wenn der laufende Stream nicht unterbrochen würde wenn die „Eieruhr-Ansage kommt“

Warum stoppst Du ihn dann wenn er weiter laufen soll.

Für Textansagen bietet sich eh TTS an. Ansonsten leg dir eine neue Mediaplayer Instanz an und überlagere den Stream mit der Ansage oder fade in-out mit der Lautstärke für die Dauer der Ansage.

Sorry, habedie ID des Media-Players nicht geändert.

TTS passt mir nicht, weil die Stimmen ziemlich undeutlich sind.

Ich danke dir für deine Unterstützung.

TTS passt mir nicht, weil die Stimmen ziemlich undeutlich sind.

Meine Steffi, sagt mir das was sie soll ziemlich klar und deutlich.:wink:

hast recht, die Steffi passt. Habe nun das Script so geändert, aber bekomme keine Sprachausgabe

<?

switch($IPS_SENDER)
{
    case "Variable":
       IPS_SetScriptTimer($IPS_SELF, 2);
   break;
    case "TimerEvent":
       IPS_SetScriptTimer($IPS_SELF, 0);
       $id_sound = 19919 /*[Soundkarten\Küche]*/;
        WAC_SetVolume($id_sound, 10);
        TTS_Speak(35500 /*[Küche 2\Friteuse\Timer\Text To Speech]*/,"die Friteuse ist jetzt auf 190 Grad", false);
    break;
}


?>

Spricht sie die Testansage in der Instanz ? Wenn nicht stimmt was nicht.

so, Sie spricht, nun ist nur noch die Lautstärke, wie kann ich die runterschrauben?

über deinen Lautstärkeregler. Dieses ist Windows abhänig.:slight_smile:

schade. Gibt es eine Möglichkeit, TTs in Wav zu konvertieren?

Im Editor TTS und STRG-SPACE und die Ergebnisse ansehen :wink: oder in der Doku nachsehen TTS-GenerateFile.

alte Petze. :smiley:

Ich sach ja „lesen bildet“, ich hab halt nen Helfersyndrom :D.