CCU1 CCU2 Viele Geräte von Pioneer wie z.B. AVReceiver oder BlueRayPlayer lassen sich über LAN steuern. Hierzu wird eine Telnet-Verbindung zum Gerät aufgebaut und das Gerät über Steuercodes bedienet oder der Status ausgelesen. Wie ich gelesen habe ist dies auch auf andere Herstellen wie z.B. Denon anwendbar, dies kann ich aber leider nicht testen.
Ihr könnt vorab testen ob euer Gerät über Telnet steuer bar ist in dem ihr es wie folgt aufruft:
Code: Alles auswählen
telnet IP_des_Geräts
dann ist alles superTrying 192.168.181.24...
Connected to 192.168.181.24.
Escape character is '^]'.
BridgeCo AG Telnet server
Ich habe eine Tool für die CCU geschrieben was diese Verbindung aufbaut und gewünschte Steuercodes an dieses sendet.
In dem ZIP-File findet ihr vier Dateien, einmal das eigentliche Programm telnet_clientCCU, zwei Beispiele für die Steuerdateien hier on.txt und off.txt und ein PDF von Pioneer mit einer Liste aller Steuercodes.
Das Programm liest zur Laufzeit ein übergebenes Textfile mit folgendem Aufbau ein:
Code: Alles auswählen
<ACTION>PO</ACTION> //Main Power ON
<ACTION>040VL</ACTION> //Main Lautstaerke auf -40dB
<ACTION>05FN</ACTION> //Main source TV/Sat
<ACTION>apo</ACTION> //Zone 2 Power ON
<ACTION>35ZV</ACTION> //Zone 2 Lautstaerke auf -45dB
<ACTION>02ZS</ACTION> //Zone 2 source Tuner
Es wird nur ausgewertet was zwischen <ACTION> und </ACTION> steht.
Hier würde jetzt die MAIN-Zone, also der normale Verstärkerausgang, des AVReceiver eingeschaltet, die Lautstärke auf -40dB gesetzt und als Quelle TV/Sat ausgewählt. Die Zone 2 würde ebenfalls eingeschaltet, die Lautstärke auf -45 dB gesetzt und die Quelle Radio gewählt.
Wie zu sehen sind mehrere Befehle in ein File ablegbar die nacheinander abgearbeitet werden und anschließend die Verbindung zum Gerät wieder getrennt wird.
Das Programm und das Textfile müßt ihr via FTP auf eure CCU kopieren.
Für das Programm und die Steuerungsfiles empfehle ich sie nach /usr/local/addons/ zu kopieren.
Das Programm müßt ihr anschließend über Telnet z.B. mit Putty noch mit folgenden Befehlen (ich gehe hier von meinen Beispielfaden aus) ausführbar und lesbar machen:
Code: Alles auswählen
chmod +rx /usr/local/addons/telnet_clientCCU
chmod +r /usr/local/addons/on.txt
Jetzt könnt ihr auf der Console schon ausprobieren ob das Tool funktioniert indem ihr das Programm wie folgt aufruft:
Code: Alles auswählen
/usr/local/addons/telnet_clientCCU 192.168.0.123 23 /usr/local/addons/on.txt
In Programmen der CCU wäre das Tool z.B. über system.exec aufrufbar was aber nicht empfehle!!!
Beispiel:
Code: Alles auswählen
string stdout;
string stderr;
system.Exec ("/usr/local/addons/telnet_clientCCU 192.168.0.123 23 /usr/local/addons/on.txt", &stdout, &stderr);
Hier ein Beispiel:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/telnet_clientCCU 192.168.0.123 23 /usr/local/addons/on.txt");
Gruß
Saho