Beispiel Internetradio und mp3 Wiedergabelisten per Handsender

Also Mirco, das ist eigentlich kein großer Zauber und hält sich alles im Rahmen.
Frag einfach wenn etwas unklar ist.

MFG Thomas

Ok. Alle Scripts sind meinen Erachtens nach angepasst (so wie es eine PHP Lusche beurteilen kann :o ).

Mir ist noch unklar,:confused: was getan werden muss, das wenn ich zB Taste 1 drücke mp3´s abgespielt werden und wenn ich sie nochmal drücke Radiosender.

Wie ich auf Taste 2 drücke und die mp3´s bzw Radiosender gewechselt werden.

wie ich auf Taste 3 die Lautstärke rauf und runter stelle und auf Taste 4 … oder so ähnlich.

Grüße Mirco

z.B. Anschalten beim drücken des grünen Haken…


 switch ($IPS_COMPONENT)
 {

....
 
 //wenn Lautsprecher Schalter an
 case 'SK5_an':
 $SK5_Mastervolume=6000;

.....


Der switch Befehl fragt den im Designer mit IPSYMID übergebenen Wert ab. Hier „SK5_an“ und führt den entsprechenden Code aus.
Es muß nur noch ein OnClick Event auf Sript Nr. 1 eingetragen werden.

Bei mp3 und Radio ist da in etwa das Selbe. Hier übergebe ich per IPSYMID einfach Zahlen von 1 bis 8 und starte dann das Script Nr. 5.

OK. Aber wie hast Du das mit einem 4 Kanal Handsender realisiert?

Also ich verstehe jetzt nicht so ganz Deine Frage, aber vieleicht meinst Du dieses Script (ist hier für die Küchensoundkarte), jedes Script für einen Raum ist bei mir etwas angepasst, dieses enthält z.B. einen Pagenruf für ein anderes Stockwerk etc…

MfG Thomas


?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : KUE_Modus.ips.php
Trigger  : EG_Kue_Handsender_Modus
Interval :
*/

 include("C:/Programme/IP-Symcon/scripts/Konstanten.ips.php");

 SetValueString("trig_script", $IPS_SELF); //Scriptstart an Designer Log übertragen

 if ($Run_EG_Kue) // Mehrfaches Triggern in kurzer Zeit verhindern
 {
 return;
 }
 
 //--------------------------Musikschleife aktivieren---------------------------

 if ($EG_Kue_Steckdose_Lautsprecher_Status == false)
 {
 FS20_SwitchMode($EG_Kue_Steckdose_Lautsprecher, True); // Laustsprecher an
 $SK2_Mastervolume = 1800;
 SetValueInteger("SK2_Mastervolume", $SK2_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK2_Mastervolume master 1","",true,true);
 SetValueInteger("SK2_WAC_Vol", 255);
 WAC_SetVolume($SK2, 255); //Winamp Lautstärke
 sleep(1);
 TTS_Speak($TTS_SK2, "Bitte Modus wählen");
 SetValueInteger("EG_Kue_Modus", 0);
 return;
 }

 //-------------------------verschiedene Modi aktivieren------------------------

 if ($EG_Kue_Handsender_Modus == 0) // Modus weiterschalten
 {
 SetValueInteger("EG_Kue_Modus", $EG_Kue_Modus+1);
 $EG_Kue_Modus = GetValueInteger("EG_Kue_Modus");
 if ($EG_Kue_Modus == 9) // wenn letzter Modus, dann wieder von vorn
 {
 SetValueInteger("EG_Kue_Modus", 1);
 $EG_Kue_Modus = GetValueInteger("EG_Kue_Modus");
 }
 }

 //--------------------------Internetradio abspielen----------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 1)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Radiomodus");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 1) // nächster Radiosender
 {
 //für Designer
 SetValueInteger("SK2_Wiedergabeliste", 0);
 SetValueBoolean("SK2_Status_radio", true);
 SetValueBoolean("SK2_Status_mp3", false);
 //
 SetValueBoolean("Run_EG_Kue", true);
 SetValueInteger("SK2_Radiosender", $SK2_Radiosender+1);
 $SK2_Radiosender = GetValueInteger("SK2_Radiosender");
 if ($SK2_Radiosender == 9) // wenn letzter Radiosender, dann wieder von vorn
 {
 SetValueInteger("SK2_Radiosender", 1);
 $SK2_Radiosender = GetValueInteger("SK2_Radiosender");
 }
 WAC_Stop($SK2);
 SetValueString("SK2_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK2);
 WAC_SetRepeat($SK2, false);
 WAC_SetShuffle ($SK2, false);
 TTS_Speak($TTS_SK2, $radioname[$SK2_Radiosender]);
 sleep(06);
 WAC_AddFile($SK2, $radio[$SK2_Radiosender]);
 WAC_Play($SK2);
 SetValueString("SK2_WAC_Status", "PLAY");
 SetValueBoolean("Run_EG_Kue", false);
 return;
 }

 //------------------------------MP3 abspielen----------------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 2)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "MP3modus");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 2) // nächste Wiedergabeliste
 {
 //für Designer
 SetValueInteger("SK2_Radiosender", 0);
 SetValueBoolean("SK2_Status_mp3", true);
 SetValueBoolean("SK2_Status_radio", false);
 //
 SetValueBoolean("Run_EG_Kue", true);
 SetValueInteger("SK2_Wiedergabeliste", $SK2_Wiedergabeliste+1);
 $SK2_Wiedergabeliste = GetValueInteger("SK2_Wiedergabeliste");
 if ($SK2_Wiedergabeliste == 8) // wenn letzte Wiedergabeliste, dann wieder von vorn
 {
 SetValueInteger("SK2_Wiedergabeliste", 1);
 $SK2_Wiedergabeliste = GetValueInteger("SK2_Wiedergabeliste");
 }
 WAC_Stop($SK2);
 SetValueString("SK2_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK2);
 WAC_SetRepeat($SK2, true);
 WAC_SetShuffle ($SK2, true);
 TTS_Speak($TTS_SK2, $mp3name[$SK2_Wiedergabeliste]);
 sleep(06);
 WAC_AddFile($SK2, $mp3[$SK2_Wiedergabeliste]);
 WAC_Next($SK2);
 WAC_Play($SK2);
 SetValueString("SK2_WAC_Status", "PLAY");
 SetValueBoolean("Run_EG_Kue", false);
 return;
 }

 //------------------------------Skip aktivieren--------------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 3)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Skipmodus");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 3) // nächstes Lied
 {
 WAC_Next($SK2);
 SetValueString("SK2_WAC_Status", "PLAY");
 return;
 }

 //------------------ Musik zu Nadins Wiedergabeliste hinzufügen ---------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 4)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Musik zu Nadines Liste kopieren");
 sleep(2);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 4)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 SetValueInteger("Wav_SK", 2);
 SetValueString("Wav_Titel", 'Meldung'); //Hinweis;Meldung;Klingel;Abmelden;Aus
 IPS_RunScript("Wav_Ausgabe");
 Sleep(2);
 $SK2_WAC_Path = GetValueString("SK2_WAC_Path");
 $file = basename($SK2_WAC_Path);
 copy ($SK2_WAC_Path,"E:/Musik/AAA__Räume__AAA/Nadin/$file");
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }

 //-----------------------------Thomas rufen------------------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 5)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Thomas bitte runter kommen");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }

 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 5)
 {
 SetValueInteger("Wav_SK", 2);
 SetValueString("Wav_Titel", 'Klingel'); //Hinweis;Meldung;Klingel;Abmelden;Aus
 IPS_RunScript("Wav_Ausgabe");
 Sleep(4);
 SetValueBoolean("Ruf_Thomas_oben", true);
 }

 //-----------------------------Nadine rufen------------------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 6)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Nadine bitte runter kommen");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }

 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 6) // im Schlafzimmer rufen
 {
 SetValueInteger("Wav_SK", 2);
 SetValueString("Wav_Titel", 'Klingel'); //Hinweis;Meldung;Klingel;Abmelden;Aus
 IPS_RunScript("Wav_Ausgabe");
 Sleep(4);
 SetValueBoolean("Ruf_Nadine_oben", true);
 }

 //--------------------------------Licht an-------------------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 7)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Licht anschalten");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 7)
 {
 FS20_SwitchMode($EG_Kue_Steckdose_Licht, True); // Licht an
 return;
 }

 //------------------------------Ausschalten aktivieren-------------------------

 if ($EG_Kue_Handsender_Modus == 0 && $EG_Kue_Modus == 8)
 {
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2);}
 TTS_Speak($TTS_SK2, "Ausschaltmodus");
 sleep(1);
 if ($SK2_WAC_Status == "PLAY") {WAC_Pause($SK2); SetValueString("SK2_WAC_Status", "PLAY");}
 return;
 }
 if ($EG_Kue_Handsender_Modus == 17 && $EG_Kue_Modus == 8)
 {
 WAC_Stop($SK2);
 WAC_SetRepeat($SK2, false);
 WAC_SetShuffle ($SK2, false);
 SetValueString("SK2_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK2);
 FS20_SwitchMode($EG_Kue_Steckdose_Lautsprecher, false); // Laustsprecher aus
 FS20_SwitchMode($EG_Kue_Steckdose_Licht, false); // Licht aus
 WAC_Stop($SK2);
 SetValueString("SK2_WAC_Status", "STOP");
 return;
 }

 //-----------------------------------------------------------------------------

?>

Im 1 Thread hast Du gesagt du möchtest alles über eine FS20S4 steuern.
Man benötigt doch sicher ein Script für jede Taste der Fernbedienung oder?

Mirco

Nein natürlich nicht.
Taste 1 und 2 triggern das Script welches ich gerade gepostet habe und Taste 3 und 4 triggern das Script zur Lautstärkeregelung, hatte ich aber im ersten Threat schon so geschrieben.

MfG Thomas

OK auch da ist klar im Vorteil wer lesen kann.

Bitte noch mal für Dumme.
Taste 1 und 2 triggern das Script welches ich gerade gepostet habe und Taste 3 und 4 triggern das Script zur Lautstärkeregelung

OK ich öffne also das Script und unter Events setzte ich unter onupdate die Variablen der Taste zb 3+4.
Aber wie könne 2 Tasten ein und das selbe Script triggern ?

Früher habe ich es so gemacht

$status=GetValueBoolean ("bad_schalter_taste_3");
if ($status==true)
{
FS20_SwitchMode (10793, True);

$id=23032; //WinAmpControlID
$url = "mms://a451.l672123077.c6721.g.lm.akamaistream.net/D/451/6721/v0001/reflector:23077";
WAC_SetVolume (23032, 110);
WAC_ClearPlaylist($id);
WAC_SetRepeat($id, false);
WAC_AddFile($id, $url);
WAC_Play($id);
}

else

{
WAC_Stop(23032);

FS20_SwitchMode (10793, False);
}

und so habe ich für jede Taste ein Script gehabt. Hatte den Nachteil, ich konnte nicht in den Sender rumspringen oder Titel weiter springen. Deshalb bin ich auf deine Art umgestiegen.

Wenn wir die jetzt gemeinsam noch zum laufen bringen, gebe ich Dir ein Aus.

Grüße Mirco

Ganz einfach. Das Script wird per OnUpdate Event auf den Data Wert des Handsenders getriggert und dieser Wert(hier 0 und 17) wird im Script abgefragt.
Im Übrigen haben Tastenpaar 1+2 eine Adresse und 3+4 eine Adresse. Das Tastenpaar 1+2 triggert also auch nur mit einer Variablen, nur mit unterschiedlichem Inhalt(Wert)! und 3+4 genau so.
Durch mehrmaliges Drücken der Taste 1 kann man durch einen Counter im Script (hier: $EG_Kue_Modus) unendlich viele Aktionen ausführen.

MfG Thomas

Eine Adresse für beide Tasten?
OK man lernt nie aus!
Das heißt zB 12345678 11 22 für Taste 1 und 2 ?
Warum?

Hallo Thomas, sorry wenn es nur mir so geht aber ich hab keine Ahnung wo von die Rede ist. Onupdate setze ich die Variable von Taste 1 oder Taste 1&2? Und was ist mit Data Wert gemeint? Die Variable der Taste ist doch eine Boolean oder?

Mirco

Eine Adresse für beide Tasten?
OK man lernt nie aus!
Das heißt zB 12345678 11 22 für Taste 1 und 2 ?
Warum?

Na das ist doch Standard so. Jedes Tastenpaar hat eine Adresse.
Wenn das bei Dir nicht so ist, dann hast Du die doppelte Kanalzahl eingestellt.
Das ist aber nicht typisch der eingestellte Zustand.

Das bedeutet wenn Du mal unter Instancen das Symbol Deines Tasters anklickst, dort hat man eine Adresse, genau wie Du in Deinem Zitat beschrieben hast und das Tastenpaar kann dann An und Aus oder Dimm up und down annehmen (für längeres drücken) diese Werte können im Script abgefragt werden und dieses auch aufrufen (triggern).

…welches gleich Deine zweite Frage beantwortet:

Hallo Thomas, sorry wenn es nur mir so geht aber ich hab keine Ahnung wo von die Rede ist. Onupdate setze ich die Variable von Taste 1 oder Taste 1&2? Und was ist mit Data Wert gemeint? Die Variable der Taste ist doch eine Boolean oder?
Mirco

In dem Konfigurationsfenster des Tasters findest Du 3 Status Varianten der Variablen:

  1. den Status - Bool
  2. den Timer (für unser Beispiel nicht von Bedeutung)
  3. den Data Wert - Integer

Der 3. Wert wird für mein Script genutzt und dort verwendet, er kann
0 (einfaches Drücken) und 20(langes drücken) sein - Taste 1 und
17 und 19 - Taste 2

Hoffe so ist das für Dich verständlich ausgedrückt.
Aber Du kannst immer gerne Fragen, dafür gibt es dieses Forum ja.:wink:

Viele Grüße Thomas

In dem Konfigurationsfenster des Tasters findest Du 3 Status Varianten der Variablen:

  1. den Status - Bool
  2. den Timer (für unser Beispiel nicht von Bedeutung)
  3. den Data Wert - Integer

OK, das kenne ich vom Designer, aber wie sieht es aus wenn ich das ganze ausschließlich über eine Fernbedienung machen möchte. Ernn ich im Script selber auf Events drücke kann ich nur eine Variable wälen und habe die 3 Möglichkeiten nicht. Wie läuft das dann ?

Grüße Mirco

Na Du brauchst doch auch nur per OnUpdate die IntegerVariable des Datawertes als Trigger zu verwenden.

Und diese Variable fragst Du im Script ab mit:


$EG_Kue_Modus = GetValueInteger("xxxxx");

So kannst Du alle Werte des Tasters abfragen.

MfG Thomas

Sorry wenn ich nerfe aber ich versteh es nicht. Ich fange mal bei „A“ an.

Hier meine (deine) Scripte überarbeitet für Lautstärke

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : bz_lautstaerke.ips.php
Trigger  :
Interval :
*/
set_time_limit(1000);
include("C:/Programme/IP-Symcon/scripts/konstanten.ips.php");

//Fehlerbeseitigung
if($sk1_wac_volume < 0) {SetValueInteger("sk1_wac_volume", 0);}
if($sk1_wac_volume > 255) {SetValueInteger("sk1_wac_volume", 255);}
if($sk1_mastervolume < 0) {SetValueInteger("sk1_mastervolume", 0);}
if($sk1_mastervolume > 66000) {SetValueInteger("sk1_mastervolume", 66000);}

//----------------------------Lautstärke heben---------------------------------

if ($IPS_COMPONENT == "lauter")
{
//die Variable Triggert das Script
SetValueInteger("hsender_mirco_tastet", 17);   //bz_wandsender_volume_intens
return;
}

if ($IPS_COMPONENT == "leiser")
{
//die Variable Triggert das Script
SetValueInteger("hsender_mirco_taste1", 0);    //bz_wandsender_volume_intens
return;
}

if ($bz_wandsender_volume_intens == 17
or $bz_wandsender_volume_intens == 19)
{

//Lautstärke = max.
if($sk1_Mastervolume>=66000)
{
//
SetValueInteger("wav_sk", 5);        //??????????????????????????????????????????
SetValueString("wav_titel", 'Hinweis'); //Hinweis;Meldung;Klingel;Abmelden;Aus
IPS_RunScript("wav_ausgabe");
Sleep(4);
//
return;
}

//Laustärke kleiner 600, ganz langsam anheben
if($sk1_mastervolume<600)
{
$sk1_mastervolume=$sk1_mastervolume+60;
SetValueInteger("sk1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
return;
}

//Laustärke kleiner 6000, langsam anheben
if($sk1_mastervolume<6000)
{
$sk1_mastervolume=$sk1_mastervolume+600;
SetValueInteger("sk1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
return;
}

//sonst ist Lautstärke zwischen 6000-66000, schneller anheben
$sk1_mastervolume=$sk1_mastervolume+6000;
SetValueInteger("sk1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
}

//----------------------------Lautstärke senken--------------------------------

else
{
//Lautstärke = min.
if($sk1_mastervolume<=0)
{
return;
}

//Laustärke kleiner 600, ganz langsam senken
if($sk1_mastervolume<=600)
{
$sk1_mastervolume=$ak1_mastervolume-60;
SetValueInteger("ak1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
return;
}

//Laustärke kleiner 6000, langsam senken
if($sk1_mastervolume<=6000)
{
$sk1_mastervolume=$ak1_mastervolume-600;
SetValueInteger("sk1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
return;
}

//sonst ist Lautstärke zwischen 6000-66000, schneller senken
$sk1_mastervolume=$sk1_mastervolume-6000;
SetValueInteger("sk1_mastervolume", $sk1_mastervolume);
IPS_Execute("nircmd.exe setsysvolume $sk1_mastervolume master $sk1_masterzahl","",true,true);
}

?>

Musikschleife

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : bz_musikschleife_wandsender.ips.php
Trigger  : 
Interval : 
*/
 include("C:/Programme/IP-Symcon/scripts/konstanten.ips.php");

 //--------------------------Musikschleife aktivieren---------------------------
 if ($bz_verstaerker == false)
 {
 FS20_SwitchMode($bz_verstaerker, 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, "Internetradio aktiviert");
 WAC_Stop($sk1);
 SetValueString("sk1_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 == 9) // wenn letzter Radiosender, dann wieder von vorn
 {
 SetValueInteger("radiosender", 1);
 $radiosender = GetValueInteger("radiosender");
 }
 WAC_Stop($sk1);
 SetValueString("sk1_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("sk1_wac_status", "PLAY");
 return;
 }
 //------------------------------MP3 abspielen----------------------------------
 if ($bz_wandsender_modus == 0 && $bz_modus == 2)
 {
 TTS_Speak($tts_sk1, "MP3 aktiviert");
 WAC_Stop($sk1);
 SetValueString("sk1_wac_status", "STOP");
 return;
 }
 if ($bz_wandsender_modus == 17 && $bz_modus == 2) // nächste Wiedergabeliste
 {
 SetValueInteger("wiedergabeliste", $wiedergabeliste+1);
 $wiedergabeliste = GetValueInteger("wiedergabeliste");
 if ($wiedergabeliste == 8) // wenn letzte Wiedergabeliste, dann wieder von vorn
 {
 SetValueInteger("wiedergabeliste", 1);
 $wiedergabeliste = GetValueInteger("wiedergabeliste");
 }
 WAC_Stop($sk1);
 SetValueString("sk1_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("sk1_wac_status", "PLAY");
 return;
 }
 //------------------------------Skip aktivieren--------------------------------
 if ($bz_wandsender_modus == 0 && $bz_modus == 3)
 {
 TTS_Speak($tts_sk1, "Skip aktiviert");
 WAC_Pause($sk1);
 SetValueString("sk1_wac_status", "STOP");
 sleep(02);
 WAC_Play($sk1);
 SetValueString("sk1_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("sk1_wac_status", "STOP");
 sleep(02);
 WAC_Play($sk1);
 SetValueString("sk1_wac_status", "PLAY");
 return;
 }
 if ($bz_wandsender_modus == 17 && $bz_modus == 4) // nächste Wiedergabeliste
 {
 WAC_Stop($sk1);
 SetValueString("sk1_wac_status", "STOP");
 FS20_SwitchMode($bz_verstaerker, False); // Laustsprecher aus Badezimmer
 WAC_Stop($sk1);
 SetValueString("sk1_wac_status", "STOP");
 return;
 }
 //-----------------------------------------------------------------------------



?>

und Konstanten

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : konstanten.ips.php
Trigger  : 
Interval : 
*/
//--------------------Variablen aus IP-SYMCON----------------------------------
//Badezimmer
$bz_verstaerker = GetValueBoolean("bz_verstaerker");
$bz_wandsender_modus = GetValueInteger("bz_wandsender_modus");
$bz_wac_volume = GetValueInteger("bz_wac_volume");
$bz_modus = GetValueInteger("bz_modus");
//---------------------------Steckdosen----------------------------------------
$bz_verstaerker = 10739;
//-----------------Soundkarteninstancen & Variablen für Musik------------------
// USB Soundkarte 1.OG / Dach
//$SK1 = 56641;
//$TTS_SK1 = 58112;
//$DXMedia_SK1 = 45845;
//Winamp - IP-SYMCON
//$SK1_WAC_Position = GetValueString ("SK1_WAC_Position");
//$SK1_WAC_Status = GetValueString ("SK1_WAC_Status");
//$SK1_WAC_Volume = GetValueInteger("SK1_WAC_Volume");
//Musik - IP-SYMCON
//$SK1_Radiosender = GetValueInteger("SK1_Radiosender");
//$SK1_Wiedergabeliste = GetValueInteger("SK1_Wiedergabeliste");

// interne Soundkarte
$sk1 = 45592;
$tts_sk1 = 38570;
$dxmedia_sk1 = 38978;
//Winamp - IP-SYMCON
$sk1_wac_position = GetValueString ("bz_wac_position");
$sk1_wac_status = GetValueString ("bz_wac_status");
$sk1_wac_volume = GetValueInteger("bz_wac_volume");
//Musik - IP-SYMCON
$radiosender = GetValueInteger("radiosender");
$wiedergabeliste = GetValueInteger("wiedergabeliste");
//-----------------------------Radiosender-------------------------------------
$radio[1] = "http://gffstream.ic.llnwd.net/stream/gffstream_stream_wdr_einslive_a";
$radioname[1] = "Radiosender Eins Live";

$radio[2] = "http://listen.bmradio.de";
$radioname[2] = "Radiosender Black Music";

$radio[3] = "http://64.236.98.50:80/stream/1014";
$radioname[3] = "Radiosender Top Hits Music";

$radio[4] = "http://64.236.98.50:80/stream/1013";
$radioname[4] = "Radiosender das beste der achtziger";

$radio[5] = "http://209.247.146.99:8000";
$radioname[5] = "Radiosender Oldies";

$radio[6] = "http://64.236.98.50:80/stream/1002";
$radioname[6] = "Radiosender Neues Jahrhundert";

$radio[7] = "http://64.236.36.54:80/stream/1003";
$radioname[7] = "Radiosender Ruhe";

$radio[8] = "http://64.236.98.50:80/stream/1024";
$radioname[8] = "Radiosender Eurodance";

//----------------------------Wiedergabelisten---------------------------------
$mp3[1] = "C:\Programme\IP-SYMCON\Playlist\2pac.m3u";
$mp3name[1] = "tupäk";

$mp3[2] = "C:\Programme\IP-SYMCON\Playlist\acdc.m3u";
$mp3name[2] = "aycdec";

//-----------------------------------------------------------------------------



?>

mir diesen 3 Scripten möchte ich über eine 4 Tasten Fernbedienung (nur 2 Kanäle) Lautstärke MP3 oder Internetradio steuern und auch noch vorschalten.

Ich fange mal mit dem „Lautstärken“ Script an. Dieses triggere ich über „onupdate“ auf …?

und das Script "Musikschleife triggere ich auf …?

:confused::confused::confused:

Lautstärke:

Ich fange mal mit dem „Lautstärken“ Script an. Dieses triggere ich über „onupdate“ auf …?

Trigger = hsender_mirco_tastet (wenn das Dein Interger Data Wert ist?)
Und warum gibt es noch ein „hsender_mirco_taste1“?

Aber ich sehe schon Du hast das Script scheinbar falsch verändert, woher nimmst Du „$bz_wandsender_volume_intens“ ?

MfG Thomas

Und hier mal noch ein Bildchen für den FS20S4 (4 Tasten).

Hier sieht man die Data Variable die mein Küchenscript triggert (Taste 1+2).
Genauso ist das für die Lautstärke (Taste 3+4), nur das hier bei Data Dein Trigger „hsender_mirco_tastet“ stehen muß, aber wie gesagt Integer Variable die als globale IPS Variable in IPS angelegt werden muß!

Gruß Thomas

trigger.JPG

OK OK. Fehler erkannt. Bilder sagen oft mehr als Worte. Das hin und her schalten der Modis ( MP3 und Internetradio ) läuft so weit. Mit der Lautstärkenregelung hagt es ein wenig.

Was zum Beispiel ist das „nircmd.exe“ :confused:

Grüße Mirco

Hallo Mirco,

ja so machen wir weiter, bis Du am Ziel bist, halt Schritt für Schritt.
Das bekommen wir hin!:wink:

Ein wunderbares Tool nircmd.

http://www.nirsoft.net/utils/nircmd.html

Bitte runterladen und in einen Pfad legen der gefunden wird.

Diese Software ermöglicht hier z.B. das verändern der Masterlautstärke aller Soundkarten eines Rechners. Da es leider keinen PHP Befehl dafür gibt.

Gruß Thomas