A python based remote control for Sky+HD boxes updated to Picasso.
Based on Craig Heffner's Miranda, which is currently on Google Code http://code.google.com/p/miranda-upnp/ and licensed under GPLv3.
How does it work?
Since Sky's Picasso update for Sky+HD boxes earlier this year, the Sky+HD box (DRX890 and DRX895, at present) boxes expose a DNLA server which, until the recent iPad application, was for an unknown reason.
This DNLA server exposes 5 control endpoints that can be used to control the Sky+ box over IP.
Miranda is a UPnP browser that lets you browse a UPnP client, and while the Sky+HD box requires a few specific changes to work with it, it pretty much does the job of browsing available methods, and lets you send things to it.
SkyRemote makes this a bit easier, by completely automating the detection of a Sky+HD box and loading the relative xml files to provide the data, and giving a simple "control" command which allows you to perform any of the "SkyPlay" control endpoint methods.
To run the script, you'll need python installed. You already have this if you're on a mac, and probably on linux too. Then you can run:
These available "control" commands are currently:
X_NDS_SetUserPINSend the user's PIN (Used to unlock pre-watershed channels and recorded programming)
PlayEquivalent of "Play" button (prompts for play speed, can be used to fast forward)
PauseEquivalent of "Pause" button
StopEquivalent of "Stop" button
Please excuse any undocumented functions, I'm still figuring all this out. You'll be prompted for any required arguments.
So, for example, if you wanted to send a "Pause" command, you can just run:
If you understnad these things, you can view the full, complete list of endpoints which are exposed by this using the command:
host details 0
You can then send a raw command with:
host send 0 SkyControl [SkyPlay|SkyRC2|SkyCM2] <command>
More information on the Sky DNLA Remote service is on my blog, at http://www.gladdy.co.uk/blog
Check the FAQ on the Wiki