Beispiel Internetradio und mp3 Wiedergabelisten per Handsender

So mache hier mal noch ein Thema auf um die Anhänge anzufügen.
@steiner (alte Beiträge verschieben bzw. löschen):wink:

Zunächst möchte ich mal meine Freude zum Ausdruck bringen, dass dieses Forum und das entsprechende Produkt IP-Symcon eine Top Sache ist!
Habe mich nun einige Tage mit mp3 & Internetradio beschäftigt.
Hier gibt es viele Lösungen, aber leider war keine dabei (oder ich habe sie nicht gefunden ) die alles das macht was ich gern möchte.
Das war ==>
Mit einem F20 S4 Handsender folgende Dinge

Taste 1 und 2:

  • Internetradiosender abspielen & auswählen, per Sprachausgabe ansagen
  • mp3 Wiedergabelisten abspielen & auswählen, per Sprachausgabe ansagen
  • mp3 Lied weiterschalten
  • Auschalten des Lautsprechers

Taste 3 und 4:

  • Lautstärkeregelung
  • Auschalten des Lautsprechers

Dabei war mir wichtig den mp3 Player nicht immer per kill Kommando unsauber zu beenden und die Möglichkeit per Multiroom das ganze für mehrere Soundkarten zu ermöglichen. Und es geht.
Betreibe die Sache zur Zeit nur mit einer Soundkarte (aber habe es mit der zweiten getestet), Script müßte für mehrere Soundkarten noch etwas angepasst werden.
Die Lautstärkeregelung ist ja leider etwas komlizierter, da winamp eine eigene verwendet, wird die Masterlautstärke per nircmd.exe auf einen Wert eingestellt der für winamp 100% ist und per WAC_SetVolume Befehl geregelt.
Bastle an einer verfeinerten Regelung mit Mastervolumeregelung.

Möchte hier mal was zurück geben, falls jemand auch sowas brauch.

[b]Lautstärkeregelung (Stand:18.04.07) in der Anlage als
SZ_Lautstaerke.ips.rar

mp3 & Internetradio (Stand:18.04.07) in der Anlage als
SZ_Musikschleife_Handsender.ips.rar

Auszug aus Kostanten (Stand:18.04.07):[/b]

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

 //--------------------Variablen aus IP-SYMCON----------------------------------
 //OG_Schlafzimmer
 $OG_Sz_Steckdose_Lautsprecher_Status = GetValueBoolean("OG_Sz_Steckdose_Lautsprecher_Status");
 $OG_Sz_Handsender_Modus = GetValueInteger("OG_Sz_Handsender_Modus");
 $OG_Sz_Handsender_Volume_Intens = GetValueInteger("OG_Sz_Handsender_Volume_Intens");
 $OG_Sz_Modus = GetValueInteger("OG_Sz_Modus");
 //---------------------------Steckdosen----------------------------------------
 $OG_Sz_Steckdose = 49895;
 //-----------------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 Erdgeschoß / Keller
 $SK2 = 34025;
 $TTS_SK2 = 24371;
 $DXMedia_SK2 = 16822;
 //Winamp - IP-SYMCON
 $SK2_WAC_Position = GetValueString ("SK2_WAC_Position");
 $SK2_WAC_Status = GetValueString ("SK2_WAC_Status");
 $SK2_WAC_Volume = GetValueInteger("SK2_WAC_Volume");
 //Musik - IP-SYMCON
 $SK2_Radiosender = GetValueInteger("SK2_Radiosender");
 $SK2_Wiedergabeliste = GetValueInteger("SK2_Wiedergabeliste");
 //-----------------------------Radiosender-------------------------------------
 $radio[1] = "http://38.119.49.140:8000";
 $radioname[1] = "Radiosender Datempo Lounge";
 
 $radio[2] = "http://64.236.99.41:80/stream/1010";
 $radioname[2] = "Radiosender Smooth Jazz";
 
 $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] = "E:/Musik/Playlist/tagesmusik.m3u";
 $mp3name[1] = "Wiedergabeliste Tagesmusik";
 
 $mp3[2] = "E:/Musik/Playlist/zigarrenzimmer.m3u";
 $mp3name[2] = "Wiedergabeliste Zigarrenzimmer";
 
 $mp3[3] = "E:/Musik/Playlist/Für Ältere.m3u";
 $mp3name[3] = "Wiedergabeliste Für Ältere";

 $mp3[4] = "E:/Musik/Playlist/rave.m3u";
 $mp3name[4] = "Wiedergabeliste Räv";
 
 $mp3[5] = "E:/Musik/Playlist/party.m3u";
 $mp3name[5] = "Wiedergabeliste Party";

 $mp3[6] = "E:/Musik/Playlist/dark.m3u";
 $mp3name[6] = "Wiedergabeliste Dark";
 
 $mp3[7] = "E:/Musik/Playlist/aktuell.m3u";
 $mp3name[7] = "Wiedergabeliste Aktuell";
 //-----------------------------------------------------------------------------
