Funny, I want to do the same thing too :-)

There exists a protocol for network remotes already, and it's implemented by some newer consumer hardware. Also, there exists a decent Python library for dealing with it!

The protocol is DLNA (Digital Livingroom Network Alliance, or somesuch), and the protocol is based on UPnP, and is mostly publicly available. (DLNA certification is not openly available)
The library is Coherence, and can be found at 

And just a week ago, I tweeted that "someone should marry LIRC and Coherence" :-)



Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable.

On Fri, Jan 13, 2012 at 6:15 PM, Loren M. Lang <> wrote:
I'm looking into developing a network protocol for a non-IR based Remote
Control app.  I'd like to be able to send generic events like Play,
Pause, Next, etc. via LIRC to various apps like Hulu and other media
players that support LIRC.  Looking at the existing UDP Network
protocol, it seems to be closely related to a low-level IR
communications and uses LIRC to decode it into usable IR Codes.  In my
case, there is no real remote and no need to decode pulses of IR into a
bit stream.  I just want to send Play and, with the right configuration
file in lircd, have it send Play to any listeners.

I'm considering whether I should look elsewhere like generating HID
Consumer controls into the Kernel, or if I should proceed with using
LIRC since all the apps I use have support for it.  I'd expect I might
use a protocol like sending "play\n" which my driver translates into a
16-bit code and uses a standard remote mapping to map it back into a key
for any apps to respond to.

Loren M. Lang

Public Key:
Fingerprint: 10A0 7AE2 DAF5 4780 888A  3FA4 DCEE BB39 7654 DE5B

RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!