Skip to content

Instantly share code, notes, and snippets.

@shiona
Created January 11, 2018 09:06
Show Gist options
  • Select an option

  • Save shiona/978e438c1781b237344e9b2ab75d5618 to your computer and use it in GitHub Desktop.

Select an option

Save shiona/978e438c1781b237344e9b2ab75d5618 to your computer and use it in GitHub Desktop.
One For All Nevo URC-8800 messaging
chan up: 04
chan dw: 05
vol up: 06
vol dw: 07
mute: 08
num 1: 09
num 2: 0a
...
num 0: 12
left: 28
right: 29
up: 26
down: 27
ok: 2a
input: 16
display: 2e
sap: 30
exit: 24
srcmenu: 21
list: 48
return: 15
red: 4d
green: 4e
yellow: 4f
blue: 50
This data is gathered from listening to the connection between a tablet and a URC-8800.
These notes are in no particular order.
The device works significantly better if connected to a wlan as a client. Using the
device itself as an AP seems to cause all kinds of problems.
For some reason I can't understand, my samsung TV responds differently to the same
message sent to IR-bridge by the remote and a pc running this script. I assume it
has something to do with timing/splitting of the packets/waiting or not waiting
for the response.
I'm working on reversing the actual software that sends the IR commands, the goal
being able to write a LIRC-compatible bridge.
import socket
TCP_IP = '192.168.40.203'
TCP_PORT = 54000
BUF_SIZE = 64
def send_samsung(msg):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
target_device = b'\x08\x03' #Samsung TV
s.send(b'\x00\x00\x10\x41\x00\x07\x01'+target_device+msg+b'\x00\x00\x00')
s.send(b'\x00\x00\x10\x41\x00')
data = s.recv(BUF_SIZE)
s.close()
print("received: " + ":".join("{:02x}".format(c) for c in data))
send_samsung(b'\x08')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment