Hallo Leute,
ich habe entdeckt, das mein Denon AVR eine Telnet Schnittstelle hat.
Laut Dokumentation kann man einen Befehl pro Sekunde absenden und jeder Befehl muss mit einem <cr> abgeschlossen werden.
Leider scheitere ich im Moment daran, das ich den Verbindungsaufbau nicht hin bekomme.
Ich würde gerne zu Testzwecken den PW? Befehl absenden und danach das Ergebnis in einer Variable stehen haben.
Vielleicht kann mir hier jemand ein kleines Beispiel schreiben.
Ich hab das ganze mit use Net::Telnet (); versucht.
ein Normales Telenet sieht so aus:
Nach dem "BridgeCo AG Telnet server" wird die Eingabe erwartet, es gibt aber keinen Prompt
Im $output bei mir steht nur eine "1" anstatt PWON.
ein "expect"-Script das funktioniert habe ich gefunden.
Aufruf: denon PW?
Ergebnis: PWON
Aufruf denon MV?
Ergebnis:MV45
ich habe entdeckt, das mein Denon AVR eine Telnet Schnittstelle hat.
Laut Dokumentation kann man einen Befehl pro Sekunde absenden und jeder Befehl muss mit einem <cr> abgeschlossen werden.
Leider scheitere ich im Moment daran, das ich den Verbindungsaufbau nicht hin bekomme.
Ich würde gerne zu Testzwecken den PW? Befehl absenden und danach das Ergebnis in einer Variable stehen haben.
Vielleicht kann mir hier jemand ein kleines Beispiel schreiben.
Ich hab das ganze mit use Net::Telnet (); versucht.
ein Normales Telenet sieht so aus:
Code:
telnet 192.168.255.213 Trying 192.168.255.213... Connected to 192.168.255.213. Escape character is '^]'. BridgeCo AG Telnet server PW? PWON
Code:
$denon = new Net::Telnet (Timeout => 2, Errmode => 'die', Prompt => '/'); $denon->open($denonip); sleep 1; $output = $denon->print('PW?'.'\r'); print $output;
ein "expect"-Script das funktioniert habe ich gefunden.
Code:
#!/usr/bin/expect set timeout 2 set dencmd [lindex $argv 0] log_user 0 spawn telnet 192.168.255.213 expect "Trying" expect { timeout { send_user "\rTimeout waiting for Denon response.\r" send_user "$expect_out(buffer)\r" exit } "Connection refused" { send_user "UNABLE\n" exit } "BridgeCo AG Telnet server\r\n" } send "$dencmd\r" expect "$dencmd\r\n" expect "*\r" send_user "$expect_out(buffer)\n" exit
Ergebnis: PWON
Aufruf denon MV?
Ergebnis:MV45
Kommentar