+ Antworten
Ergebnis 1 bis 3 von 3

Thema: DTMF & Audio

  1. #1
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,692

    Lightbulb DTMF & Audio

    Da gewöhnlich mein DECT Telefon immer in Reichweite ist, benutze ich es außerdem um meine Audio-Anlage zu steuern.
    Das anliegende Skript ist für das SONOS System - lässt sich aber problemlos auf andere Systeme umschreiben.

    Test - RUF AN ! JETZT !! 04504 / 715165

    Mit einer Eingabe einer:

    -3- gelangt der Anrufer in das „Mega-Vote-Event-Menü“, hier kann er bestimmen, wie ihm IP-Symcon gefällt.
    Es kann eine Schulnote von 1 bis 6 vergeben werden.
    -4- Anrufbeantworter
    -5- Zeitansage: deutsch
    -6- Zeitansage: englisch
    -7- Sound - System > im Skript: case 71:
    * leiser
    # lauter
    0 Stop
    1 Play
    2 Senderwechsel > 0 bis 9 > im Skript: case 712:
    3 ZBV

    Musik gibt es über das Telefon NICHT zu hören, dafür die Befehle (WAV als Anlage)

    MST

    PHP-Code:
    <?
    $delay 
    100;
    $allowed_numbers = Array(); //leer = alle
    //Aktive Verbindungen ausgeben
    //print_r(ISDN_GetActiveConnections(37323 /*[ISDN_SMS\ISDN Module 49]*/));
    if($IPS_SENDER == "ISDN") {
        
    //Informationen ins Meldungsfenster ausgeben
        //echo "Event: ".$ISDN_EVENT."\r\n";
       
    if($ISDN_EVENT != "Disconnect"){
          
    $callinfo ISDN_GetConnectionInfo(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION);
          
    //Mehr Informationen ausgeben
          //print_r($callinfo);
       
    }
       
    //Je nach Ereigniss eine Aktion ausführen
       
    switch($ISDN_EVENT) {
          case 
    "Incoming":
          
    SetValue(36280 /*[ISDN_SMS\Nummer des Anrufers]*/$callinfo['CallingNumber']);
          
    //Anruf annehmen? (Entweder leeres Array oder Nummer ist enthalten)
          
    if((sizeof($allowed_numbers) == 0)
             or 
    in_array($callinfo['CallingNumber'], $allowed_numbers))
          {
             
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/1); // Incoming
             
    IPS_Sleep(5000);
             
    ISDN_AcceptCall(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION); //Anruf annehmen
             
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/2); // ISDN_CONNECTION
             
    SetValue(14553 /*[ZBV_Test_QC\Dashboard\IPS Anrufer]*/GetValue(14553 /*[ZBV_Test_QC\Dashboard\IPS Anrufer]*/) +1);
          }
          break;
          case 
    "Connect":
             if (
    GetValue(25457 /*[ISDN_SMS\ISDN Module 49\IPS ruft jemanden an]*/) == 3){
                 
    IPS_Sleep(500);
                 
    $file IPS_GetKernelDir()."sounds\\weckdienst.wav";
                 
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                 
    IPS_Sleep($len $delay);
                 
    $file IPS_GetKernelDir()."sounds\\h1.wav";
                 
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                 
    IPS_Sleep($len $delay);
              } else {
                 
    $file IPS_GetKernelDir()."sounds\\willkommen.wav";
                 
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                 
    IPS_Sleep($len);
                 
    $file IPS_GetKernelDir()."sounds\\hauptmenue.wav";
                 
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                 
    IPS_Sleep($len $delay);
                 
    $file IPS_GetKernelDir()."sounds\\wahl.wav";
                 
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
             }
                 
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/3); // Hauptmenue
            
    break;
          case 
    "Disconnect":
          
    //Aktion, wenn Anruf beendet wurde
          
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/0); // Disconnect
          
    SetValue(25457 /*[ISDN_SMS\ISDN Module 49\IPS ruft jemanden an]*/0);
          break;
          case 
    "PlayFinish":
          
    //Aktion, wenn Wav abgespielt wurde
          
    break;
          case 
    "DTMF":
             switch(
    GetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/)) {
                case 
    3:  // Menü - Auswahl
                   
    switch($ISDN_DATA)  {
                      
    //Aktion wenn 0 gedrückt wird
                      
    case "0":

                      break;
                        case 
    "2":
                         
    $file IPS_GetKernelDir()."sounds\\ips_mega_vote.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         return;
                      case 
    "3":
                         
    $file IPS_GetKernelDir()."sounds\\voteevent.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\zahl1bis6.wav";
                         
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/31); // Mega Vote
                         
    return;
                      case 
    "4":  // AB
                         
    $file IPS_GetKernelDir()."sounds\\ab_und_auflegen.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\beep.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $stamp date("H_i_s");
                         
    ISDN_RecordWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION"D:/Daten/AB_Ansagen/ab".$stamp.".wav");
                         
    SetValue(16427 /*[ZBV_Test_QC\Dashboard\Neue AB Meldung]*/True);
                         return;
                      case 
    "5":  // // Zeit deutsch
                         
    $date getdate();
                         
    $hrs $date['hours'];
                         
    $min $date['minutes'];
                         
    $file IPS_GetKernelDir()."sounds\\zeit/" $hrs "uhr.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\zeit/" $min "minute.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         return;
                      case 
    "6"// Zeit englisch
                         
    $file IPS_GetKernelDir()."temp.wav";
                         
    $text "The Time is ".date("H:i");
                         
    TTS_GenerateFile(38200 /*[Media IR\Text To Speech]*/$text$file6);
                         
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         return;
                      case 
    "7":
                         
    $file IPS_GetKernelDir()."sounds\\musik_menue.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/71); // Musik
                         
    return;
                      
    //Aktion wenn falsche Taste gedrückt wird
                      
    default:
                          
    $file IPS_GetKernelDir()."sounds\\nofunction.wav";
                         
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         return;
                }   
    // switch($ISDN_DATA)

                 
    case 31:    // Mega Vote
                      
    if((int)$ISDN_DATA 7) {
                         
    $file IPS_GetKernelDir()."sounds\\eingegeben.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\".$ISDN_DATA.".wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    SetValue(58697 /*[ZBV_Test_QC\Dashboard\Last Vote]*/$ISDN_DATA);
                         
    $file IPS_GetKernelDir()."sounds\\registriert.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    SetValue(21212 /*[ZBV_Test_QC\Dashboard\Mega Vote Anrufer]*/GetValue(21212 /*[ZBV_Test_QC\Dashboard\Mega Vote Anrufer]*/) +1);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."temp.wav";
                         
    $text "Your Call was Number: " .GetValue(21212 /*[ZBV_Test_QC\Dashboard\Mega Vote Anrufer]*/);
                         
    TTS_GenerateFile(38200 /*[Media IR\Text To Speech]*/$text$file6);
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\textnachricht.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                         
    IPS_Sleep($len $delay);
                         
    $file IPS_GetKernelDir()."sounds\\ende.wav";
                         
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                          
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/3); // Menü

                      
    } else {
                         
    $file IPS_GetKernelDir()."sounds\\falsch.wav";
                         
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                      }
                        return;
                           
                   case 
    71:
                   echo 
    $ISDN_DATA;
                         if( 
    $ISDN_DATA == "*") {
                             
    $file IPS_GetKernelDir()."sounds\\lauter.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                               
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetVolume""Volume" => 25));
                             return;
                                }
                                if( 
    $ISDN_DATA == "#") {
                             
    $file IPS_GetKernelDir()."sounds\\leiser.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetVolume""Volume" => 10));
                             return;
                                }
                                if((int)
    $ISDN_DATA ==0) {
                               
    $file IPS_GetKernelDir()."sounds\\stop.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Pause""Sender" => "none"));
                               return;
                                }
                                if((int)
    $ISDN_DATA ==1) {
                               
    $file IPS_GetKernelDir()."sounds\\play.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                               return;
                                }
                                if((int)
    $ISDN_DATA ==2) {
                             
    $file IPS_GetKernelDir()."sounds\\neuer_sender.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/712); // neuer Sender
                             
    return;
                                }
                                
                                if((int)
    $ISDN_DATA ==9) {
                             
    $file IPS_GetKernelDir()."sounds\\hauptmenue.wav";
                                  
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/3); // Hauptmenue
                                   
    return;
                                    }
                                
                             
    $file IPS_GetKernelDir()."sounds\\keine_funktion.wav";
                             
    ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                        return;
                               
                      case 
    712:
                         
    SetValue(23014 /*[ISDN_SMS\ISDN Menü Flag]*/71); // Musik-Menü
                          
    if((int)$ISDN_DATA ==0) {
                             
    $file IPS_GetKernelDir()."sounds\\ndr2.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                               
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://ndr-ndr2-hi-wma.wm.llnwd.net/ndr_ndr2_hi_wma"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                                return;
                                }
                         if((int)
    $ISDN_DATA ==1) {
                             
    $file IPS_GetKernelDir()."sounds\\welle_nord.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                               
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://ndr-ndr1wellenord-hi-wma.wm.llnwd.net/ndr_ndr1wellenord_hi_wma"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                                 return;
                                }
                                if((int)
    $ISDN_DATA ==2) {
                             
    $file IPS_GetKernelDir()."sounds\\klassik_radio.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://players.creacast.com/creacast/klassik/playlist.pls"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                                 return;
                                }
                                if((int)
    $ISDN_DATA ==3) {
                             
    $file IPS_GetKernelDir()."sounds\\chill_musik.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://di.fm/mp3/lounge.pls"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                             return;
                                }
                                if((int)
    $ISDN_DATA ==4) {
                             
    $file IPS_GetKernelDir()."sounds\\jazz.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://www.sky.fm/mp3/smoothjazz.pls"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                             return;
                                }
                                if((int)
    $ISDN_DATA ==5) {
                             
    $file IPS_GetKernelDir()."sounds\\pop.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://lsd.newmedia.nacamar.net/bb/redirect.lsc?content=live&media=mp3&stream=ndr/n-joy.mp3"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                             return;
                                }
                                if((int)
    $ISDN_DATA ==6) {
                             
    $file IPS_GetKernelDir()."sounds\\dance.wav";
                             
    $len ISDN_PlayWave(37323 /*[ISDN_SMS\ISDN Module 49]*/$ISDN_CONNECTION$file);
                             
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "SetRadio""Sender" => "x-rincon-mp3radio://stream2141.init7.net:80"));
                                    
    IPS_Sleep(1000);
                                    
    IPS_RunScriptEx(34210 /*[Media IR\Sonos V2]*/, Array("Befehl" => "Play""Sender" => "none"));
                             return;
                                }
            } 
    // switch($flagisdn)
        
    }
    }

    ?>
    Geändert von steiner (29.04.09 um 13:26 Uhr)

  2. #2
    Registriert seit
    Oct 2007
    Beiträge
    340

    Standard Welche Hardware wird dafür benötigt?

    Hi,

    Welche Hardware wird dafür benötigt?

    Gruß.

  3. #3
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,618

    Zitat Zitat von steiner Beitrag anzeigen
    mein DECT Telefon [..]
    Das anliegende Skript ist für das SONOS System .
    Noch Fragen?!?




    Wenn du mit deiner Frage etwa folgendes sagen wolltest:
    Hääää??? Wie kann man denn sein Telefon mit IPS verbinden?
    Dann wird dich die reichlich belohnen.

Ähnliche Themen

  1. Audio / Video nativ per LAN (Cat5e)
    Von roadsterhh im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 17
    Letzter Beitrag: 21.04.14, 11:45
  2. Automatisches einschalten bei Audio Signal...
    Von epogo im Forum Off Topic
    Antworten: 13
    Letzter Beitrag: 18.04.11, 21:26
  3. Multiroom Audio the Apple way - Teil 2 - Streaming Radio
    Von Olli im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 1
    Letzter Beitrag: 18.03.11, 09:01
  4. Lifestyle per DTMF
    Von steiner im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 15
    Letzter Beitrag: 05.12.09, 21:47
  5. Noxon 2 Audio mit IPS steuern
    Von Rolf-L im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 2
    Letzter Beitrag: 22.03.08, 06:38