Moin Thomas, musste leider IPS aus diversen Gründen neu installieren. +
Möchte natürlich wieder dein Script zu Lautstärkenregelung und zum umschalten zwischen Radio und MP3 nutzen. Lautstärke läuft nur das mit den Modis geht nicht. Ich hatte 4 Modis. 1 war glaube ich aus, 2 war Radio, 3 war MP3 und 4 war wieder ausschalten. In der Varible bekomme ich nur Modi 1 und 2 beim schalten mit der FB. Eine Idee was falsch gelaufen ist?
Anbei die Scripte die aber in Ordnung sein müssten, da sie ja liefen.
File : bz_wandsender_modus.ips.php
Trigger :
Interval :
*/
$modus=GetValueBoolean ("bz_wandsender_modus");
if ($modus==true)
{
SetValueInteger ("bz_modus",1);
}
else
{
SetValueInteger ("bz_modus",2);
} ?>
File : bz_lautstaerke.ips.php
Trigger : bz_wandsender_volume_intens
Interval :
*/
set_time_limit(1000);
include("C:\Programme\IP-SYMCON\scripts/konstanten.ips.php");
//Fehlerbeseitigung
if($bz_wac_volume < 0) {SetValueInteger("bz_wac_volume", 0);}
if($bz_wac_volume > 255) {SetValueInteger("bz_wac_volume", 255);}
if($bz_mastervolume < 0) {SetValueInteger("bz_mastervolume", 0);}
if($bz_mastervolume > 66000) {SetValueInteger("bz_mastervolume", 66000);}
//----------------------------Lautstärke heben---------------------------------
if ($IPS_COMPONENT == "lauter")
{
//die Variable Triggert das Script
SetValueInteger("bz_wandsender_volume_intens", 17);
return;
}
if ($IPS_COMPONENT == "leiser")
{
//die Variable Triggert das Script
SetValueInteger("bz_wandsender_volume_intens", 0);
return;
}
if ($bz_wandsender_volume_intens== 17
or $bz_wandsender_volume_intens== 19)
{
//Lautstärke = max.
if($bz_mastervolume>=66000)
{
//
//SetValueInteger("wav_sk",);
//SetValueString("wav_titel", 'Hinweis'); //Hinweis;Meldung;Klingel;Abmelden;Aus
//IPS_RunScript("wav_ausgabe");
//Sleep(4);
//
return;
}
//Laustärke kleiner 600, ganz langsam anheben
if($bz_mastervolume<600)
{
$bz_mastervolume=$bz_mastervolume+60;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
return;
}
//Laustärke kleiner 6000, langsam anheben
if($bz_mastervolume<6000)
{
$bz_mastervolume=$bz_mastervolume+600;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
return;
}
//sonst ist Lautstärke zwischen 6000-66000, schneller anheben
$bz_mastervolume=$bz_mastervolume+6000;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
}
//----------------------------Lautstärke senken--------------------------------
else
{
//Lautstärke = min.
if($bz_mastervolume<=0)
{
return;
}
//Laustärke kleiner 600, ganz langsam senken
if($bz_mastervolume<=600)
{
$bz_mastervolume=$bz_mastervolume-60;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
return;
}
//Laustärke kleiner 6000, langsam senken
if($bz_mastervolume<=6000)
{
$bz_mastervolume=$bz_mastervolume-600;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
return;
}
//sonst ist Lautstärke zwischen 6000-66000, schneller senken
$bz_mastervolume=$bz_mastervolume-6000;
SetValueInteger("bz_mastervolume", $bz_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $bz_mastervolume master $bz_masterzahl=0","",true,true);
}
?>
File : bz_musikschleife_wandsender.ips.php
Trigger : bz_wandsender_modus
Interval :
*/
include("C:\Programme\IP-SYMCON\scripts/konstanten.ips.php");
//--------------------------Musikschleife aktivieren---------------------------
if ($bz_verstaerker == false)
{
FS20_SwitchMode(56797, true); // Laustsprecher an Badezimmer
WAC_SetVolume ($sk1, 60); //Wert darf nicht geändert werden!!!
IPS_Execute("nircmd.exe setsysvolume 10000 master 0","",true,true);
TTS_Speak($tts_sk1, "Bitte Modus wählen");
SetValueInteger("bz_wac_status", 0);
return;
}
//-------------------------verschiedene Modi aktivieren------------------------
if ($bz_wandsender_modus == 0) // Modus weiterschalten
{
SetValueInteger("bz_modus", $bz_modus+1);
$bz_modus = GetValueInteger("bz_modus");
if ($bz_modus == 5) // wenn letzter Modus, dann wieder von vorn
{
SetValueInteger("bz_modus", 1);
$bz_modus = GetValueInteger("bz_modus");
}
}
//--------------------------Internetradio abspielen----------------------------
if ($bz_wandsender_modus == 0 && $bz_modus == 1)
{
TTS_Speak($tts_sk1, "Radio aktiviert");
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
WAC_SetRepeat ($sk1, false);
WAC_SetShuffle ($sk1, false);
return;
}
if ($bz_wandsender_modus == 17 && $bz_modus == 1) // nächster Radiosender
{
SetValueInteger("radiosender", $radiosender+1);
$radiosender = GetValueInteger("radiosender");
if ($radiosender > 5) // ==9 wenn letzter Radiosender, dann wieder von vorn
{
SetValueInteger("radiosender", 1);
$radiosender = GetValueInteger("radiosender");
}
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
WAC_ClearPlaylist ($sk1);
WAC_SetRepeat($sk1, false);
TTS_Speak($tts_sk1, $radioname[$radiosender]);
sleep(03);
WAC_AddFile($sk1, $radio[$radiosender]);
WAC_Play($sk1);
SetValueString("bz_wac_status", "PLAY");
return;
}
//------------------------------MP3 abspielen----------------------------------
if ($bz_wandsender_modus == 0 && $bz_modus == 2)
{
TTS_Speak($tts_sk1, "MPdrei aktiviert");
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
return;
}
if ($bz_wandsender_modus == 17 && $bz_modus == 2) // nächste Wiedergabeliste
{
SetValueInteger("wiedergabeliste", $wiedergabeliste+1);
$wiedergabeliste = GetValueInteger("wiedergabeliste");
if ($wiedergabeliste > 2) //== 8 wenn letzte Wiedergabeliste, dann wieder von vorn
{
SetValueInteger("wiedergabeliste", 1);
$wiedergabeliste = GetValueInteger("wiedergabeliste");
}
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
WAC_ClearPlaylist ($sk1);
WAC_SetRepeat($Ssk1, true);
WAC_SetShuffle ($sk1, true);
TTS_Speak($tts_sk1, $mp3name[$wiedergabeliste]);
sleep(03);
WAC_AddFile($sk1, $mp3[$wiedergabeliste]);
WAC_Next($sk1);
WAC_Play($sk1);
SetValueString("bz_wac_status", "PLAY");
return;
}
//------------------------------Skip aktivieren--------------------------------
if ($bz_wandsender_modus == 0 && $bz_modus == 3)
{
TTS_Speak($tts_sk1, "Skip aktiviert");
WAC_Pause($sk1);
SetValueString("bz_wac_status", "STOP");
sleep(02);
WAC_Play($sk1);
SetValueString("bz_wac_status", "PLAY");
return;
}
if ($bz_wandsender_modus == 17 && $bz_modus == 3) // nächstes Lied
{
WAC_Next($sk1);
return;
}
//------------------------------Ausschalten aktivieren-------------------------
if ($bz_wandsender_modus == 0 && $bz_modus == 4)
{
TTS_Speak($tts_sk1, "Ausschalten aktiviert");
WAC_Pause($sk1);
SetValueString("bz_wac_status", "STOP");
sleep(02);
WAC_Play($sk1);
SetValueString("bz_wac_status", "PLAY");
return;
}
if ($bz_wandsender_modus == 17 && $bz_modus == 4) // nächste Wiedergabeliste
{
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
FS20_SwitchMode(49211, False); // Lautsprecher aus Badezimmer
WAC_Stop($sk1);
SetValueString("bz_wac_status", "STOP");
WAC_SetShuffle ($sk1, False);
return;
}
//-----------------------------------------------------------------------------
?>
Wie gesagt, das ganze lief ja schon. Ich denke ich habe einen Fehler bei den Events. In welchen Script ich was triggere siehst du ja. Die Instance der Taste 1+2 haben unter Data „bz_wandsender_volume_intens“ und Taste 3+4 haben unter Data „bz_wandsender_modus“
Grüße Mirco