Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Oppo IP-Control

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jonofe
    antwortet
    Ich hab da mal was vorbereitet ...
    Befehle senden als auch Statusausgabe sollte schon recht zuverlässig funktionieren. Ist sicher noch nicht fehlerfrei ... einfach mal testen....

    Viel Spaß damit!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ehrliche Antwort: Keine Ahnung.

    Wenn du mir mal den Port freischaltest, dann kann ich da mal genau draufschauen. IP und Port kannst du mir dann per EMail senden.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Wo haste das denn geändert? Bei sendCmd() oder beim read()?
    Am besten dann mal an beiden Stellen ändern. Falls du es beim sendCmd() nicht geändert hattest, dann könnte dies die Lösung sein.
    Wenn nicht, dann bin ich auch ratlos.
    Hab´s bei sendCmd geändert - leider scheint uns das also auch nicht weiterzubringen.
    A1 wird außerdem korrekt auf "OK" gesetzt

    2017_09_20_22_28_08_D_19001199_lbs.php_Notepad_.png

    Es kann also eigentlich nur die Sende-Syntax falsch sein: Gesendet werden muss z.B. der Befehl #POW \r (geht mit+ohne Leerzeichen)

    Kann es sein, dass das "#" Probleme macht ? Ich habe auch schon versucht:

    if (socket_write($this->oppo_connection,"\0x23".$cmd." \0xD")) ; alternativ 0x0D statt 0xD
    mit Eingabe bei E4: "POW", auch "POW "

    if (socket_write($this->oppo_connection, $cmd))
    mit Eingabe bei E4: "#POW \r"
    Leider bringen auch alle diese Änderungsvarianten KEINEN Erfolg

    Was könnte an der Syntax für "socket_write" noch falsch sein ?

    Danke
    Andreas







    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wo haste das denn geändert? Bei sendCmd() oder beim read()?
    Am besten dann mal an beiden Stellen ändern. Falls du es beim sendCmd() nicht geändert hattest, dann könnte dies die Lösung sein.
    Wenn nicht, dann bin ich auch ratlos.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Kannst mal versuchen das \0xd zu ersetzen durch \0xd\0xa. Glaube allerdings nicht, dass es dann funktioniert, da das LF nur optional ist. ein CR sollte genügen.
    Hat leider nichts gebracht- weiterhin funktioniert das Senden nicht. Ich habe alle Varianten 'POW, POW, #POW\r ... getestet !

    ABER: Interessanterweise empfängt der LBS jetzt Änderungen (vgl.. Anhang unten), die am Oppo per Hand durchgeführt werden- also ist wohl kein socat etc. hierfür nötig.

    Nur leider nützt dies wenig, wenn der Empfang nicht klappt !

    Vielen Dank Janofe
    Andreas

    2017_09_20_19_59_50_Fotos.png

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Erste Erkenntnis: Das was du oben als UDP sendest ist nicht notwendig. Das ist das, was der Player alle 10 Sekunden broadcasted. Damit kann man also herausfinden welche IP und welcher Port für die Connection vom Client verwendet werden muss. Da du die IP Adresse als auch den Port kennst, kannst du den Discover Teil komplett ignorieren. Das löst aber nicht das Kommunikationsproblem.

    Ansonsten´kann wohl optional noch ein <LF> nach dem <CR> gesendet werden.
    Kannst mal versuchen das \0xd zu ersetzen durch \0xd\0xa. Glaube allerdings nicht, dass es dann funktioniert, da das LF nur optional ist. ein CR sollte genügen.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    kannst du mal die Protokollspezifikation hochladen?
    Mach´ ich doch gerne !
    Angehängte Dateien

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    kannst du mal die Protokollspezifikation hochladen?

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Mach mal bitte einen Screenshot von der gesamten telnet Session, bei der es funktioniert und zwar vom EDOMI Server aus.
    Ich habe ´mal einen Screenshot der Telnet-Session erstellt (Verbindung mit Edomi über Putty/SSH):
    Edomi (10.10.1.35) -> Oppo 203 (10.10.1.53)
    #POW\r = Power on/off
    @QPW\r = Stausabfrage Power

    2017_09_20_15_53_37_root_edomi_.png

    Alle Telegramme kommen sowohl korrekt an, als auch sendet der Oppo einen korrekte Antwort

    Ich habe leider nicht die geringste Ahnung, warum das Gleiche nicht aus dem Denon-LBS funktioniert !

    Eigentlich müssten ja sowohl Telnet, als auch der LBS identische TCP-Verbindungen herstellen !


    PS: Wireshark läuft auf einem anderen Rechner (Desktop)


    Zuletzt geändert von ak68; 20.09.2017, 15:29.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Habe gerade noch mal in den Onkyo LBS reingeschaut. Dieser ist nicht 1:1 dafür verwendbar, da der eigentlich Befehl in einen weiteren String eingebettet wird, bevor er an den AVR geschickt wird. Du solltest also Tests eher mit dem Denon LBS machen, denn dieser sendet den Befehl 1:1 an den AVR und hängt lediglich ein <CR> hinten an, welches das \r ist.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Also ich hab keine Idee. Kann nur sagen, dass der Onkyo LBS grundsätzlich für Onkyo Receiver funktioniert. Wenn das nicht der Fall wäre, dann hätte ich hier sicher schon früher Feedback bekommen, schließlich gibt es 60 Downloads.

    Wo läuft denn Wireshark?

    Mach mal bitte einen Screenshot von der gesamten telnet Session, bei der es funktioniert und zwar vom EDOMI Server aus.

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Hallo André und alle Anderen hier im Forum,

    ich habe jetzt auch ´mal den (ähnlichen) Onkyo-LBS genommen:

    Korrektes Absetzen des Befehls nach dem Befehl #POW (gvl. Log)

    2017_09_20_13_19_36_10.10.1.35_data_log_CUSTOMLOG_Onkyo_AVR_LBS19000300.htm_20170920131214_Opera.png

    Jedoch ebenso KEINE Reaktion des Oppo-BD/DVD.

    Zusammenfassung: Ansprechen des BD/DVD-Players über Telnet problemlos möglich (sowohl v. Desktop, als auch direkt aus Edomi) vgl #7

    Absetzen von Befehlen über den Denon + Onkyo-LBS möglich (vgl. Log), Befehle kommen jedoch NICHT an und erscheinen NICHT in Wireshark.

    Davor jeweils Ausführung des Notify´s über folgenden UDP-Aufruf zum Öffnen des Servers:

    2017_09_20_13_24_41_EDOMI_Administration_Opera.png

    App. ausschalten, Einstellungen (IP/ Port ect), Reboot etc. blieben erfolglos !

    Das selbe Problem hat wohl auch Jurkoe (#14 ff):
    https://knx-user-forum.de/forum/proj...nkyo-avr/page2

    Hat noch ´wer eienn Tipp/ eine Idee ?

    Danke
    Andreas



    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Dann fällt mir auch nicht mehr viel ein.

    Du könntest im Source Code noch mal wie folgt die Zeile mit get_status() auskommentieren.

    PHP-Code:
    $denon = new denon($ip$port);
    // $status = $denon->get_status(); 
    ggf. auch noch die Zeile

    PHP-Code:
    $denon->read(); 
    Wenn das nicht hilft, dann muss ich leider passen ...
    Leider waren beide Änderungen ERFOLGLOS

    Hast Du noch eine Idee ? Wer hat noch eine Idee ?

    Offensichtlich kann die Verbindung nicht aufgebaut werden:

    2017_09_18_07_33_23_10.10.1.35_data_log_ERRLOG_2017_09.htm_20170918073209_Opera.png

    Danke
    Andreas
    Zuletzt geändert von ak68; 18.09.2017, 06:35.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Dann fällt mir auch nicht mehr viel ein.

    Du könntest im Source Code noch mal wie folgt die Zeile mit get_status() auskommentieren.

    PHP-Code:
        $denon = new denon($ip$port);
        
    // $status = $denon->get_status(); 
    ggf. auch noch die Zeile

    PHP-Code:
    $denon->read(); 
    Wenn das nicht hilft, dann muss ich leider passen ...

    Einen Kommentar schreiben:


  • ak68
    antwortet
    Zitat von jonofe Beitrag anzeigen
    funktioniert telnet denn vom EDOMI Server aus?
    Hat ein bisschen gedauert ..... musste erst telnet auf Edomi installieren (yum install telnet telnet-server -y)

    Hab mich per Putty-ssh auf Edomi (10.10.1.35) eingeloggt:

    login as: root
    root@10.10.1.35's password:
    [root@edomi ~]# telnet 10.10.1.53 23
    Trying 10.10.1.53...
    Connected to 10.10.1.53.
    ...
    #POW\r
    @POW on

    ... Befehle auch in Wireshark sichtbar !

    Also: -> Oppo (10.10.1.53) ist verbunden mit Edomi (10.10.1.35) und Befehle können gesendet werden (und kommen an !)

    Einen Kommentar schreiben:

Lädt...
X