?>

SZ_Lautstaerke.ips.rar (666 Bytes)

SZ_Musikschleife_Handsender.ips.rar (1.06 KB)

So, habe eine Version der Lautstärkeregelung gebastelt die das Mastervolumen einer Soundkarte oder mehrerer Soundkarten regeln kann.
Wobei die Zahl hinter master die Soundkarteninstance ist. (nircmd.exe setsysvolume $SK1_Mastervolume master 0)

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

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

 // Lautstärke heben
 if($IPS_SENDER=="Variable" && $OG_Sz_Handsender_Volume_Intens=="17"
 or $IPS_SENDER=="Variable" && $OG_Sz_Handsender_Volume_Intens=="19")
 {
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume>=65535)
 {
 $c = "c:/windows/ding.wav";
 DXMedia_Open($DXMedia_SK1, $c);
 DXMedia_Play($DXMedia_SK1);
 return; // zurück wenn Lautstärke schon max.
 }
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume<4000)
 {
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume+200);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 return; 
 }
 //-----------------------------------------------------------------------------
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume+2000);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 //-----------------------------------------------------------------------------
 }

 // sonst Lautstärke senken
 else
 {
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume<=0)
 {
 WAC_Stop($SK1);
 SetValueString("SK1_WAC_Status", "STOP");
 FS20_SwitchMode($OG_Sz_Steckdose, False); // Laustsprecher aus Schlafzimmer
 WAC_Stop($SK1);
 SetValueString("SK1_WAC_Status", "STOP");
 return; // zurück wenn Lautstärke schon min.
 }
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume<=3900)
 {
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume-200);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 return; 
 }
 //-----------------------------------------------------------------------------
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume-2000);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 }

?>

Hallo,
ich wollt das ganze mal ausprobieren, aber irgendwo klemmts bei mir ( PHP-Neuling). Kannst Du mir mal kurz schreiben, welche Variablen Du mit dem Handsender steuerst, ich glaube, da hab ich irgendwo den klemmer.
Gruß
Jürgen

Taste 1 & Taste 2: Trigger über $OG_Sz_Handsender_Modus
Sobald diese Tasten gedrückt, werden im jeweiligen Untermenü andere Variablen verändert z.B. für die Radiosender etc.

Taste 3 & Taste 4: Trigger über $OG_Sz_Handsender_Volume_Intens
Sobald diese Tasten gedrückt wird SK1_Mastervolume verändert

Vielen Dank, jetzt klappts schon etwas besser. Ich muss natürlich noch die mp3-Verzeichnisse anlegen bzw. anpassen. Allerdings meckert die Lautstärkeregelung noch über die Variable SK1_Mastervolume. Ansonsten ein Superscript.
Gruß
Jürgen

Ich nochmal,
so langsam kommts. Die Rundfunkwiedergabe und Lautstärkeregelung (ältere Version ohne Mastervolume) klappt bestens. MP3 leider noch nicht. Wenn ich die Playlist auswähle, wird sie auch im Winamp angezeigt, aber die Titelnamen laufen sehr schnell durch und es ist nicht zu hören. Lade ich die Playlist über das Winamp-Mnue, klappt alles. Leider kenne ich den Winamp noch nicht so genau. Was hab ich falsch gemacht? Und vieleicht noch ein Tip, was bei der neuen Lautstärkeregelung noch geändert werden muss ( vermutlich Konstanten? )
Vielen Dank im voraus
Jürgen

  1. Was passiert wenn Du das in einem kleinem Script machst?

