Kann man ein Script in einem Script nicht bedingt aufrufen?
Folgendes Script wird mit der Fehlermeldung > Fatal error: Call to undefined function includeScript() in… on line 14 abgebrochen.
<?
$Temp1=GetValueFloat(36263 /*[AUSSEN\KS300\KS300 Wetterstation\Temperature]*/);
function float2speech( $v, $r=1){
$s = strval(round($v, $r));
if( preg_match( '#(.*)\.(.*)#', $s, $m))
$s = $m[1].','.preg_replace('#(.)#', '\\1 ', $m[2]);
return( $s );
}
if((time() > strtotime("14:55")) && (time() < strtotime("16:50"))) { //bei entfernen ok!!
//>>>Script DatumZeitansage einfügen
includeScript (12238 /*[.Kategorielos\Sprachausgabe\DatumZeitansage]*/); //line 14!!
function includeScript($scriptID)
{ $s = IPS_GetScript($scriptID);
include($s['ScriptFile']);
}
//<<<
if ($Temp1 < 0)
{
TTS_Speak(19854 /*[Text To Speech USB Speaker]*/, "die aktuelle Aussentemperatur beträgt minus".float2speech( $Temp1, 1)." °",false);
}
else
{
TTS_Speak(19854 /*[Text To Speech USB Speaker]*/, "die aktuelle Aussentemperatur beträgt".float2speech( $Temp1, 1)." °",false);
}
} //auch entfernen!
?>
Entfernt man die IF ((time()… Anweisung wird Datum/Zeit und Temperatur korrekt angesagt. Die Datum/Zeit Ansage und die Temperaturansage mit if Time… jeweils alleine funktionieren.