Onkyo Python Script

#!/usr/bin/python
import socket
import sys
from time import sleep

def osend(comx):
s = socket.socket()
host = ‚192.168.0.20‘
port = 60128

s.settimeout(5)
try:
s.connect((host, port))
command = ‚ISCP\x00\x00\x00\x10\x00\x00\x00\x08\x01\x00\x00\x00!1‘ + comx + ‚\r‘
s.send(command.encode(‚utf-8′))
sleep(0.15)
data = s.recv(1028)
print(data)
dataStr = str( data, encoding=’utf8‘ )
dataStr = dataStr.split(‚!‘)[1]
dataStr = dataStr[4:6]
result = int(dataStr,16)
return result
s.close                     # Close the socket when done
except socket.timeout as e:
print(‚Keine Verbindung zum Receiver!‘)
except ValueError as e:
print(‚Commando falsch oder Werte!‘)

def vol_hex(xx):

wert2 = hex(xx)
wert3 = str(wert2)
wert3 = wert3.split(‚x‘)[1]
wert4 = wert3.upper()
if xx < 16: wert4 = „0“ + wert4
return wert4

ausgleich = 12

if len(sys.argv) > 1:
if sys.argv[1] == „getvol“:
com = „MVLQSTN“
print(osend(com))
elif sys.argv[1] == „dis“:
com = „DIF“ + sys.argv[2]
print(osend(com))
elif sys.argv[1] == „setvol“:
wert = int(sys.argv[2])
com = „MVL“ + vol_hex(wert)
osend(com)
elif sys.argv[1] == „volup“:
com = „MVLUP“
osend(com)
elif sys.argv[1] == „voldown“:
com = „MVLDOWN“
osend(com)
elif sys.argv[1] == „getmute“:
com = „AMTQSTN“
print(osend(com))
elif sys.argv[1] == „setmute“:
com = „AMT“ + sys.argv[2]
osend(com)
elif sys.argv[1] == „togglemute“:
com = „AMTTG“
osend(com)
elif sys.argv[1] == „setDyEQ“:
com =“ADQ“ + sys.argv[2]
osend(com)
elif sys.argv[1] == „getDyEQ“:
com =“ADQQSTN“
print(osend(com))
elif sys.argv[1] == „setDyV“:
com =“ADV“ + sys.argv[2]
osend(com)
elif sys.argv[1] == „getDyV“:
com =“ADVQSTN“
print(osend(com))
elif sys.argv[1] == „toggleNORM“:
if osend(„ADQQSTN“) == 1 and osend(„ADVQSTN“) == 1:
osend(„ADQ00“)
vol_ak = int(osend(„MVLQSTN“))+ausgleich
com = „MVL“ + vol_hex(vol_ak)
osend(com)
else:
osend(„ADQ01“)
osend(„ADV01“)
vol_ak = int(osend(„MVLQSTN“))-ausgleich
com = „MVL“ + vol_hex(vol_ak)
osend(com)
else:
com = sys.argv[1]
if len(sys.argv) == 3: com = com + sys.argv[2]
print(osend(com))

Kategorisiert in: Linux & Co

Dieser Artikel wurde verfasst von aziell

Kommentare sind geschlossen.

16. Februar 2015 16:41 Veröffentlicht von