$SK1 = Soundkarteninstance ID;
WAC_AddFile($SK1, Pfad/Name.m3u);
 WAC_Play($SK1);
  1. Welcher Fehler kommt bei der Lautstärkeregelung. Hast du auch nircmd.exe im richtigen Pfad?

Hier habe ich übrigens meine neueste Lautstärkeregelung, mal wieder ein paar Feinheiten geändert.

Ist halt ne Sache die ich mir so nach meinen Wünschen gebastelt habe. Kann man nach seinen Wünschen anpassen oder auch ganz anders machen…

Wichtig ist das die Variable $SK1_Mastervolume zum Start ein vielfaches von 2000 ist. Also z.B. 6000

Und $SK1_WAC_Vol = $SK1_WAC_Volume ist.

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

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

 // Lautstärke heben
 if($IPS_SENDER=="Variable" && $OG_Sz_Handsender_Volume_Intens=="17"
 or $IPS_SENDER=="Variable" && $OG_Sz_Handsender_Volume_Intens=="19")
 {
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume>=66000)
 {
 $c = "C:/WINDOWS/Media/ding.wav";
 DXMedia_Open($DXMedia_SK1, $c);
 DXMedia_Play($DXMedia_SK1);
 return; // zurück wenn Lautstärke schon max.
 }
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume<=2000)
 {
 $SK1_WAC_Vol=$SK1_WAC_Vol+5;
 SetValueInteger("SK1_WAC_Vol", $SK1_WAC_Vol);
 WAC_SetVolume($SK1, $SK1_WAC_Vol); //Winamp Lautstärke
 if($SK1_WAC_Vol>=255)
 {
 $SK1_Mastervolume=$SK1_Mastervolume+2000;
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 }
 return;
 }
 //-----------------------------------------------------------------------------
 $SK1_Mastervolume=$SK1_Mastervolume+2000;
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 //-----------------------------------------------------------------------------
 }

 // sonst Lautstärke senken
 else
 {
 //-----------------------------------------------------------------------------
 if($SK1_Mastervolume<=2000)
 {
 if($SK1_WAC_Vol<=0)
 {
 WAC_Stop($SK1);
 SetValueString("SK1_WAC_Status", "STOP");
 FS20_SwitchMode($OG_Sz_Steckdose, False); // Laustsprecher aus Schlafzimmer
 WAC_Stop($SK1);
 SetValueString("SK1_WAC_Status", "STOP");
 return;
 }
 $SK1_WAC_Vol=$SK1_WAC_Vol-5;
 SetValueInteger("SK1_WAC_Vol", $SK1_WAC_Vol);
 WAC_SetVolume($SK1, $SK1_WAC_Vol); //Winamp Lautstärke
 return;
 }
 //-----------------------------------------------------------------------------
 $SK1_Mastervolume=$SK1_Mastervolume-2000;
 SetValueInteger("SK1_Mastervolume", $SK1_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK1_Mastervolume master 0","",true,true);
 }

?>

Hallo,
erstmal vielen Dank für die schnelle Antwort. Ich hoffe nur, ich geh dir nicht zu sehr auf die Nerven, aber mit PHP kenne ich mich noch nicht so gut aus. Wenn ich das kleine Testprg. starte, passiert etwas ganz merkwürdiges: Im Fenster des Winamp sehe ich , das die Titel eingelesen werden, aber offenbar in einer Endlosschleife ( es hört nicht auf). Starte ich die Playlist dagegen aus dem Menü von Winamp, klappt es einwandfrei.
Als zweites habe ich dein neues Lautstärkescript probiert. Hier krieg ich zwei Fehlermeldungen, wenn ich über Execute starte, nämlich einmal undefined variable SK1_Mastervolume und das gleiche mit SK1_WAC_Vol.
Nochmal zum allgemeinen Veständniss: $SK1 ist die Instanz-ID vom Winamp-Control, TTs und DXMedia ist ja klar. Mircmd.exe ist im Hauptverzeichnis, d.h. bei mir E:\IP-SYMCON. Was meintest du mit §SK1_WAC_Vol=§SK1_WAC_Volume?
Ich hoffe, du kannst mir noch ein paar hilfreiche Tipps geben, denn mit diesem Script steigt der WAF um ein Vielfaches.
Jürgen

Hallo Jürgen,

Also mit dem Winamp das verstehe ich nicht so ganz bei Dir.
Veruche mal einach folgendes und sage mir was dann passiert:

$SK1 = Soundkarteninstance ID; 
WAC_AddFile($SK1, Pfad zu einem beliebigen Ordner mit mp3 Musik); 
WAC_Play($SK1); 

Ja $SK1 ist die Winamp Instance ID aus IP-Symcon.
Lege mit rechter Maustaste im IP-Symcon Variable Menü die beiden SK1_Mastervolume und SK1_WAC_Vol als Interger Variablen an.
$SK1_WAC_Vol=$SK1_WAC_Volume bedeutet das der Integerwert der beiden vor Scriptaufruf gleich sein muß. z.b. 200

So, das Script funktioniert, d.h. er spielt die MP3 aus dem Verzeichnis ab.
Aus der Musikschleife gehts nicht.
zu 2.
Die Variablen waren angelegt, aber ich musste in Konstanten.php noch folgendes einfügen:
$SK1_Mastervolume = GetValueInteger(„SK1_Mastervolume“);
$SK1_WAC_Vol = GetValueInteger(„SK1_WAC_Vol“);
Ich denke,das ist richtig so, zumindest gibts bei execute keine Fehlermeldung mehr. Jetzt ist nur die Frage: Was tun mit den MP3´s?
Gruß
Jürgen

Vieleicht liegt das an Deinen Wiedergabelisten.
Probiere mal folgendes:

  1. Winamp öffnen
  2. eine beliebige Anzahl Lieder auswählen
  3. in dem Playlisteditor (unter View/Playlisteditor) die Playlist speichern

Probiere dann mal mit dem kleinen Testscript diese zu laden.

Das wars. Ich habe jetzt zwei neue Playlisten erstellt und es funktioniert. Ein Problem gibts noch, nämlich wenn ich bei Internetradio den Sender weiterschalte, bleibt er manchmal hängen, d.h. die URL kann offenbar ncht geladen werden. Das kann aber an der Internetverbindung liegen (obwohl DSL 6000 ?). Das Dumme ist nur, ich muss dann die Winamp-Instanz abschiessen, sonst geht nichts mehr. Aber erst mal vielen Dank für die tolle Hilfe, den Rest schaffen wir auch noch…
Viele Grüsse
Jürgen

Hallo Ferengi-Master,

das Script ist super. Genau das was mir noch fehlte.
Soweit ist das Script auch angepasst aber mir fehlt noch die Instance ID der Soundkarte.

Wie oder womit lege ich eine Soundkarten Instance in IPS an? :confused:

Grüße Mirco

Vergiss es ! :o

Wer lesen kann ist klar im Vorteil. :smiley:

Grüße und Dank für das geile Script
Mirco

Hallo Mirco,

freud mich dass dir das Script gefällt, ist aber schon etwas älter, hier ist die aktuelle Version der Lautstärkeregelung. Diese geht für den Handsender und den Designer und kleine Fehler sind behoben!
Wenn irgend etwas unklar - immer fragen…

Gruß Thomas

P.S. Script ist hier für meine Soundkarte Nummer 5


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

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

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

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

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

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

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

 //Lautstärke = max.
 if($SK5_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($SK5_Mastervolume<600)
 {
 $SK5_Mastervolume=$SK5_Mastervolume+60;
 SetValueInteger("SK5_Mastervolume", $SK5_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK5_Mastervolume master $SK5_Masterzahl","",true,true);
 return;
 }

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

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

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

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

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

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

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

 ?>

Da fällt mir ein habe natürlich auch das Abspielscript weiter ausgebaut, um weitere Funktionen und eine Ausgabe für den Designer(Touchfähig), die gefällt sogar meiner Freundin richtig gut :rolleyes:.
Kann ich auch gerne mal etwas mehr dazu schreiben wenn es jemand interessiert.

MfG Thomas

musik.JPG

Ja aber hallo. Natürlich. Und wenn Du schon dabei bist würden mich die Scripte für die einzelnen Tasten auch interessieren.

Na dann will ich mal anfangen:

Grundsätzlich benutze ich für die Steuerung wie im Bild - 5 Scripte

  1. Für Lautsprecher aus/ein und Wiedergabelistenfunktion etc.
  2. Für Volume (hatte ich ja schon gepostet)
  3. Für Volumenprozentrechnung (kann man sicherlich auch ins Volumenscript implementieren)
  4. Für Internetradio
  5. für mp3 Funktionen und Play / Skip…

Script 1:


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

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

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

 $vol = 255;
 SetValueInteger("SK5_WAC_Vol", $vol);
 SetValueInteger("SK5_WAC_Volume", $vol);
 WAC_SetVolume($SK5, $vol); //Winamp Lautstärke
 
 switch ($IPS_COMPONENT)
 {

 case 'Start_SK5':
 if ($SK5_Status_mp3 == true){SetValueInteger("SK5_Radiosender", 0);}
 if ($SK5_Status_radio == true){SetValueInteger("SK5_Wiedergabeliste", 0);}
 break;
 
 //wenn Lautsprecher Schalter an
 case 'SK5_an':
 $SK5_Mastervolume=6000;
 SetValueInteger("SK5_Mastervolume", $SK5_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK5_Mastervolume master $SK5_Masterzahl","",true,true);
 FS20_SwitchMode($OG_Sr_Steckdose_Lautsprecher, True); // Laustsprecher an
 sleep(1);
 if ($SK5_Status_mp3 == true) {IPS_RunScript("MP3_SK5");}
 if ($SK5_Status_radio == true) {IPS_RunScript("Radio_SK5");}
 break;

 case 'SK5_an_2':
 $SK5_Mastervolume=18000;
 SetValueInteger("SK5_Mastervolume", $SK5_Mastervolume);
 IPS_Execute("nircmd.exe setsysvolume $SK5_Mastervolume master $SK5_Masterzahl","",true,true);
 sleep(1);
 SetValueBoolean("SK5_Touch", true);
 SetValueBoolean("OG_Flu_Touch_Musik", true);
 if ($SK5_Status_mp3 == true) {IPS_RunScript("MP3_SK5");}
 if ($SK5_Status_radio == true) {IPS_RunScript("Radio_SK5");}
 break;

 case 'SK5_aus':
 WAC_Stop($SK5);
 SetValueString("SK5_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK5);
 WAC_SetRepeat($SK5, false);
 WAC_SetShuffle ($SK5, false);
 FS20_SwitchMode($OG_Sr_Steckdose_Lautsprecher, false); // Laustsprecher aus
 break;

 case 'SK5_aus_2':
 SetValueBoolean("SK5_Touch", false);
 SetValueBoolean("OG_Flu_Touch_Musik", false);
 WAC_Stop($SK5);
 SetValueString("SK5_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK5);
 WAC_SetRepeat($SK5, false);
 WAC_SetShuffle ($SK5, false);
 break;

 case 'copy_Thomas':
 if ($SK5_WAC_Status == "PLAY") {WAC_Pause($SK5);}
 SetValueInteger("Wav_SK", 5);
 SetValueString("Wav_Titel", 'Meldung'); //Hinweis;Meldung;Klingel;Abmelden;Aus
 IPS_RunScript("Wav_Ausgabe");
 Sleep(2);
 $SK5_WAC_Path = GetValueString("SK5_WAC_Path");
 $file = basename($SK5_WAC_Path);
 copy ($SK5_WAC_Path,"E:/Musik/AAA__Räume__AAA/Thomas/$file");
 if ($SK5_WAC_Status == "PLAY") {WAC_Pause($SK5); SetValueString("SK5_WAC_Status", "PLAY");}
 break;

 case 'copy_Nadine':
 if ($SK5_WAC_Status == "PLAY") {WAC_Pause($SK5);}
 SetValueInteger("Wav_SK", 5);
 SetValueString("Wav_Titel", 'Meldung'); //Hinweis;Meldung;Klingel;Abmelden;Aus
 IPS_RunScript("Wav_Ausgabe");
 Sleep(2);
 $SK5_WAC_Path = GetValueString("SK5_WAC_Path");
 $file = basename($SK5_WAC_Path);
 copy ($SK5_WAC_Path,"E:/Musik/AAA__Räume__AAA/Nadin/$file");
 if ($SK5_WAC_Status == "PLAY") {WAC_Pause($SK5); SetValueString("SK5_WAC_Status", "PLAY");}
 break;
 
 };

?>

Script 2 (gabs schon weiter oben im Threat)

Script 3:


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

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

 (int)$proz = (($SK5_Mastervolume*100)/66000);
 SetValueInteger("SK5_Mastervolume_Proz", (int)$proz);


?

Script 4:


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

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

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

 If ($IPS_COMPONENT !="")
 {
 SetValueInteger("SK5_Radiosender", (int)$IPS_COMPONENT);
 }
 SetValueInteger("SK5_Wiedergabeliste", 0);
 SetValueBoolean("SK5_Status_radio", true);
 SetValueBoolean("SK5_Status_mp3", false);
 $SK5_Radiosender = GetValueInteger("SK5_Radiosender");

 //------------------------------ Abspielmodus ---------------------------------

 if ($OG_Sr_Steckdose_Lautsprecher_Status == false
 and $SK5_Touch == false){return;} // nichts abspielen wenn Lautsp./Touch aus
 WAC_Stop($SK5);
 SetValueString("SK5_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK5);
 WAC_SetRepeat($SK5, false);
 WAC_SetShuffle ($SK5, false);
 TTS_Speak($TTS_SK5, $radioname[$SK5_Radiosender]);
 sleep(04);
 WAC_AddFile($SK5, $radio[$SK5_Radiosender]);
 WAC_Play($SK5);
 SetValueString("SK5_WAC_Status", "PLAY");
 //SetValueBoolean("Run", false);


?>

Script 5:


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

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

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

 //SetValueBoolean("Run", true)

 //------------------------------ MP3 Steuerung --------------------------------
 
 switch ($IPS_COMPONENT)
 {
 case 'skip':
 WAC_Next($SK5);
 return;
 
 case 'zur':
 WAC_Prev($SK5);
 return;

 case 'pause':
 WAC_Pause($SK5);
 SetValueString("SK5_WAC_Status", "PAUSE");
 return;

 case 'play':
 WAC_Play($SK5);
 SetValueString("SK5_WAC_Status", "PLAY");
 return;
 }

 //------------------------------ Auswahlmenü ----------------------------------

 If ($IPS_COMPONENT !="")
 {
 SetValueInteger("SK5_Wiedergabeliste", (int)$IPS_COMPONENT);
 }
 SetValueInteger("SK5_Radiosender", 0);
 SetValueBoolean("SK5_Status_mp3", true);
 SetValueBoolean("SK5_Status_radio", false);
 $SK5_Wiedergabeliste = GetValueInteger("SK5_Wiedergabeliste");

 //------------------------------ Abspielmodus ---------------------------------

 if ($OG_Sr_Steckdose_Lautsprecher_Status == false
 and $SK5_Touch == false){return;} // nichts abspielen wenn Lautsp./Touch aus
 WAC_Stop($SK5);
 SetValueString("SK5_WAC_Status", "STOP");
 WAC_ClearPlaylist ($SK5);
 WAC_SetRepeat($SK5, true);
 WAC_SetShuffle ($SK5, true);
 TTS_Speak($TTS_SK5, $mp3name[$SK5_Wiedergabeliste]);
 sleep(03);
 WAC_AddFile($SK5, $mp3[$SK5_Wiedergabeliste]);
 WAC_Next($SK5);
 WAC_Play($SK5);
 SetValueString("SK5_WAC_Status", "PLAY");
 //SetValueBoolean("Run", false);
 return;

?>

Wichtig ist, dass die Scripte meinen Bedürfnissen angepasst sind und nicht allgemein verwendbar sind und angepasst werden müssen, sie enthalten globale und temporäre Variablen die angelegt werden müssen und weitere Unterprogramme, sowie diverse Einstellungen im Designer!

MFG Thomas

sooo viele Scripte und soooo wenig Ahnung. Na dann mal rann… :smiley:

Besten Dank
Mirco