{"id":94,"date":"2015-02-16T16:41:54","date_gmt":"2015-02-16T15:41:54","guid":{"rendered":"http:\/\/aziell.de\/main\/?p=94"},"modified":"2015-02-16T16:41:54","modified_gmt":"2015-02-16T15:41:54","slug":"onkyo-python-script","status":"publish","type":"post","link":"https:\/\/aziell.de\/?p=94","title":{"rendered":"Onkyo Python Script"},"content":{"rendered":"<p>#!\/usr\/bin\/python<br \/>\nimport socket<br \/>\nimport sys<br \/>\nfrom time import sleep<\/p>\n<p>def osend(comx):<br \/>\ns = socket.socket()<br \/>\nhost = &#8218;192.168.0.20&#8216;<br \/>\nport = 60128<\/p>\n<p>s.settimeout(5)<br \/>\ntry:<br \/>\ns.connect((host, port))<br \/>\ncommand = &#8218;ISCP\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x08\\x01\\x00\\x00\\x00!1&#8216; + comx + &#8218;\\r&#8216;<br \/>\ns.send(command.encode(&#8218;utf-8&#8242;))<br \/>\nsleep(0.15)<br \/>\ndata = s.recv(1028)<br \/>\nprint(data)<br \/>\ndataStr = str( data, encoding=&#8217;utf8&#8216; )<br \/>\ndataStr = dataStr.split(&#8218;!&#8216;)[1]<br \/>\ndataStr = dataStr[4:6]<br \/>\nresult = int(dataStr,16)<br \/>\nreturn result<br \/>\ns.close\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # Close the socket when done<br \/>\nexcept socket.timeout as e:<br \/>\nprint(&#8218;Keine Verbindung zum Receiver!&#8216;)<br \/>\nexcept ValueError as e:<br \/>\nprint(&#8218;Commando falsch oder Werte!&#8216;)<\/p>\n<p>def vol_hex(xx):<\/p>\n<p>wert2 = hex(xx)<br \/>\nwert3 = str(wert2)<br \/>\nwert3 = wert3.split(&#8218;x&#8216;)[1]<br \/>\nwert4 = wert3.upper()<br \/>\nif xx &lt; 16: wert4 = &#8222;0&#8220; + wert4<br \/>\nreturn wert4<\/p>\n<p>ausgleich = 12<\/p>\n<p>if len(sys.argv) &gt; 1:<br \/>\nif sys.argv[1] == &#8222;getvol&#8220;:<br \/>\ncom = &#8222;MVLQSTN&#8220;<br \/>\nprint(osend(com))<br \/>\nelif sys.argv[1] == &#8222;dis&#8220;:<br \/>\ncom = &#8222;DIF&#8220; + sys.argv[2]<br \/>\nprint(osend(com))<br \/>\nelif sys.argv[1] == &#8222;setvol&#8220;:<br \/>\nwert = int(sys.argv[2])<br \/>\ncom = &#8222;MVL&#8220; + vol_hex(wert)<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;volup&#8220;:<br \/>\ncom = &#8222;MVLUP&#8220;<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;voldown&#8220;:<br \/>\ncom = &#8222;MVLDOWN&#8220;<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;getmute&#8220;:<br \/>\ncom = &#8222;AMTQSTN&#8220;<br \/>\nprint(osend(com))<br \/>\nelif sys.argv[1] == &#8222;setmute&#8220;:<br \/>\ncom = &#8222;AMT&#8220; + sys.argv[2]<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;togglemute&#8220;:<br \/>\ncom = &#8222;AMTTG&#8220;<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;setDyEQ&#8220;:<br \/>\ncom =&#8220;ADQ&#8220; + sys.argv[2]<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;getDyEQ&#8220;:<br \/>\ncom =&#8220;ADQQSTN&#8220;<br \/>\nprint(osend(com))<br \/>\nelif sys.argv[1] == &#8222;setDyV&#8220;:<br \/>\ncom =&#8220;ADV&#8220; + sys.argv[2]<br \/>\nosend(com)<br \/>\nelif sys.argv[1] == &#8222;getDyV&#8220;:<br \/>\ncom =&#8220;ADVQSTN&#8220;<br \/>\nprint(osend(com))<br \/>\nelif sys.argv[1] == &#8222;toggleNORM&#8220;:<br \/>\nif osend(&#8222;ADQQSTN&#8220;) == 1 and osend(&#8222;ADVQSTN&#8220;) == 1:<br \/>\nosend(&#8222;ADQ00&#8220;)<br \/>\nvol_ak = int(osend(&#8222;MVLQSTN&#8220;))+ausgleich<br \/>\ncom = &#8222;MVL&#8220; + vol_hex(vol_ak)<br \/>\nosend(com)<br \/>\nelse:<br \/>\nosend(&#8222;ADQ01&#8220;)<br \/>\nosend(&#8222;ADV01&#8220;)<br \/>\nvol_ak = int(osend(&#8222;MVLQSTN&#8220;))-ausgleich<br \/>\ncom = &#8222;MVL&#8220; + vol_hex(vol_ak)<br \/>\nosend(com)<br \/>\nelse:<br \/>\ncom = sys.argv[1]<br \/>\nif len(sys.argv) == 3: com = com + sys.argv[2]<br \/>\nprint(osend(com))<\/p>\n","protected":false},"excerpt":{"rendered":"#!\/usr\/bin\/python import socket import sys from time import sleep def osend(comx): s = socket.socket() host = &#8218;192.168.0.20&#8216; port = 60128 s.settimeout(5) try: s.connect((host, port)) command = &#8218;ISCP\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x08\\x01\\x00\\x00\\x00!1&#8216; + comx + &#8218;\\r&#8216; s.send(command.encode(&#8218;utf-8&#8242;)) sleep(0.15) data = s.recv(1028) print(data) dataStr = str( data, encoding=&#8217;utf8&#8216; ) dataStr = dataStr.split(&#8218;!&#8216;)[1] dataStr = dataStr[4:6] result = int(dataStr,16) return result s.close\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8230; <a class=\"view-article\" href=\"https:\/\/aziell.de\/?p=94\">Artikel ansehen<\/a>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4],"tags":[],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-linux-co"],"_links":{"self":[{"href":"https:\/\/aziell.de\/index.php?rest_route=\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aziell.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aziell.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aziell.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aziell.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=94"}],"version-history":[{"count":0,"href":"https:\/\/aziell.de\/index.php?rest_route=\/wp\/v2\/posts\/94\/revisions"}],"wp:attachment":[{"href":"https:\/\/aziell.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aziell.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aziell.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}