+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 11
  1. #1
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard Receiver Pioneer VSX-923 per Lan steuern

    Dieses Skript basiert auf der Arbeit von "mäc" und dem Thread:
    https://www.symcon.de/forum/threads/...er-Lan-steuern

    Die Ansteuerung wurde an den Pioneer VSX-923 angepasst, sollte wohl auch für diese Geräte (SC-LX87, SC-LX77, SC-LX57, SC-2023, SC-1223, VSX-1123, VSX-923) funktionieren, da diese im gleichen Handbuch beschrieben sind.

    Feedback ist gerne erwünscht

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	MR_20170820_210307.jpg 
Hits:	548 
Größe:	180.8 KB 
ID:	40197Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	MR_20170820_205659.jpg 
Hits:	251 
Größe:	66.5 KB 
ID:	40195Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	MR_20170820_205731.jpg 
Hits:	156 
Größe:	20.6 KB 
ID:	40196

    Installationshinweise:

    0.) Skript wurde in IPS 4.3 erstellt
    1.) Leeres Skript erzeugen (Name z.B. "PioneerVSX-923_Install")
    2.) Skript an den Ort (Kategorie,....) verschieben, in dem die Objekte eingebaut werden sollen
    3.) Inhalt für INSTALL-Skript einfügen und CONFIG-Werte im Skript an anpassen
    4.) Install-Skript ausführen
    5.) Haupt-Skript mit Code auffüllen (Achtung: nicht include-Zeilen überschreiben)
    6.) Konstanten-Skript mit Code auffüllen
    7.) Auf der Statusseite des Receivers (http://IP-Adresse) überprüfen/aktivieren, dass der AVR im Standby erreichbar bleibt (Network Standby ON)
    -> Fertig

    Install-Skript:
    PHP-Code:
    <?
    ###################  CONFIG-START  ################### 

    define ('ID_WebFront'"");                // WebFront-ID
    define ('NAME_DEVICE',"Pioneer VSX-923");        // Gerätebenennung
    define ('IP_DEVICE',"");                // AVR IP-Adresse
    define ('PORT_DEVICE',"8102");                    // Kommunikationsport
    // Zum Testen: direkte Kommunikation per telnet (Windows-Taste -> Eingabeaufforderung (CMD) -> telnet 10.0.0.42 8102

    ###################  CONFIG-ENDE  ###################

    if (ID_WebFront=="" or NAME_DEVICE=="" or IP_DEVICE=="" or PORT_DEVICE=="") {echo("CONFIG-Daten unvollständig!"); return;} 

    $ParentID=IPS_GetParent($_IPS['SELF']);

    // dummy instanz erstellen 
    $ID_INSTANZIPS_CREATEINSTANCE("{485D0419-BE97-4548-AA9C-C083EB82E61E}"); 
    IPS_SetParent($ID_INSTANZ$ParentID); 
    IPS_SETName($ID_INSTANZNAME_DEVICE); 


    // cutter instanz erstellen 
    $ID_INSTANZ_CUTTERIPS_CREATEINSTANCE("{AC6C6E74-C797-40B3-BA82-F135D941D1A2}"); 
    IPS_SETName($ID_INSTANZ_CUTTERNAME_DEVICE."_CUTTER");


    // registervariable instanz erstellen 
    $ID_INSTANZ_REGISTERIPS_CREATEINSTANCE("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}"); 
    IPS_SetParent($ID_INSTANZ_REGISTER$ID_INSTANZ_CUTTER); 
    IPS_SETName($ID_INSTANZ_REGISTERNAME_DEVICE."_REGISTER"); 

    // client socket instanz erstellen 
    $ID_INSTANZ_SOCKETIPS_CREATEINSTANCE("{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}"); 
    IPS_SETName($ID_INSTANZ_SOCKETNAME_DEVICE."_SOCKET"); 
    CSCK_SetHost($ID_INSTANZ_SOCKET,IP_DEVICE); 
    CSCK_SetPort($ID_INSTANZ_SOCKET,PORT_DEVICE);
    IPS_SetProperty($ID_INSTANZ_SOCKET"Open"true);

    //dummy pioneer script für konstanten anlegen in das dann der inhalt einkopiert werden muss 
    $ID_PIONEER_SCRIPT_CONFCreateScriptByName(NAME_DEVICE."_Const"$ID_INSTANZ"<?\r\r?>");


    //dummy pioneer script anlegen in das dann der inhalt einkopiert werden muss  
    $ID_PIONEER_SCRIPTCreateScriptByName(NAME_DEVICE$ID_INSTANZ"<?\r\r?>");


    // timer der das script zykisch aufruft für power in abfrage 
    $ID_EVENT IPS_CreateEvent (1); 
    IPS_SetEventCyclic($ID_EVENT210025);   //Jeden Tag jede 5 Minuten 
    IPS_SetParent($ID_EVENT$ID_PIONEER_SCRIPT); 
    IPS_SetEventActive($ID_EVENTtrue);  // Aktivert Ereignis 


    // cutter,socket und register einrichten 
    IPS_ConnectInstance($ID_INSTANZ_REGISTER$ID_INSTANZ_CUTTER); 
    RegVar_SetRXObjectID($ID_INSTANZ_REGISTER$ID_PIONEER_SCRIPT); 
    Cutter_SetParseType($ID_INSTANZ_CUTTER0); 
    Cutter_SetRightCutChar($ID_INSTANZ_CUTTER"\r\n"); 
    IPS_ConnectInstance($ID_INSTANZ_CUTTER$ID_INSTANZ_SOCKET); 
     
    IPS_ApplyChanges($ID_INSTANZ_SOCKET); 
    IPS_ApplyChanges($ID_INSTANZ_CUTTER); 
    IPS_ApplyChanges($ID_INSTANZ_REGISTER); 



    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_VOLUME")) 
    IPS_DeleteVariableProfile("AVR_VOLUME"); 
    IPS_CreateVariableProfile ("AVR_VOLUME"); 
    IPS_SetVariableProfileText ("AVR_VOLUME""""%" ); 
    IPS_SetVariableProfileValues ("AVR_VOLUME"40161 ); 
    IPS_SetVariableProfileIcon("AVR_VOLUME""Speaker");

    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_LISTENINGMODE"))
    IPS_DeleteVariableProfile("AVR_LISTENINGMODE"); 
    IPS_CreateVariableProfile ("AVR_LISTENINGMODE"); 
    IPS_SetVariableProfileIcon("AVR_LISTENINGMODE""Music");
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"1"Auto.SURR/ALC/Direct""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"2"Std.SURR""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"3"Adv.SURR""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_LISTENINGMODE_EXT"))
    IPS_DeleteVariableProfile("AVR_LISTENINGMODE_EXT"); 
    IPS_CreateVariableProfile ("AVR_LISTENINGMODE_EXT"); 
    IPS_SetVariableProfileIcon("AVR_LISTENINGMODE_EXT""Music");
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"1"STEREO""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"2"EXTENDED STEREO""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"3"DOLBY PROLOGIC""", -1);
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"4"DOLBY PLII MUSIC""", -1);
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"5"Auto Level Control (A.L.C.)""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_KEYLOCK"))
    IPS_DeleteVariableProfile("AVR_KEYLOCK"); 
    IPS_CreateVariableProfile ("AVR_KEYLOCK"); 
    IPS_SetVariableProfileIcon("AVR_KEYLOCK""Lock");
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"0"Aus""", -1); 
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"1"Ein""", -1); 
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"2"Ein + Vol Lock""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_INTERNETRADIOBUTTONS"))
    IPS_DeleteVariableProfile("AVR_INTERNETRADIOBUTTONS"); 
    IPS_CreateVariableProfile ("AVR_INTERNETRADIOBUTTONS"); 
    IPS_SetVariableProfileIcon("AVR_INTERNETRADIOBUTTONS""Shutter");
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"0"Stop""", -1);
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"1"Play""", -1); 
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"2"Ch -""", -1); 
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"3"Ch +""", -1);
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"4"Display""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_FUNCTION"))
    IPS_DeleteVariableProfile("AVR_FUNCTION"); 
    IPS_CreateVariableProfile ("AVR_FUNCTION"); 
    IPS_SetVariableProfileIcon("AVR_FUNCTION""Shutter");
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"0"Diveres""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"2"Tuner""", -1); 
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"4"XBox""", -1); 
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"17"USB""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"25"BD""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"26"NET""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"38"Webradio""", -1);

    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_DISPLAY"))
    IPS_DeleteVariableProfile("AVR_DISPLAY"); 
    IPS_CreateVariableProfile ("AVR_DISPLAY"); 
    IPS_SetVariableProfileIcon("AVR_DISPLAY""Information");
    IPS_SetVariableProfileAssociation("AVR_DISPLAY"0"Change""", -1);


    // Variablen anlegen
    $VarID_Power=    CreateVarByName(2"Power",                        "0"null,            $ID_INSTANZ"~Switch",                    $ID_PIONEER_SCRIPTfalse);
    $VarID_KeyLock=    CreateVarByName(4"KeyLock",                    "1"null,             $ID_INSTANZ"AVR_KEYLOCK",                $ID_PIONEER_SCRIPTfalse);
    $VarID_Display=    CreateVarByName(6"Display",                    "3""Information"$ID_INSTANZ"~String",                 null,                false);
    $VarID_DisplCh=    CreateVarByName(8"Display Change",            "1""Information"$ID_INSTANZ"AVR_DISPLAY",                $ID_PIONEER_SCRIPT,    false);
    $VarID_dB=        CreateVarByName(10"dB",                        "3""Speaker",     $ID_INSTANZ"~String",                 null,                false);
    $VarID_Vol=        CreateVarByName(12"Volume",                    "1"null,            $ID_INSTANZ"AVR_VOLUME",                $ID_PIONEER_SCRIPTfalse);
    $VarID_Mute=    CreateVarByName(14"Mute",                        "0""Sleep",        $ID_INSTANZ"~Switch",                    $ID_PIONEER_SCRIPTfalse);
    $VarID_Fkt=        CreateVarByName(16"Function",                    "1"null,            $ID_INSTANZ"AVR_FUNCTION",            $ID_PIONEER_SCRIPTfalse);
    $VarID_ALM=        CreateVarByName(18"Active Listening Mode",    "3""Music",        $ID_INSTANZ"~String",                    null,                false);
    $VarID_LM=        CreateVarByName(20"Listening Mode",            "1"null,            $ID_INSTANZ"AVR_LISTENINGMODE",        $ID_PIONEER_SCRIPTfalse);
    $VarID_LM_Ext=    CreateVarByName(22"Listening Mode, extended",    "1"null,            $ID_INSTANZ"AVR_LISTENINGMODE_EXT",    $ID_PIONEER_SCRIPTfalse);
    $VarID_WebRStn=    CreateVarByName(24"WebRadio Station",            "3"null,            $ID_INSTANZ"~HTMLBox",                null,                true);
    $VarID_WebRadio=CreateVarByName(26"WebRadio",                    "1"null,            $ID_INSTANZ"AVR_INTERNETRADIOBUTTONS",$ID_PIONEER_SCRIPTfalse);
    $VarID_WebRBtn=    CreateVarByName(28"WebRadio Button",            "1"null,            $ID_INSTANZnull,                        $ID_PIONEER_SCRIPTtrue);


    // Script mit Variablen-Definitionen für das Haupt-Skript anlegen 
    $SText="<?\r"
    $SText.="// Erzeugt von INSTALL_SCRIPT\r";
    $SText.="// Variablen-Definitionen für das Haupt-Skript\r"
    $SText.="\r";
    $SText.="define ('NAME_DEVICE','".NAME_DEVICE."');\r";
    $SText.="define ('ID_WEBFRONT', ".ID_WebFront.");\r";
    $SText.="define ('ID_SOCKET', ".$ID_INSTANZ_SOCKET.");\r";
    $SText.="define ('IP_DEVICE','".IP_DEVICE."'); //AVR IP-Adresse;\r"
    $SText.="define ('PORT_DEVICE','".PORT_DEVICE."'); // Kommunikationsport \r";
    $SText.="\r";
    $SText.="define ('ID_POWER', ".$VarID_Power.");\r";
    $SText.="define ('ID_KEYLOCK', ".$VarID_KeyLock.");\r";
    $SText.="define ('ID_DISPLAY', ".$VarID_Display.");\r"
    $SText.="define ('ID_DISPLAY_CHANGE', ".$VarID_DisplCh.");\r";
    $SText.="define ('ID_VOL_DB', ".$VarID_dB.");\r";
    $SText.="define ('ID_VOL', ".$VarID_Vol.");\r";
    $SText.="define ('ID_MUTE', ".$VarID_Mute.");\r"
    $SText.="define ('ID_FUNCTION', ".$VarID_Fkt.");\r";
    $SText.="define ('ID_LISTENING_MODE', ".$VarID_ALM.");\r"
    $SText.="define ('ID_CHANGE_LISTENING_MODE', ".$VarID_LM.");\r"
    $SText.="define ('ID_CHANGE_LISTENING_MODE_EXT', ".$VarID_LM_Ext.");\r";
    $SText.="define ('ID_INET_RADIO', ".$VarID_WebRadio.");\r";
    $SText.="define ('ID_INET_RADIO_BUTTONS', ".$VarID_WebRStn.");\r"
    $SText.="define ('ID_INET_STATION', ".$VarID_WebRBtn.");\r";
    $SText.="?>\r"

    $ID_PIONEER_SCRIPT_VARSCreateScriptByName(NAME_DEVICE."_Vars"$ID_INSTANZ$SText);


    // INCLUDE-Daten in Hauptskript eintragen
    $SText="<?\r"
    $SText.="// Erzeugt von INSTALL_SCRIPT\r";
    $SText.="// ########### INCLUDE-START ###########\r";
    $SText.="include(IPS_GetScriptFile(".$ID_PIONEER_SCRIPT_CONF."));\r";
    $SText.="include(IPS_GetScriptFile(".$ID_PIONEER_SCRIPT_VARS."));\r";
    $SText.="// ########### INCLUDE-ENDE  ###########\r\r";
    $SText.="// ########### AB HIER HAUPT-SKRIPT EINFÜGEN  ###########\r";
    $SText.="?>\r"
    IPS_SetScriptContent($ID_PIONEER_SCRIPT$SText);


    // Funktion zum erstellen eines Variablen 
    // 
    // Parameter: 
    // VarNAME      = Name wie die Variable im Objektbaum heissen soll
    // VarTyp        = Typ der Variablen (0=Boolean, 1=Integer, 2=Float, 3=String)
    // Icon            = Icon für Variable, wenn nicht aus Profil
    // ParentID     = Objekt ID unter der das Script untergehangen wird
    // Profil        = Name des Profils 
    // ScriptID     = Aktionsskript ID
    // Position        = Reihenfolge im Objektbaum 
    // Hidden        = Variable unsichtbar (true|false)

    function CreateVarByName($Position$VarNAME$VarTyp$Icon$ParentID$Profil$ScriptID$Hidden
     { 
     global 
    $IPS_SELF
     
    $VarID = @IPS_GetVariableIDByName($VarNAME$ParentID); 
     if (
    $VarID == 0){ 
      
    $VarID IPS_CreateVariable($VarTyp); 
      
    IPS_SetName($VarID$VarNAME); 
      
    IPS_SetParent($VarID$ParentID);
      
    IPS_SetVariableCustomProfile($VarID$Profil); 
      
    IPS_SetVariableCustomAction($VarID$ScriptID);    
      
    IPS_SetPosition($VarID$Position);
      
    IPS_SetIcon($VarID$Icon);
      
    IPS_SetHidden($VarID$Hidden);
     } 
    return 
    $VarID



    // Funktion zum erstellen eines Scripts 
    // 
    // Parameter: 
    // ScriptNAME  = Name wie das Script im Objektbaum heissen soll 
    // ParentID    = Objekt ID unter der das Script untergehangen wird 
    // ScriptTEXT  = Inhalt der Scriptdatei 

    function CreateScriptByName($ScriptNAME$ParentID$ScriptTEXT

     { 
     global 
    $IPS_SELF
     
    $ScriptID = @IPS_GetScriptIDByName($ScriptNAME$ParentID); 
     if (
    $ScriptID == 0){ 
      
    $ScriptID IPS_CreateScript(0); 
      
    IPS_SetName($ScriptID$ScriptNAME); 
      
    IPS_SetParent($ScriptID$ParentID); 
      
    IPS_SetInfo($ScriptID"This script was created by: #$IPS_SELF#"); 
      
    IPS_SetScriptContent($ScriptID$ScriptTEXT);
      
    IPS_SetHidden($ScriptIDtrue); 
      
    IPS_SetPosition($ScriptID98); 
     } 
    return 
    $ScriptID
    }
    Haupt-Skript:
    PHP-Code:

    $INET_RADIO_HIDDEN
    =true;

    // aufruf per register variable, script oder webfront?
    if($IPS_SENDER == "RegisterVariable") {
        
    // daten aus dem cutter aufruf registervariable
        
    $data=$IPS_VALUE;
        
    // echo $data ;

        // lange zeile? dann war es die display anzeige
        
    if (strlen($data) ==32 )
        {
            
    // display
            
    $display hex2str($data);
            
    //echo $display;

            // display variable updaten
            
    SetValueString(ID_DISPLAY$display);

            
    // solange daten kommen ist das gerät an. aber dann jedesmal die power variable updaten und prüfen ist zu langsam
        
    }
        else
        {
           
    // befehl bzw. antwort parsen
          // funktionen gibt es mit drei und zwei zeichen
          
    $lv_fkt1 substr($data,0,1);  // funktion ersten 1 zeichen
          
    $lv_val1 substr($data,1,3);  // value die letzten zeichen 
          
    $lv_fkt2 substr($data,0,2);  // funktion ersten 2 zeichen
          
    $lv_val2 substr($data,2,4);  // value die letzten zeichen
          
    $lv_fkt3 substr($data,0,3);  // funktion ersten 3 zeichen
          
    $lv_val3 substr($data,3,3);  // value die letzten zeichen
          
            
            // Fehlermeldungen
            /*
            E02<CR+LF>    NOT AVAILABLE NOW
            E03<CR+LF>    INVALID COMMAND
            E04<CR+LF>    COMMAND ERROR
            E06<CR+LF>    PARAMETER ERROR
            B00<CR+LF>    BUSY
            */
            
    if ($lv_fkt1=="E" or $lv_fkt1=="B")
            {
                if (
    $lv_val1=="00")    {SetValue(ID_DISPLAY"BUSY");}
                if (
    $lv_val1=="02")    {SetValue(ID_DISPLAY"NOT AVAILABLE NOW");}
                if (
    $lv_val1=="03")    {SetValue(ID_DISPLAY"INVALID COMMAND");}
                if (
    $lv_val1=="04")    {SetValue(ID_DISPLAY"COMMAND ERROR");}
                if (
    $lv_val1=="06")    {SetValue(ID_DISPLAY"PARAMETER ERROR");}

            }

            
            
    // Status AVR EIN-Standby-AUS
            
    if ($lv_fkt3=="PWR")
            {
                if (
    $lv_val3==0
                {
                echo 
    $NAME_DEVICE." ist EIN";
                
    // gerät eingeschaltet, aber variable nicht erneut setzen wenn schon on
                   
    if (GetValue(ID_POWER)==false)
                      {
                       echo 
    "Now ON";
                       
    SetValue(ID_POWER,true);
            
                        
    // prüfkommando nur beim einschalten absenden
                        // regelmäßige prüfung nicht notwendig da bei fernbedienungsaktionen die anworten empfangen werden
                        
    $ret sendCommand("?V");     // welche lautstärke
                        
    $ret sendCommand("?M");     // mute
                        
    $ret sendCommand("?F");     // funktion
                        
    $ret sendCommand("?L");     // listening mode
                        
    $ret sendCommand("?PKL");   // keylock
                        
                        
    avOn();        // variablen, schalter einblenden
                    
    }
                }
                if (
    $lv_val3==1
                {
                    echo 
    $NAME_DEVICE." ist Standby";
                    
    // gerät ausgeschaltet, aber variable nicht erneut setzen wenn schon off
                       
    if (GetValue(ID_POWER)==true)
                      {
                       
    SetValue(ID_POWER,false);
                    
    avOff();        // variablen, schalter ausblenden
                    
    }
                }
            }
            
    // lautstärke
            
    if ($lv_fkt3=="VOL")
            {
               
    // umrechnung des wertes in dB quelle: pioneer javascript
               // echo (($lv_val3-161)*0.5)."dB";

                // verstärker anzeige in dB. Rückgabe aber als Integer einfach als Prozent übernehmen
                // nur bei veränderung aktualisieren
                
    SetValue(ID_VOL_DB,(($lv_val3-161)*0.5)."dB"); //dB-Wert anzeigen
                
    if (GetValue(ID_VOL) != $lv_val3)
                {
                    
    SetValue(ID_VOL,$lv_val3);
                }
            }

            
    // mute
            
    if ($lv_fkt3=="MUT")
              {
                 
    // mute ändern nur wenn die variable nicht aktuell ist
                
    if($lv_val3=="1" && GetValue(ID_MUTE)==true)
                {
                    
    SetValue(ID_MUTE,false);    // mute off
                
    }
                if(
    $lv_val3=="0" && GetValue(ID_MUTE)==false)
                {
                    
    SetValue(ID_MUTE,true);    // mute on
                
    }
            }
            
    // funktion (eingänge)
            
    if ($lv_fkt2=="FN")
            
    #var_dump($lv_fkt2);
              
    {
                 
    // funktion ändern nur wenn die variable nicht aktuell ist
                
    if (GetValue(ID_FUNCTION) != $lv_val2)
                {
                    
    // liste der gültigen funktionen
                    
    if ($lv_val2==38 || $lv_val2==26 || $lv_val2==19 || $lv_val2==17 || $lv_val2==20 || $lv_val2==|| $lv_val2==2)
                    {
                       
    SetValue(ID_FUNCTION,$lv_val2);    // funktion setzen
                    
    }
                     else
                     {
                        echo 
    "integer".(integer)$lv_val2;
                        
    SetValue(ID_FUNCTION,0);    // funktion =0 also diverses für die keine schaltfläche hinterlegt sind. bzw nicht gebraucht werden.
                     
    }
                 }

                
    // wenn internet radio und die optionen noch nicht eingeblendet dann einblenden.
                
    if (($lv_val2==26 || $lv_val2==38)&& $INET_RADIO_HIDDEN==true)
                {
                   
    // inet radion steuerung einblenden. methode führt refresh automstisch aus
                   
    InetRadioOn();
                }
                else
                {
                   
    // inet radion steuerung einblenden. methode führt refresh automstisch aus
                   
    InetRadioOff();
                }

            }
            
    // listening mode
            
    if ($lv_fkt2=="LM")
            {
                echo 
    "Listening Mode".$lv_val2;
               
    SetValue(ID_LISTENING_MODE,$listening[$lv_val2]);    //
             
    }
             
    // key lock
            
    if ($lv_fkt3=="PKL")
            {
                
    //echo "Key Lock".$lv_val3;
               
    SetValue(ID_KEYLOCK,$lv_val3);    //
             
    }
             
    // request input name
            
    if ($lv_fkt3=="RGB")
            {
                echo 
    "request input name".$lv_val3;
               
    //SetValue(ID_KEYLOCK,$lv_val3);    //
             
    }

        }
    }
    if(
    $IPS_SENDER == "WebFront") {

        
    // aktion per webfront
        
        // TODO: anpassen auf das installscript
        // internetradio buttons
        
    if ($IPS_VARIABLE==ID_INET_RADIO)
        {
           
    //echo "test ".$IPS_VALUE;
           
    SetValue(ID_INET_RADIO,$IPS_VALUE);    //

            // letzten Status merken ob play oder stop
            
    if ($IPS_VALUE<=1)
             
    SetValue(ID_INET_RADIO_BUTTONS,$IPS_VALUE);    //
           
           
    if ($IPS_VALUE == 0)
           {
               
    $ret sendCommand("20NW");
           }
           if (
    $IPS_VALUE == 1)
               
    $ret sendCommand("10NW");
           if (
    $IPS_VALUE == 2)
               
    $ret sendCommand("12NW");
           if (
    $IPS_VALUE == 3)
               
    $ret sendCommand("13NW");
          if (
    $IPS_VALUE == 4)
               
    $ret sendCommand("18NW");
               
            
    // da die buttons nicht dauerhaft aktiv sein können, wird einfach der wert -1 gesetzt, so
            // ist keiner aktiv, aber nur bei aktionen >1
            
    if ($IPS_VALUE>1)
              
    SetValue(ID_INET_RADIOGetValue(ID_INET_RADIO_BUTTONS));    //
        
    }
        
        
    /* MR
        // power schalter
        if ($IPS_VARIABLE==ID_POWER)
        {
           // je nach zustand ausschalten. einschalten geht nicht über lan!
           if ($IPS_VALUE == true)
           {
              // wenn der pioneer eingeschaltet ist und dann vom netz getrennt wird und danach wieder strom bekommt
              // behält er den letzten zustand. fazit: schaltbare steckdose
              // nachteil: dann ggf. einschalten über die fernbedienung nicht mehr möglich
              //
              // wenn auf true gewechelt, dann kein wechsel vornehmen da einschalten nicht möglich
               //SetValue($ID_POWER, false);
               
               //socket aktualisieren da unter umständen keine verbinung zustande kommt
               IPS_ApplyChanges(ID_SOCKET);
           }
           else
            {
                $ret = sendCommand("PF");             /// ausschaltbefehl
               SetValue(ID_POWER, $IPS_VALUE);     // varaible für power off setzen
               avOff();                                        // variablen + schalter ausblenden
           }
        }
        MR */
        
            
    if ($IPS_VARIABLE==ID_POWER)
        {
           
    // je nach zustand ausschalten. einschalten geht - wenn vom receiver erlaubt - auch über lan!
           
    if ($IPS_VALUE == true)
           {
               
    $ret sendCommand("PO");              // einschaltbefehl
               
    SetValue(ID_POWER$IPS_VALUE);        // varaible für power on setzen
               
    avOn();                                // variablen + schalter einblenden
             
    }                                           
           else
            {
               
    $ret sendCommand("PF");              // ausschaltbefehl
               
    SetValue(ID_POWER$IPS_VALUE);        // varaible für power off setzen
               
    SetValue(ID_DISPLAY"");              // bei aus das diplay löschen
               
    avOff();                               // variablen + schalter ausblenden
           
    }

        }

        
    // display schalter zur statusabfrage
        
    if ($IPS_VARIABLE==ID_DISPLAY)
        {
            
    $ret sendCommand("STS");     // Display Status abfrage, ergebnis wird nach und nach angezeigt    
         
    }

        
    // display change zur Umschaltung statusanzeige
        
    if ($IPS_VARIABLE==ID_DISPLAY_CHANGE)
        {
            
    $ret sendCommand("18NW");     // Display Anzeige umschalten    
         
    }

        
    // mute schalter
        
    if ($IPS_VARIABLE==ID_MUTE)
        {
           
    // je nach zustand ausschalten. einschalten geht nicht über lan!
           
    if ($IPS_VALUE == true)
           {
                
    $ret sendCommand("MO");     // mute on
               
    SetValue(ID_MUTE$IPS_VALUE);
           }
           else
            {
                
    $ret sendCommand("MF");     // mute off
               
    SetValue(ID_MUTE$IPS_VALUE);
           }
        }

        
    // lautstärke schalter
        
    if ($IPS_VARIABLE==ID_VOL)
        {
           
    //echo $IPS_VALUE."VL";
           
    if (GetValue(ID_VOL) != $IPS_VALUE )
           {
              
    // Werte von 0 bis 161(voll aufgedreht)
              // so muss auch das profil der volumen variablen angelegt sein.
                #MR $ret = sendCommand($IPS_VALUE."VL");     // vol direkt setzen
                   #MR SetValue(ID_VOL, $IPS_VALUE);
                
    $ret sendCommand(str_pad($IPS_VALUE3"0"STR_PAD_LEFT)."VL");     // vol direkt setzen
                   
    SetValue(ID_VOL$IPS_VALUE);
           }
        }

        
    // funktions schalter
        
    if ($IPS_VARIABLE==ID_FUNCTION)
        {
           
    //echo $IPS_VALUE."FN";
           
    if (GetValue(ID_FUNCTION) != $IPS_VALUE )
           {
              
    // einstelige zahlen mit 0 voranstellen
              
    $tmp_val substr("0".$IPS_VALUE,-2);
                
    $ret sendCommand($tmp_val."FN");     // Funktion direkt setzen

                // bei internetradio ein und ausblenden
               
    if ($IPS_VALUE==26 || $IPS_VALUE==38)
               {
                  
    InetRadioOn();
             }
             if (
    GetValue(ID_FUNCTION)==26|| $IPS_VALUE==38)
               {
                  
    InetRadioOff();
             }
             
             
    SetValue(ID_FUNCTION$tmp_val);
           }
        }

        
    // listening mode schalter
        
    if ($IPS_VARIABLE==ID_CHANGE_LISTENING_MODE)
        {
            if (
    $IPS_VALUE=="1") {$ret sendCommand("0005SR");}        // AUTO SURR/STREAM DIRECT (cyclic)
            
    else if ($IPS_VALUE=="2") {$ret sendCommand("0010SR");}    // STANDARD (cyclic)
            
    else if ($IPS_VALUE=="3") {$ret sendCommand("0100SR");}    // ADVANCED SURROUND (cyclic)
            // einstelige zahlen mit 0 voranstellen
            //$tmp_val = substr("0".$IPS_VALUE,-2);
            //$ret = sendCommand($tmp_val."FN");     // Funktion direkt setzen
               
    SetValue(ID_CHANGE_LISTENING_MODE$IPS_VALUE);
            
    SetValue(ID_CHANGE_LISTENING_MODE_EXT0);
        }
        
        
    // extendet listening mode schalter
        
    if ($IPS_VARIABLE==ID_CHANGE_LISTENING_MODE_EXT)
        {
            if (
    $IPS_VALUE=="1") {$ret sendCommand("0009SR");}        // STEREO (direct set)
            
    else if ($IPS_VALUE=="2") {$ret sendCommand("0112SR");}    // EXTENDED STEREO
            
    else if ($IPS_VALUE=="3") {$ret sendCommand("0012SR");}    // DOLBY PROLOGIC
            
    else if ($IPS_VALUE=="4") {$ret sendCommand("0014SR");}    // DOLBY PLII MUSIC
            
    else if ($IPS_VALUE=="5") {$ret sendCommand("0151SR");}    // Auto Level Control (A.L.C.)    
            // einstelige zahlen mit 0 voranstellen
            //$tmp_val = substr("0".$IPS_VALUE,-2);
            //$ret = sendCommand($tmp_val."FN");     // Funktion direkt setzen
               
    SetValue(ID_CHANGE_LISTENING_MODE_EXT$IPS_VALUE);
            
    SetValue(ID_CHANGE_LISTENING_MODE0);
        }    
        
        
        
        
    // key lock schalter
        
    if ($IPS_VARIABLE==ID_KEYLOCK)
        {
        
    setValue(ID_KEYLOCK,$IPS_VALUE);
        
    $ret sendCommand($IPS_VALUE."PKL");     // key lock setzen
           
    }
    }

    // zeitliche events abfragen
    if($IPS_SENDER == "TimerEvent") {

        
    // aktion per timer (hearth beat script)

        // Socket prüfung funktioniert nicht. daher die ping variante
        // hearthbeat für power on
        
    $ret sendCommand("?P");     // Prüfung ob AVR EIN/AUS/Standby
        
        #MR if (Sys_Ping($IP_DEVICE, 1000) )
    /*
       {
        #echo "PWR0 (EIN)";
           // gerät eingeschaltet, aber variable nicht erneut setzen wenn schon on
           if (GetValue(ID_POWER)==false)
              {
               echo "Now ON";
               SetValue(ID_POWER,true);

                // prüfkommando nur beim einschalten absenden
                // regelmäßige prüfung nicht notwendig da bei fernbedienungsaktionen die anworten empfangen werden
                $ret = sendCommand("?V");     // welche lautstärke
                $ret = sendCommand("?M");     // mute
                $ret = sendCommand("?F");     // funktion
                $ret = sendCommand("?L");     // listening mode
                $ret = sendCommand("?PKL");   // keylock
                
                avOn();        // variablen, schalter einblenden
            }
       }
          if ($ret=="PWR1") //PWR0=EIN, PRW1=Standby
         {

        // gerät ausgeschaltet, aber variable nicht erneut setzen wenn schon off
           if (GetValue(ID_POWER)==true)
              {    
               SetValue(ID_POWER,false);
                avOff();        // variablen, schalter ausblenden
           }
       }
       */
    }

    // funktion um die hexzeile vom reciever in ascii zu decodieren
    function hex2str($hex)
    {
        
    // die ersten  zeichen gehören zur funktionsart
        
    $hex substr($hex,4,strlen($hex) - 4);

        
    //echo $hex;
        // TODO: for schleife ist eigentlich zu langsam, gibt es was besseres?
        
    $str="";
        for(
    $i=0;$i<strlen($hex);$i+=2)
        {
            
    $str.=chr(hexdec(substr($hex,$i,2)));
        }
        return 
    $str;
    }

    function 
    sendCommand($com)
    {
        
    $feedbackCSCK_SendText(ID_SOCKET$com.chr(13));

        return 
    $feedback;
    }

    // av reciver on - also bedienelemente sichtbar machen
    function avOn()
    {
        
    // power wurde nicht ausgeblendet
        
    IPS_SetHidden(ID_MUTEfalse);
        
    IPS_SetHidden(ID_VOLfalse);
        
    IPS_SetHidden(ID_FUNCTIONfalse);
        
    IPS_SetHidden(ID_LISTENING_MODEfalse);
        
    IPS_SetHidden(ID_CHANGE_LISTENING_MODE_EXTfalse);
        
    IPS_SetHidden(ID_DISPLAYfalse);
        
    IPS_SetHidden(ID_CHANGE_LISTENING_MODEfalse);
        
    IPS_SetHidden(ID_KEYLOCKfalse);
        
    IPS_SetHidden(ID_DISPLAY_CHANGEfalse);
        
    IPS_SetHidden(ID_VOL_DBfalse);
        
    // beim einschalten ist ggf. noch der modus internetradio aktiv gewesen. dann aktivieren damit danach das ausblenden funktioniert
        
    if (GetValue(ID_FUNCTION) == 26 || GetValue(ID_FUNCTION) == 38)
        {
           
    // inet radion steuerung einblenden. methode führt refresh automstisch aus
           
    InetRadioOn();
        }
    }

    // av reciver off - also bedienelemente ausblenden, dadurch kein exception handling im script
    function avOff()
    {
        
    // power bleibt immer sichtbar damit bleibt es beim zusammenklappen im webfront (oder falls mal einschalten geht)
        // das diplay löschen damit im ausgeschalteten zustand nicht ein alter text stehen bleibt.
        
    SetValue(ID_DISPLAY" ");           // bei aus das diplay löschen
        // andere elemente ausblenden
        
    IPS_SetHidden(ID_MUTEtrue);
        
    IPS_SetHidden(ID_VOLtrue);
        
    IPS_SetHidden(ID_FUNCTIONtrue);
        
    IPS_SetHidden(ID_LISTENING_MODEtrue);
        
    IPS_SetHidden(ID_DISPLAYtrue);
        
    IPS_SetHidden(ID_LISTENING_MODEtrue);
        
    IPS_SetHidden(ID_CHANGE_LISTENING_MODE_EXTtrue);
        
    IPS_SetHidden(ID_CHANGE_LISTENING_MODEtrue);
        
    IPS_SetHidden(ID_KEYLOCKtrue);
        
    IPS_SetHidden(ID_DISPLAY_CHANGEtrue);
        
    IPS_SetHidden(ID_VOL_DBtrue);
        
        
    InetRadioOff();
    }

    // TODO: ins installscript übernehmen
    function InetRadioOn()
    {
        
    $INET_RADIO_HIDDENfalse;
        
    IPS_SetHidden(ID_INET_RADIOfalse);
        
    #MR IPS_SetHidden(ID_INET_STATION, false);
        
        #MR $html = ReadStationList();
        #MR setValue(ID_INET_STATION,$html);

    }

    function 
    InetRadioOff()
    {
       
    $INET_RADIO_HIDDEN=true;
        
    IPS_SetHidden(ID_INET_RADIOtrue);
        
    #MR IPS_SetHidden(ID_INET_STATION, true);


    Konstanten-Skript:
    PHP-Code:
    // function_list (VSX-923)
    // funktionen ggf umbenenen falls diese auch im gerät umbenannt wurden
    $function_list = array(
    # "00" => "PHONO", //nicht im 923
    "01" => "CD",
    "02" => "TUNER",
    "04" => "DVD",
    "05" => "TV",
    "06" => "SAT/CBL",
    "10" => "VIDEO 1(VIDEO)",
    "12" => "MULTI CH IN",
    "13" => "USB-DAC",
    "15" => "DVR/BDR",
    "17" => "iPod/USB",
    "19" => "HDMI 1",
    "20" => "HDMI 2",
    "21" => "HDMI 3",
    "22" => "HDMI 4",
    "23" => "HDMI 5",
    "24" => "HDMI 6",
    "25" => "BD",
    "26" => "NETWORK (cyclic)",
    "31" => "HDMI (cyclic)",
    "33" => "ADAPTER PORT",
    "34" => "HDMI 7",
    "35" => "HDMI 8",
    "38" => "INTERNET RADIO",
    "41" => "PANDORA",
    "44" => "MEDIA SERVER",
    "45" => "FAVORITES",
    "48" => "MHL"
    );


    // listening modes for Display(VSX-923)
    $listening = array(
    "0101" => "DOLBY PLIIx MOVIE",
    "0102" => "DOLBY PLII MOVIE",
    "0103" => "DOLBY PLIIx MUSIC",
    "0104" => "DOLBY PLII MUSIC",
    "0105" => "DOLBY PLIIx GAME",
    "0106" => "DOLBY PLII GAME",
    "0107" => "DOLBY PROLOGIC",
    "0108" => "Neo:6 CINEMA",
    "0109" => "Neo:6 MUSIC",
    "010c" => "2ch Straight Decode",
    "010d" => "DOLBY PLIIz HEIGHT",
    "010e" => "WIDE SURR MOVIE",
    "010f" => "WIDE SURR MUSIC",
    "0110" => "STEREO",
    "0111" => "Neo:X CINEMA",
    "0112" => "Neo:X MUSIC",
    "0113" => "Neo:X GAME",
    "0201" => "ACTION",
    "0202" => "DRAMA",
    "0208" => "ADVANCEDGAME",
    "0209" => "SPORTS",
    "020a" => "CLASSICAL  ",
    "020b" => "ROCK/POP  ",
    "020d" => "EXT.STEREO ",
    "020e" => "PHONES SURR.",
    "020f" => "FRONT STAGE SURROUND ADVANCE",
    "0211" => "SOUND RETRIEVER AIR",
    "0212" => "ECO MODE 1",
    "0213" => "ECO MODE 2",
    "0301" => "DOLBY PLIIx MOVIE +THX",
    "0302" => "DOLBY PLII MOVIE +THX",
    "0303" => "DOLBY PL +THX CINEMA",
    "0305" => "THX CINEMA",
    "0306" => "DOLBY PLIIx MUSIC +THX",
    "0307" => "DOLBY PLII MUSIC +THX",
    "0308" => "DOLBY PL +THX MUSIC",
    "030a" => "THX MUSIC",
    "030b" => "DOLBY PLIIx GAME +THX",
    "030c" => "DOLBY PLII GAME +THX",
    "030d" => "DOLBY PL +THX GAMES",
    "0310" => "THX GAMES",
    "0311" => "DOLBY PLIIz +THX CINEMA",
    "0312" => "DOLBY PLIIz +THX MUSIC",
    "0313" => "DOLBY PLIIz +THX GAMES",
    "0314" => "Neo:X CINEMA + THX CINEMA",
    "0315" => "Neo:X MUSIC + THX MUSIC",
    "0316" => "Neo:X GAMES + THX GAMES",
    // "0401" => "STEREO",
    "0401" => "AUTO SURROUND",
    "0402" => "DOLBY PLII MOVIE",
    "0403" => "DOLBY PLIIx MOVIE",
    "0405" => "AUTO SURROUND Straight Decode",
    "0406" => "DOLBY DIGITAL EX",
    "0407" => "DOLBY PLIIx MOVIE",
    "0408" => "DTS +Neo:6",
    "0409" => "ES MATRIX",
    "040a" => "ES DISCRETE",
    "040b" => "DTS-ES 8ch",
    "040e" => "RETRIEVER AIR",
    "040f" => "Neo:X CINEMA",
    // "0501" => "STEREO",
    "0501" => "ALC",
    "0502" => "DOLBY PLII MOVIE",
    "0503" => "DOLBY PLIIx MOVIE",
    "0504" => "DTS/DTS-HD",
    "0505" => "ALC Straight Decode",
    "0506" => "DOLBY DIGITAL EX",
    "0507" => "DOLBY PLIIx MOVIE",
    "0508" => "DTS +Neo:6",
    "0509" => "ES MATRIX",
    "050a" => "ES DISCRETE",
    "050b" => "DTS-ES 8ch",
    "050e" => "RETRIEVER AIR",
    "050f" => "Neo:X CINEMA",
    // "0601" => "STEREO",
    "0601" => "DIRECT",
    "0602" => "DOLBY PLII MOVIE",
    "0603" => "DOLBY PLIIx MOVIE",
    "0605" => "STREAM DIRECT NORMAL Straight Decode",
    "0606" => "DOLBY DIGITAL EX",
    "0607" => "DOLBY PLIIx MOVIE",
    "0609" => "ES MATRIX",
    "060a" => "ES DISCRETE",
    "060b" => "DTS-ES 8ch",
    "060c" => "Neo:X CINEMA",
    "0701" => "STREAM DIRECT PURE 2ch",
    "0702" => "DOLBY PLII MOVIE",
    "0703" => "DOLBY PLIIx MOVIE",
    "0704" => "Neo:6 CINEMA",
    "0705" => "PURE DIRECT",
    "0706" => "DOLBY DIGITAL EX",
    "0707" => "DOLBY PLIIx MOVIE",
    "0708" => "(nothing)",
    "0709" => "ES MATRIX",
    "070a" => "ES DISCRETE",
    "070b" => "DTS-ES 8ch",
    "070c" => "Neo:X CINEMA",
    "0881" => "OPTIMUM",
    "0e01" => "HDMI THROUGH",
    "0f01" => "MULTI CH IN",
    "1101" => "DOLBY PLIIx MOVIE",
    "1102" => "DOLBY PLIIx MUSIC",
    "1103" => "DOLBY DIGITAL EX",
    "1104" => "DTS Neo:6",
    "1105" => "ES MATRIX",
    "1106" => "ES DISCRETE",
    "1107" => "DTS-ES 8ch",
    "1108" => "multi ch Straight Decode",
    "1109" => "DOLBY PLIIz HEIGHT",
    "110a" => "WIDE SURR MOVIE",
    "110b" => "WIDE SURR MUSIC",
    "110c" => "Neo:X CINEMA",
    "110d" => "Neo:X MUSIC",
    "110e" => "Neo:X GAME",
    "1301" => "THX Surr EX",
    "1303" => "ES MTRX +THX CINEMA",
    "1304" => "ES DISC +THX CINEMA",
    "1305" => "ES 8ch +THX CINEMA",
    "1306" => "DOLBY PLIIx MOVIE +THX",
    "1309" => "THX CINEMA",
    "130b" => "ES MTRX +THX MUSIC",
    "130c" => "ES DISC +THX MUSIC",
    "130d" => "ES 8ch +THX MUSIC",
    "130e" => "DOLBY PLIIx MUSIC +THX",
    "1311" => "THX MUSIC",
    "1313" => "ES MTRX +THX GAMES",
    "1314" => "ES DISC +THX GAMES",
    "1315" => "ES 8ch +THX GAMES",
    "1319" => "THX GAMES",
    "131a" => "DOLBY PLIIz +THX CINEMA",
    "131b" => "DOLBY PLIIz +THX MUSIC",
    "131c" => "DOLBY PLIIz +THX GAMES",
    "131d" => "Neo:X CINEMA + THX CINEMA",
    "131e" => "Neo:X MUSIC + THX MUSIC",
    "131f" => "Neo:X GAME + THX GAMES"
    );

    // listening modes for SET (VSX-923)
    $listeningSET = array(
    "0001" => "STEREO (cyclic)",
    "0003" => "Front Stage Surround Advance",
    "0005" => "AUTO SURR/STREAM DIRECT (cyclic)",
    "0006" => "AUTO SURROUND",
    "0007" => "DIRECT",
    "0008" => "PURE DIRECT",
    "0009" => "STEREO (direct set)",
    "0010" => "STANDARD (cyclic)",
    "0011" => "(2ch source)",
    "0012" => "PRO LOGIC",
    "0013" => "PRO LOGIC2 MOVIE",
    "0014" => "PRO LOGIC2 MUSIC",
    "0015" => "PRO LOGIC2 GAME",
    "0016" => "Neo:6 CINEMA",
    "0017" => "Neo:6 MUSIC",
    "0018" => "PRO LOGIC2x MOVIE",
    "0019" => "PRO LOGIC2x MUSIC",
    "0020" => "PRO LOGIC2x GAME",
    "0021" => "(Multi ch source)",
    "0022" => "(Multi ch source)+DOLBY EX",
    "0023" => "(Multi ch source)+PRO LOGIC2x MOVIE",
    "0024" => "(Multi ch source)+PRO LOGIC2x MUSIC",
    "0025" => "(Multi ch source)DTS-ES Neo:6",
    "0026" => "(Multi ch source)DTS-ES matrix",
    "0027" => "(Multi ch source)DTS-ES discrete",
    "0030" => "(Multi ch source)DTS-ES 8ch discrete",
    "0031" => "PRO LOGIC2z HEIGHT",
    "0032" => "WIDE SURROUND MOVIE",
    "0033" => "WIDE SURROUND MUSIC",
    "0034" => "(Multi-ch Source)+PRO LOGIC2z HEIGHT",
    "0035" => "(Multi-ch Source)+WIDE SURROUND MOVIE",
    "0036" => "(Multi-ch Source)+WIDE SURROUND MUSIC",
    "0037" => "Neo:X CINEMA",
    "0038" => "Neo:X MUSIC",
    "0039" => "Neo:X GAME",
    "0043" => "(Multi ch source)+Neo:X CINEMA ",
    "0044" => "(Multi ch source)+Neo:X MUSIC",
    "0045" => "(Multi ch source)+Neo:X GAME",
    "0050" => "THX (cyclic)",
    "0051" => "PROLOGIC + THX CINEMA",
    "0052" => "PL2 MOVIE + THX CINEMA",
    "0053" => "Neo:6 CINEMA + THX CINEMA",
    "0054" => "PL2x MOVIE + THX CINEMA",
    "0055" => "THX SELECT2 GAMES",
    "0056" => "THX CINEMA (for multi ch)",
    "0057" => "THX SURROUND EX (for multi ch)",
    "0058" => "PL2x MOVIE + THX CINEMA (for multi ch)",
    "0059" => "ES Neo:6 + THX CINEMA (for multi ch)",
    "0060" => "ES MATRIX + THX CINEMA (for multi ch)",
    "0061" => "ES DISCRETE + THX CINEMA (for multi ch)",
    "0067" => "ES 8ch DISCRETE + THX CINEMA (for multi ch)",
    "0068" => "THX CINEMA (for 2ch)",
    "0069" => "THX MUSIC (for 2ch)",
    "0070" => "THX GAMES (for 2ch)",
    "0071" => "PL2 MUSIC + THX MUSIC",
    "0072" => "PL2x MUSIC + THX MUSIC",
    "0073" => "Neo:6 MUSIC + THX MUSIC",
    "0074" => "PL2 GAME + THX GAMES",
    "0075" => "PL2x GAME + THX GAMES",
    "0076" => "THX ULTRA2 GAMES",
    "0077" => "PROLOGIC + THX MUSIC",
    "0078" => "PROLOGIC + THX GAMES",
    "0080" => "THX MUSIC (for multi ch)",
    "0081" => "THX GAMES (for multi ch)",
    "0082" => "PL2x MUSIC + THX MUSIC (for multi ch)",
    "0083" => "EX + THX GAMES (for multi ch)",
    "0084" => "Neo:6 + THX MUSIC (for multi ch)",
    "0085" => "Neo:6 + THX GAMES (for multi ch)",
    "0086" => "ES MATRIX + THX MUSIC (for multi ch)",
    "0087" => "ES MATRIX + THX GAMES (for multi ch)",
    "0088" => "ES DISCRETE + THX MUSIC (for multi ch)",
    "0089" => "ES DISCRETE + THX GAMES (for multi ch)",
    "0090" => "ES 8CH DISCRETE + THX MUSIC (for multi ch)",
    "0091" => "ES 8CH DISCRETE + THX GAMES (for multi ch)",
    "0092" => "PL2z HEIGHT + THX CINEMA",
    "0093" => "PL2z HEIGHT + THX MUSIC",
    "0094" => "PL2z HEIGHT + THX GAMES",
    "0095" => "PL2z HEIGHT + THX CINEMA (for multi ch)",
    "0096" => "PL2z HEIGHT + THX MUSIC (for multi ch)",
    "0097" => "PL2z HEIGHT + THX GAMES (for multi ch)",
    "0100" => "ADVANCED SURROUND (cyclic)",
    "0101" => "ACTION",
    "0103" => "DRAMA",
    "0107" => "CLASSICAL",
    "0110" => "ROCK/POP",
    "0112" => "EXTENDED STEREO",
    "0113" => "PHONES SURROUND",
    "0117" => "SPORTS",
    "0118" => "ADVANCED GAME",
    "0151" => "Auto Level Control (A.L.C.)",
    "0152" => "OPTIMUM SURROUND",
    "0153" => "RETRIEVER AIR",
    "0200" => "ECO MODE (cyclic)",
    "0201" => "Neo:X CINEMA + THX CINEMA",
    "0202" => "Neo:X MUSIC + THX MUSIC",
    "0203" => "Neo:X GAME + THX GAMES",
    "0204" => "Neo:X CINEMA + THX CINEMA (for multi ch)",
    "0205" => "Neo:X MUSIC + THX MUSIC (for multi ch)",
    "0206" => "Neo:X GAME + THX GAMES (for multi ch)",
    "0212" => "ECO MODE 1",
    "0213" => "ECO MODE 2"
    ); 
    Geändert von luckymr74 (04.09.17 um 08:01 Uhr)

  2. #2
    Registriert seit
    Jul 2014
    Ort
    Niedersachsen, nahe Bremen
    Beiträge
    14

    Standard Code Angepasst...

    Hi

    Ich habe in deinem Installscript ein paar Zeilen ersetzt, da diese Funktionen nicht mehr existieren (zumindest auf Mac und Raspi) Version 4.4 .

    Komplett testen konnte ich noch nicht da ich im Moment nicht in reichweite meines SC-2023 bin, aber bei der installation wurden sonst immer Fehler ausgegeben.

    PHP-Code:
    <?
    ###################  CONFIG-START  ################### 

    define ('ID_WebFront'"18648 /*[WebFront]*/");                // WebFront-ID
    define ('NAME_DEVICE',"Pioneer VSX-923");        // Gerätebenennung
    define ('IP_DEVICE',"192.168.1.2");                // AVR IP-Adresse
    define ('PORT_DEVICE',"8102");                    // Kommunikationsport
    // Zum Testen: direkte Kommunikation per telnet (Windows-Taste -> Eingabeaufforderung (CMD) -> telnet 10.0.0.42 8102

    ###################  CONFIG-ENDE  ###################



    if (ID_WebFront=="" or NAME_DEVICE=="" or IP_DEVICE=="" or PORT_DEVICE=="") {echo("CONFIG-Daten unvollständig!"); return;} 

    $ParentID=IPS_GetParent($_IPS['SELF']);

    // dummy instanz erstellen 
    $ID_INSTANZIPS_CREATEINSTANCE("{485D0419-BE97-4548-AA9C-C083EB82E61E}"); 
    IPS_SetParent($ID_INSTANZ$ParentID); 
    IPS_SETName($ID_INSTANZNAME_DEVICE); 


    // cutter instanz erstellen 
    $ID_INSTANZ_CUTTERIPS_CREATEINSTANCE("{AC6C6E74-C797-40B3-BA82-F135D941D1A2}"); 
    IPS_SETName($ID_INSTANZ_CUTTERNAME_DEVICE."_CUTTER");


    // registervariable instanz erstellen 
    $ID_INSTANZ_REGISTERIPS_CREATEINSTANCE("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}"); 
    IPS_SetParent($ID_INSTANZ_REGISTER$ID_INSTANZ_CUTTER); 
    IPS_SETName($ID_INSTANZ_REGISTERNAME_DEVICE."_REGISTER"); 

    // client socket instanz erstellen 
    $ID_INSTANZ_SOCKETIPS_CREATEINSTANCE("{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}"); 
    IPS_SETName($ID_INSTANZ_SOCKETNAME_DEVICE."_SOCKET"); 
    IPS_SetProperty($ID_INSTANZ_SOCKET,"Host",IP_DEVICE);        // Erneuert da Anweisung "CSCK_SetHost" nicht Funktioniert
    IPS_SetProperty($ID_INSTANZ_SOCKET,"Port",PORT_DEVICE);   // Erneuert da Anweisung "CSCK_SetPort" nicht Funktioniert
    IPS_SetProperty($ID_INSTANZ_SOCKET"Open"true);

    //dummy pioneer script für konstanten anlegen in das dann der inhalt einkopiert werden muss 
    $ID_PIONEER_SCRIPT_CONFCreateScriptByName(NAME_DEVICE."_Const"$ID_INSTANZ"<?\r\r?>");


    //dummy pioneer script anlegen in das dann der inhalt einkopiert werden muss  
    $ID_PIONEER_SCRIPTCreateScriptByName(NAME_DEVICE$ID_INSTANZ"<?\r\r?>");


    // timer der das script zykisch aufruft für power in abfrage 
    $ID_EVENT IPS_CreateEvent (1); 
    IPS_SetEventCyclic($ID_EVENT210025);   //Jeden Tag jede 5 Minuten 
    IPS_SetParent($ID_EVENT$ID_PIONEER_SCRIPT); 
    IPS_SetEventActive($ID_EVENTtrue);  // Aktivert Ereignis 


    // cutter,socket und register einrichten 
    IPS_ConnectInstance($ID_INSTANZ_REGISTER$ID_INSTANZ_CUTTER); 
    IPS_SetProperty($ID_INSTANZ_REGISTER,"RXObjectID"$ID_PIONEER_SCRIPT); // Erneuert da Anweisung "RegVar_SetRXObjectID" nicht Funktioniert
    IPS_SetProperty($ID_INSTANZ_CUTTER,"ParseType"0); // Erneuert da Anweisung "Cutter_SetParseType" nicht Funktioniert
    IPS_SetProperty($ID_INSTANZ_CUTTER,"RightCutChar""\r\n"); // Erneuert da Anweisung "Cutter_SetRightCutChar" nicht Funktioniert
    IPS_ConnectInstance($ID_INSTANZ_CUTTER$ID_INSTANZ_SOCKET); 
     
    IPS_ApplyChanges($ID_INSTANZ_SOCKET); 
    IPS_ApplyChanges($ID_INSTANZ_CUTTER); 
    IPS_ApplyChanges($ID_INSTANZ_REGISTER); 



    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_VOLUME")) 
    IPS_DeleteVariableProfile("AVR_VOLUME"); 
    IPS_CreateVariableProfile ("AVR_VOLUME"); 
    IPS_SetVariableProfileText ("AVR_VOLUME""""%" ); 
    IPS_SetVariableProfileValues ("AVR_VOLUME"40161 ); 
    IPS_SetVariableProfileIcon("AVR_VOLUME""Speaker");

    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_LISTENINGMODE"))
    IPS_DeleteVariableProfile("AVR_LISTENINGMODE"); 
    IPS_CreateVariableProfile ("AVR_LISTENINGMODE"); 
    IPS_SetVariableProfileIcon("AVR_LISTENINGMODE""Music");
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"1"Auto.SURR/ALC/Direct""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"2"Std.SURR""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE"3"Adv.SURR""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_LISTENINGMODE_EXT"))
    IPS_DeleteVariableProfile("AVR_LISTENINGMODE_EXT"); 
    IPS_CreateVariableProfile ("AVR_LISTENINGMODE_EXT"); 
    IPS_SetVariableProfileIcon("AVR_LISTENINGMODE_EXT""Music");
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"1"STEREO""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"2"EXTENDED STEREO""", -1); 
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"3"DOLBY PROLOGIC""", -1);
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"4"DOLBY PLII MUSIC""", -1);
    IPS_SetVariableProfileAssociation("AVR_LISTENINGMODE_EXT"5"Auto Level Control (A.L.C.)""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_KEYLOCK"))
    IPS_DeleteVariableProfile("AVR_KEYLOCK"); 
    IPS_CreateVariableProfile ("AVR_KEYLOCK"); 
    IPS_SetVariableProfileIcon("AVR_KEYLOCK""Lock");
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"0"Aus""", -1); 
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"1"Ein""", -1); 
    IPS_SetVariableProfileAssociation("AVR_KEYLOCK"2"Ein + Vol Lock""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_INTERNETRADIOBUTTONS"))
    IPS_DeleteVariableProfile("AVR_INTERNETRADIOBUTTONS"); 
    IPS_CreateVariableProfile ("AVR_INTERNETRADIOBUTTONS"); 
    IPS_SetVariableProfileIcon("AVR_INTERNETRADIOBUTTONS""Shutter");
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"0"Stop""", -1);
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"1"Play""", -1); 
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"2"Ch -""", -1); 
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"3"Ch +""", -1);
    IPS_SetVariableProfileAssociation("AVR_INTERNETRADIOBUTTONS"4"Display""", -1);


    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_FUNCTION"))
    IPS_DeleteVariableProfile("AVR_FUNCTION"); 
    IPS_CreateVariableProfile ("AVR_FUNCTION"); 
    IPS_SetVariableProfileIcon("AVR_FUNCTION""Shutter");
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"0"Diveres""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"2"Tuner""", -1); 
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"4"XBox""", -1); 
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"17"USB""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"25"BD""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"26"NET""", -1);
    IPS_SetVariableProfileAssociation("AVR_FUNCTION"38"Webradio""", -1);

    // eigenes Profil anlegen, dafür das vorhandene löschen
    if (IPS_VariableProfileExists("AVR_DISPLAY"))
    IPS_DeleteVariableProfile("AVR_DISPLAY"); 
    IPS_CreateVariableProfile ("AVR_DISPLAY"); 
    IPS_SetVariableProfileIcon("AVR_DISPLAY""Information");
    IPS_SetVariableProfileAssociation("AVR_DISPLAY"0"Change""", -1);


    // Variablen anlegen
    $VarID_Power=    CreateVarByName(2"Power",                        "0"null,            $ID_INSTANZ"~Switch",                    $ID_PIONEER_SCRIPTfalse);
    $VarID_KeyLock=    CreateVarByName(4"KeyLock",                    "1"null,             $ID_INSTANZ"AVR_KEYLOCK",                $ID_PIONEER_SCRIPTfalse);
    $VarID_Display=    CreateVarByName(6"Display",                    "3""Information"$ID_INSTANZ"~String",                 null,                false);
    $VarID_DisplCh=    CreateVarByName(8"Display Change",            "1""Information"$ID_INSTANZ"AVR_DISPLAY",                $ID_PIONEER_SCRIPT,    false);
    $VarID_dB=        CreateVarByName(10"dB",                        "3""Speaker",     $ID_INSTANZ"~String",                 null,                false);
    $VarID_Vol=        CreateVarByName(12"Volume",                    "1"null,            $ID_INSTANZ"AVR_VOLUME",                $ID_PIONEER_SCRIPTfalse);
    $VarID_Mute=    CreateVarByName(14"Mute",                        "0""Sleep",        $ID_INSTANZ"~Switch",                    $ID_PIONEER_SCRIPTfalse);
    $VarID_Fkt=        CreateVarByName(16"Function",                    "1"null,            $ID_INSTANZ"AVR_FUNCTION",            $ID_PIONEER_SCRIPTfalse);
    $VarID_ALM=        CreateVarByName(18"Active Listening Mode",    "3""Music",        $ID_INSTANZ"~String",                    null,                false);
    $VarID_LM=        CreateVarByName(20"Listening Mode",            "1"null,            $ID_INSTANZ"AVR_LISTENINGMODE",        $ID_PIONEER_SCRIPTfalse);
    $VarID_LM_Ext=    CreateVarByName(22"Listening Mode, extended",    "1"null,            $ID_INSTANZ"AVR_LISTENINGMODE_EXT",    $ID_PIONEER_SCRIPTfalse);
    $VarID_WebRStn=    CreateVarByName(24"WebRadio Station",            "3"null,            $ID_INSTANZ"~HTMLBox",                null,                true);
    $VarID_WebRadio=CreateVarByName(26"WebRadio",                    "1"null,            $ID_INSTANZ"AVR_INTERNETRADIOBUTTONS",$ID_PIONEER_SCRIPTfalse);
    $VarID_WebRBtn=    CreateVarByName(28"WebRadio Button",            "1"null,            $ID_INSTANZnull,                        $ID_PIONEER_SCRIPTtrue);


    // Script mit Variablen-Definitionen für das Haupt-Skript anlegen 
    $SText="<?\r"
    $SText.="// Erzeugt von INSTALL_SCRIPT\r";
    $SText.="// Variablen-Definitionen für das Haupt-Skript\r"
    $SText.="\r";
    $SText.="define ('NAME_DEVICE','".NAME_DEVICE."');\r";
    $SText.="define ('ID_WEBFRONT', ".ID_WebFront.");\r";
    $SText.="define ('ID_SOCKET', ".$ID_INSTANZ_SOCKET.");\r";
    $SText.="define ('IP_DEVICE','".IP_DEVICE."'); //AVR IP-Adresse;\r"
    $SText.="define ('PORT_DEVICE','".PORT_DEVICE."'); // Kommunikationsport \r";
    $SText.="\r";
    $SText.="define ('ID_POWER', ".$VarID_Power.");\r";
    $SText.="define ('ID_KEYLOCK', ".$VarID_KeyLock.");\r";
    $SText.="define ('ID_DISPLAY', ".$VarID_Display.");\r"
    $SText.="define ('ID_DISPLAY_CHANGE', ".$VarID_DisplCh.");\r";
    $SText.="define ('ID_VOL_DB', ".$VarID_dB.");\r";
    $SText.="define ('ID_VOL', ".$VarID_Vol.");\r";
    $SText.="define ('ID_MUTE', ".$VarID_Mute.");\r"
    $SText.="define ('ID_FUNCTION', ".$VarID_Fkt.");\r";
    $SText.="define ('ID_LISTENING_MODE', ".$VarID_ALM.");\r"
    $SText.="define ('ID_CHANGE_LISTENING_MODE', ".$VarID_LM.");\r"
    $SText.="define ('ID_CHANGE_LISTENING_MODE_EXT', ".$VarID_LM_Ext.");\r";
    $SText.="define ('ID_INET_RADIO', ".$VarID_WebRadio.");\r";
    $SText.="define ('ID_INET_RADIO_BUTTONS', ".$VarID_WebRStn.");\r"
    $SText.="define ('ID_INET_STATION', ".$VarID_WebRBtn.");\r";
    $SText.="?>\r"

    $ID_PIONEER_SCRIPT_VARSCreateScriptByName(NAME_DEVICE."_Vars"$ID_INSTANZ$SText);


    // INCLUDE-Daten in Hauptskript eintragen
    $SText="<?\r"
    $SText.="// Erzeugt von INSTALL_SCRIPT\r";
    $SText.="// ########### INCLUDE-START ###########\r";
    $SText.="include(IPS_GetScriptFile(".$ID_PIONEER_SCRIPT_CONF."));\r";
    $SText.="include(IPS_GetScriptFile(".$ID_PIONEER_SCRIPT_VARS."));\r";
    $SText.="// ########### INCLUDE-ENDE  ###########\r\r";
    $SText.="// ########### AB HIER HAUPT-SKRIPT EINFÜGEN  ###########\r";
    $SText.="?>\r"
    IPS_SetScriptContent($ID_PIONEER_SCRIPT$SText);


    // Funktion zum erstellen eines Variablen 
    // 
    // Parameter: 
    // VarNAME      = Name wie die Variable im Objektbaum heissen soll
    // VarTyp        = Typ der Variablen (0=Boolean, 1=Integer, 2=Float, 3=String)
    // Icon            = Icon für Variable, wenn nicht aus Profil
    // ParentID     = Objekt ID unter der das Script untergehangen wird
    // Profil        = Name des Profils 
    // ScriptID     = Aktionsskript ID
    // Position        = Reihenfolge im Objektbaum 
    // Hidden        = Variable unsichtbar (true|false)

    function CreateVarByName($Position$VarNAME$VarTyp$Icon$ParentID$Profil$ScriptID$Hidden
     { 
     global 
    $IPS_SELF
     
    $VarID = @IPS_GetVariableIDByName($VarNAME$ParentID); 
     if (
    $VarID == 0){ 
      
    $VarID IPS_CreateVariable($VarTyp); 
      
    IPS_SetName($VarID$VarNAME); 
      
    IPS_SetParent($VarID$ParentID);
      
    IPS_SetVariableCustomProfile($VarID$Profil); 
      
    IPS_SetVariableCustomAction($VarID$ScriptID);    
      
    IPS_SetPosition($VarID$Position);
      
    IPS_SetIcon($VarID$Icon);
      
    IPS_SetHidden($VarID$Hidden);
     } 
    return 
    $VarID



    // Funktion zum erstellen eines Scripts 
    // 
    // Parameter: 
    // ScriptNAME  = Name wie das Script im Objektbaum heissen soll 
    // ParentID    = Objekt ID unter der das Script untergehangen wird 
    // ScriptTEXT  = Inhalt der Scriptdatei 

    function CreateScriptByName($ScriptNAME$ParentID$ScriptTEXT

     { 
     global 
    $IPS_SELF
     
    $ScriptID = @IPS_GetScriptIDByName($ScriptNAME$ParentID); 
     if (
    $ScriptID == 0){ 
      
    $ScriptID IPS_CreateScript(0); 
      
    IPS_SetName($ScriptID$ScriptNAME); 
      
    IPS_SetParent($ScriptID$ParentID); 
      
    IPS_SetInfo($ScriptID"This script was created by: #$IPS_SELF#"); 
      
    IPS_SetScriptContent($ScriptID$ScriptTEXT);
      
    IPS_SetHidden($ScriptIDtrue); 
      
    IPS_SetPosition($ScriptID98); 
     } 
    return 
    $ScriptID
    }

    Ich hoffe das hilft weiter.

    Viele Grüße Crazy
    Im Moment: IPS 5.x auf Rasperry 4 , 1x Wago 750-880 mit KNX Karte 8x Raumcontroller plus Gira, 2x Wago 750-841 , Raspberrymatic CCU , Homematic: Thermostaten , Magnetkontakte , Wetterstation , Fußbodenheizung mit E-Ventilen, Ela-Anlage für Multiroom-Audio.
    Zukunft: XC-303-C32-002 + Wago CAN-Bus Nodes, CoDeSys 3. Hoffnung: OPC UA in Symcon

  3. #3
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,913

    Standard [Modul] Pioneer VSX923

    Hallo Leute,

    ich habe mal begonnen ein Modul für den Pioneer VSX923 zu schreiben.

    Noch ist das ganze im Aufbau, von den unglaublich umfangreichen Möglichkeiten ist nur ein Bruchteil umgesetzt.

    Mein Problem ist aber eher nicht die Umsetzung des Moduls, sondern dass ich die verschiedenen Funktionalitäten und Abhängigkeiten noch nicht vollends verstanden habe.

    Ich würde mich also freuen, wenn ihr mir hier und da noch "Nachhilfe" bezüglich der Nutzung dieses Receivers geben könntet - je mehr ich das verstehe, umso besser bildet das Modul das dann auch ab...

    Aber Obacht: Noch ist das Modul zwar schon zu gebrauchen, hat aber hier und da noch seine Defizite...

    Fragen:
    - Welche Quellen kann ich für die Zone 2 nutzen? Ist dass abhängig von der Quelle (HDMI/Analog) in der Hauptzone?

    - Wann kann Bass/Treble manuell verändert werden? Tone muss auf "ByPass"? Wann ist das "erlaubt"?

    - Wenn Zone 2 aktiviert ist, dann sind offensichtlich nur Speaker A+B möglich. Wann ist die Differenzierung Speaker A/Speaker B/ Speaker A+B möglich?


    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  4. #4
    Registriert seit
    Jun 2017
    Beiträge
    132

    Standard Module aus Skript

    Da ich noch kein Modul gebaut habe und mich intensiv an dem Skript für den VSX-923 ausgelasse hatte, bin ich neugierig zu sehen wie das abläuft/gemacht wird.

    Zu den aktuellen Fragen kann ich leider keine Auskunft geben.

  5. #5
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,913

    ...vielleicht noch mal zur besseren Erläuterung...
    In der Bedienungsanleitung steht folgendes:
    Code:
    Mit dieser Einstellung werden die Tonsteuerungen für Höhen und Bässe auf eine Quelle angewendet oder komplett umgangen.
    
    Diese Einstellung erscheint nur, wenn der Hörmodus STEREO, Auto-Surround (STEREO) oder SOUND RETRIEVER AIR ist.
    Habe versucht das im Modul korrekt abzubilden. Nach meinem Verständnis müssten das mehrere der "ListingMode" sein die das dann freigeben bzw. sperren.
    Habe 6, 9 und 153 probiert, offenbar sind das in Gänze oder in Teilen nicht die richtigen. Kann da jemand einen Tipp geben?

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  6. #6
    Registriert seit
    Dec 2014
    Ort
    Nürburgring
    Beiträge
    356

    Superb!!!
    Ich steuere damit ab sofort meinen VSX-830, das geht ebenfalls wunderbar.
    Ich musste nur die Eingänge etwas abändern, der Rest klappt hervorragend.
    Vielen Dank...
    https://maeffjus.de - Wetter-, Feinstaub- und Strahlungsdaten und ein Badezimmerradio!
    Homematic CCU2 / Buderus MC10 / Buderus KM200 / Buderus RC35 / Homeduino 2.0 / QNAP TS453Be mit 2x8tb & 2x4tb, / Back-UPS 800VA (Server) / Back-UPS 500CS (Wifi & Router) / Zyxel NAS540 zum Backup auf 2x4TB / Sophos-UTM 9 Firewall

  7. #7
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,913

    Hallo Maeffjus,

    vielen Dank. Da ist noch deutlich mehr möglich, war bisher nur wenig Interesse. Was Du noch nicht sehen kannst ist die HTML-Aufbereitung des Displays, werde ich mal in den nächsten Tagen versuchen dort zu integrieren.

    Was ist denn bei Dir anders? Möglicherweise lässt sich das ja im Modul integrieren?

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  8. #8
    Registriert seit
    Dec 2014
    Ort
    Nürburgring
    Beiträge
    356

    Zitat Zitat von JPaeper Beitrag anzeigen
    Hallo Maeffjus,

    Was ist denn bei Dir anders? Möglicherweise lässt sich das ja im Modul integrieren?

    Joachim
    So gut wie nix - ich habe die Eingänge nur umbenannt ;-)
    Zudem hast Du im Hauptscript viele Eingänge einfach als "Diverses" zusammengefasst, unter anderem auch von mir genutzte.
    Aber das ist ja kein Problem - habe die Nummern und Namen angepasst und jetzt gehen die bei mir auch. (Ich benutze z.B. SPDIF-COAX für meine Squeezebox).
    Gruß,
    Maeffjus
    https://maeffjus.de - Wetter-, Feinstaub- und Strahlungsdaten und ein Badezimmerradio!
    Homematic CCU2 / Buderus MC10 / Buderus KM200 / Buderus RC35 / Homeduino 2.0 / QNAP TS453Be mit 2x8tb & 2x4tb, / Back-UPS 800VA (Server) / Back-UPS 500CS (Wifi & Router) / Zyxel NAS540 zum Backup auf 2x4TB / Sophos-UTM 9 Firewall

  9. #9
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,913

    Hallo Maeffjus,

    bin jetzt etwas verunsichert: Benutzt Du mein Modul oder die Skripte?

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  10. #10
    Registriert seit
    Dec 2014
    Ort
    Nürburgring
    Beiträge
    356

    Zitat Zitat von JPaeper Beitrag anzeigen
    Hallo Maeffjus,

    bin jetzt etwas verunsichert: Benutzt Du mein Modul oder die Skripte?

    Joachim
    Öhm hoppla - Asche über mein Haupt
    Ich benutze die Skripte.
    Wenn ich ein Modul oder was auch immer finde, dann lese ich ja nicht grundsätzlich den kpl. Thread durch, ich habe das mit dem Modul erst später gesehen. Und dann ergibt sich für dich ggf. auch wieso ich die Eingänge umbenannt habe ;-)
    Ich werde die Tage aber mal einen Blick auf das Modul werfen!

    Gruß
    Maeffjus
    https://maeffjus.de - Wetter-, Feinstaub- und Strahlungsdaten und ein Badezimmerradio!
    Homematic CCU2 / Buderus MC10 / Buderus KM200 / Buderus RC35 / Homeduino 2.0 / QNAP TS453Be mit 2x8tb & 2x4tb, / Back-UPS 800VA (Server) / Back-UPS 500CS (Wifi & Router) / Zyxel NAS540 zum Backup auf 2x4TB / Sophos-UTM 9 Firewall

Ähnliche Themen

  1. Verstärker Pioneer VSX-920 per Lan steuern
    Von mäc im Forum Skripte, PHP, SQL
    Antworten: 167
    Letzter Beitrag: 02.12.17, 04:43
  2. Sky+ Receiver per Lan
    Von hoschiman0 im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 27.09.16, 19:27
  3. Info: Onkyo Receiver steuern per IPS
    Von AEAlexander im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 04.02.12, 10:40
  4. Hilfe bei Pioneer VSX-921
    Von MadPlayer23 im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 3
    Letzter Beitrag: 02.10.11, 10:12
  5. PS3 und DVB-C Receiver steuern
    Von josp666 im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 01.05.10, 10:43