Oppo Media Player Response

Hallo.
habe Probleme bei der Einrichtung des Oppo Mediaplayers. Eine Antwort vom Player kommt an, aber die Variable die Variable Test Switch wird nicht aktualisiert. Die Power Variable ändert auch nur den Wert wenn ich im Webfront schalte.

Instanz RegisterVariable:

Debug Ausgabe:

Skript Check Response:

<?php

$response = GetValue(11536);
var_dump($response);

$payload = explode(' ', $response);
    $status = $payload[1];

    var_dump($status);

Skript Command Liste:

<?php

$command = 'POW'; // Power On
// $command = 'POF'; // Power On
$payload = '#'.$command."\r";
CSCK_SendText(59900, $payload); // Objekt ID Client Socket 


//Steuerung:

//Power:
//$command = 'POW'; // Power Toggle
//$command = 'EJT'; // Power On
//$command = 'POF'; // Power Off

Skript Oppo Incoming:

<?php
// wenn das Skript von einer RegisterVariable-Instanz aus aufgerufen worden ist
if ($_IPS['SENDER'] == "RegisterVariable") {
    
    $payload = explode(' ', $_IPS['VALUE']);
    $status = $payload[1];

    SetValue(11536, $status);

    $response = GetValue(11536);
    if($response == 'OFF')
    {
        SetValue(27436, true);
        SetValue(10494, false);
    }
    elseif($response == 'ON')
    {
        SetValue(27436, false);
        SetValue(10494, true);
    }

Skript Oppo Remote:

<?php

switch ($_IPS['VARIABLE']) {
    case 39033: //Volume
        switch ($_IPS['VALUE']) {
            case 0: //Volume Down
                $command = 'VDN';
                break;
            case 1: //Volume Up
                $command = 'VUP';
                break;
            case 2: //Mute
                $command = 'MUT';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 27436: //Power
        switch ($_IPS['VALUE']) {
            case 0: //Power On
                $command = 'POW';
                break;
            case 1: //Power Off
                $command = 'POF';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 32789: //Navigation
        switch ($_IPS['VALUE']) {
            case 0: //Up
                $command = 'NUP';
                break;
            case 1: //Left
                $command = 'NLT';
                break;
            case 2: //Right
                $command = 'NRT';
                break;
            case 3: //Down
                $command = 'NDN';
                break;
            case 4: //OK
                $command = 'SEL';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break; 

    case 43464: //Info
        switch ($_IPS['VALUE']) {
            case 0: //Info Display
                $command = 'OSD';
                break;
            case 1: //Detail Info
                $command = 'INH';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;                

    case 29359: //Nummernblock
        switch ($_IPS['VALUE']) {
            case 0: //1
                $command = 'NU1';
                break;
            case 1: //2
                $command = 'NU2';
                break;
            case 2: //3
                $command = 'NU3';
                break;
            case 3: //4
                $command = 'NU4';
                break;
            case 4: //5
                $command = 'NU5';
                break;
            case 5: //6
                $command = 'NU6';
                break;
            case 6: //7
                $command = 'NU7';
                break;
            case 7: //8
                $command = 'NU8';
                break;
            case 8: //9
                $command = 'NU9';
                break;
            case 9: //0
                $command = 'NU0';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 53097: //Menü's
        switch ($_IPS['VALUE']) {
            case 0: //Home Menü
                $command = 'HOM';
                break;
            case 1: //BD Haupt Menü
                $command = 'TTL';
                break;
            case 2: //BD Pop-Up Menü
                $command = 'MNU';
                break;
            case 3: //DVD Haupt Menü
                $command = 'MNU';
                break;
            case 4: //DVD Titel Menü
                $command = 'TTL';
                break;
            case 5: //Option
                $command = 'OPT';
                break;
            case 6: //HDR Menü
                $command = 'HDR';
                break;
            case 7: //3D Menü
                $command = 'M3D';
                break;
            case 8: //Sync Menü
                $command = 'AVS';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;        

    case 13384: //Farbtasten
        switch ($_IPS['VALUE']) {
            case 0: //Red
                $command = 'RED';
                break;
            case 1: //Green
                $command = 'GRN';
                break;
            case 2: //Yellow
                $command = 'YLW';
                break;
            case 3: //Blue
                $command = 'BLU';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break; 

    case 54578: //Wiedergabe
        switch ($_IPS['VALUE']) {
            case 0: //Rewind
                $command = 'REF';
                break;
            case 1: //Skip Prev
                $command = 'PRE';
                break;
            case 2: //Pause
                $command = 'PAU';
                break;
            case 3: //Play
                $command = 'PLA';
                break;
            case 4: //Stop
                $command = 'STP';
                break;
            case 5: //Skip Next
                $command = 'NXT';
                break;
            case 6: //Forward
                $command = 'FWD';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 59365: //Video
        switch ($_IPS['VALUE']) {
            case 0: //Auflösung ändern
                $command = 'HDM';
                break;
            case 1: //Auflösung Auto
                $command = 'RLH';
                break;
            case 2: //Menü Bildanpassung
                $command = 'SEH';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 57447: //Audio
        switch ($_IPS['VALUE']) {
            case 0: //Audiosprache ändern
                $command = 'AUD';
                break;
            case 1: //Pure Audio Mode
                $command = 'PUR';
                break;
            case 2: //Gapless Audio Mode
                $command = 'GPA';
                break;
            case 3: //Audio Track Info
                $command = 'SAP';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break; 

    case 33476: //Player Setup
        switch ($_IPS['VALUE']) {
            case 0: //Player Setup Menü
                $command = 'SET';
                break;
            case 1: //Return
                $command = 'RET';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;

    case 52225: //Untertitel
        switch ($_IPS['VALUE']) {
            case 0: //Untertitel ändern
                $command = 'SUB';
                break;
            case 1: //Untertitel Verschiebemodus
                $command = 'SUH';
                break;
            default:
                trigger_error('Unbehandelter Value: ' . $_IPS['VALUE']);
        }
        break;                                                         

        }

SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);





$payload = '#'.$command."\r";
CSCK_SendText(59900, $payload); // Objekt ID Client Socket      

Die Vergleiche im incoming Script funktionieren nicht.
Da hängt nach dem explode vom Leerzeichen im Response noch der CR drann.
Schalte zwischen den Clientsocket und der Registervariable einen Cutter mit dem carriage return als Trennzeichen und fertig.
Michael

Hallo Michael,
Danke für die Antwort, aber ich stehe gerade auf’m Schlauch.

Das hier geht nicht:
if($response == ‚OFF‘)
Weil dort nicht OFF sondern OFF<CR> oder OFF\r in $response steht.
Deswegen eine Instanz vom Typ Cutter erstellen. Rechtes Trennzeichen HEX 0D.
Übergeordnete Instanz ist der Clientsocket.
In der Registervariable als verbundene übergeordnete Instanz nicht den Clientsocket sondern den Cutter auswählen.
Michael

Danke dir Michael. hat funktioniert. :smiley: