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.
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:
python skyRemote.py
These available "control" commands are currently:
GetMediaInfo_Ext
X_NDS_SetUserPIN
Send the user's PIN (Used to unlock pre-watershed channels and recorded programming)Play
Equivalent of "Play" button (prompts for play speed, can be used to fast forward)Pause
Equivalent of "Pause" buttonGetPositionInfo
GetMediaInfo
GetTransportInfo
Stop
Equivalent of "Stop" buttonGetDeviceCapabilities
Next
X_NDS_GetCACondition
SetAVTransportURI
GetTransportSettings
Seek
GetCurrentTransportActions
Previous
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:
control pause
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