Hallo,
es geht mal wieder um einen Onkyo AV Receiver (Onkyo_TX-NR676_676E). Ich habe jetzt viel im Netz und auch hier im Forum gelesen...
viewtopic.php?f=41&t=14936&hilit=onkyo
So richtig verstehen ich das noch nicht. Ist auch schon älter, ist Netcat noch aktuell?
viewtopic.php?f=26&t=13299
Habe ich auch gefunden, aber ich glaube auch irgendwo gelesen zu haben, dass Socat auf neuerer Firmware nicht mehr funktioniert.
Auch habe ich gelesen, dass es über einen Webserver steuerbar ist, den könnte ich auf meiner Synology laufen lassen und dann via http://ip_address_of_webserver/path/to/script/onkyo.php?command=PWR¶ms=00 (Off) schalten (glaube ich zumin., getestet habe ich es noch nicht, Receiver ist noch nicht da)
Gibt's inzwischen schon eine einfache Lösung wie z.B. http://ip_onkyo:port/....PWR00 oder ein Skript? Die Codes liegen mir vor.
G.V.
Onkyo AV Receiver
Moderator: Co-Administratoren
-
- Beiträge: 507
- Registriert: 04.12.2016, 23:30
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 2 Mal
Re: Onkyo AV Receiver
so nach langen suchen und testen habe ich es hinbekommen, den richtigen http Befehl zu finden und über Browser abzusetzen, leider scheitert es jetzt an der Absetzung über die CCU...
http://192.168.2.97/onkyo.php?command=PWR¶ms=01
Edit:
Ich habe die Frage mal im CuxD Bereich gestellt ....
http://192.168.2.97/onkyo.php?command=PWR¶ms=01
Code: Alles auswählen
string url="http://192.168.2.97/onkyo.php?command=PWR&ms=01";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Ich habe die Frage mal im CuxD Bereich gestellt ....
Re: Onkyo AV Receiver
Hallo Visu,
das Thema interessiert mich auch. Habe einen TX-NR636,
teste Dein Script später einfach mal. könntest Du die Codes posten?
Gruß miael
das Thema interessiert mich auch. Habe einen TX-NR636,
teste Dein Script später einfach mal. könntest Du die Codes posten?
Gruß miael
-
- Beiträge: 507
- Registriert: 04.12.2016, 23:30
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 2 Mal
Re: Onkyo AV Receiver
1. braucht man einen Webserver, bei mir ist das ein Synology NAS, dort muss der Webserver + die PHP Apps installiert und eingerichtet werden. Anleitung:
https://www.synology.com/de-de/knowledg ... nology_NAS
Und CuxD muss auf der CCU installiert sein.
Auf dem Webserver muss eine Datei onkyo.php angelegt werden: (habe ich von dieser Seite: https://www.domoticz.com/wiki/Onkyo)
EDIT:
Leider gibt es wohl ein BUG:
Hier muss die IP vom Onkyo rein, Port muss bleiben
sind die Befehle, die können geändert werden, eine Erweiterung um eine 5. Zeile habe ich noch nicht hinbekommen, verursacht zwar keine Störung, wird aber auch nicht abgearbeitet, leider fehlen mir hier die php Kenntnisse ...
EDIT:
geht doch, einfach neuen Befehl eine Zeile darunter dazuschreiben:
2. Der http Befehl sieht so aus: http://192.168.2.97/onkyo.php?command=PWR&purams=01
rot muss durch deine IP vom Webserver ersetzt werden und blau sind die Onkyo Befehle, musst du mal nach google, ISCP Befehle, da gibt's einige Tabellen im Netz.
3. eigentlich sollte CuxD via Skript diesen Befehl ausführen,
leider gibt's da gerade noch ein Problem, siehe hier: (gelöst)
viewtopic.php?f=37&t=39457
https://www.synology.com/de-de/knowledg ... nology_NAS
Und CuxD muss auf der CCU installiert sein.
Auf dem Webserver muss eine Datei onkyo.php angelegt werden: (habe ich von dieser Seite: https://www.domoticz.com/wiki/Onkyo)
EDIT:
Leider gibt es wohl ein BUG:
Daher habe ich überall aus "params" "purams" gemachtBadenPower hat geschrieben:Das ist ein Uralt-Bug der ReGaHSS.Visu hat geschrieben:Leider wird dann aber auch jetzt nach dem erneuten Ändern aus ¶ms wieder dieses ¶ms
Sobald du die Zeichenfolge ¶ speichern möchtest wird daraus das Paragraphenzeichen
Code: Alles auswählen
<?php
$command = $_GET['command'];
$params = $_GET['purams'];
$hostname = '192.168.2.96';
$port = 60128;
switch ($command)
{
case 'PWR':
case 'ZPW':
case 'SLI':
case 'TUN':
$message = '!1' . $command . $purams;
break;
case 'MVL':
if ($purams > 100)
exit(1);
$message = '!1' . $command . strtoupper(str_pad(dechex($purams), 2, '0', STR_PAD_LEFT));
break;
default:
exit(1);
}
print $message;
$fp = pfsockopen($hostname, $port);
$packet = "ISCP\x00\x00\x00\x10\x00\x00\x00" . chr(strlen($message) + 1) . "\x01\x00\x00\x00" . $message . "\x0D";
fwrite($fp, $packet);
fclose($fp);
?>
Code: Alles auswählen
$hostname = '192.168.2.96';
$port = 60128;
Code: Alles auswählen
case 'PWR':
case 'ZPW':
case 'SLI':
case 'TUN':
EDIT:
geht doch, einfach neuen Befehl eine Zeile darunter dazuschreiben:
Code: Alles auswählen
case 'PWR':
case 'ZPW':
case 'SLI':
case 'TUN':
case 'AMT':
case 'USW':
case 'USW':
2. Der http Befehl sieht so aus: http://192.168.2.97/onkyo.php?command=PWR&purams=01
rot muss durch deine IP vom Webserver ersetzt werden und blau sind die Onkyo Befehle, musst du mal nach google, ISCP Befehle, da gibt's einige Tabellen im Netz.
3. eigentlich sollte CuxD via Skript diesen Befehl ausführen,
Code: Alles auswählen
string url="http://192.168.2.97/onkyo.php?command=PWR&purams=01";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
viewtopic.php?f=37&t=39457
Zuletzt geändert von Visu am 11.10.2017, 17:29, insgesamt 1-mal geändert.