SkyHD box IP control

In the UK, Sky have updated their iPad app to allow network control of their SkyHD box. Channel changing and PVR functions are implemented.

I’m hoping this means someone can sniff the network traffic and see what commands are sent to the box, so that we can use replicate as a TCP/IP plugin. Anyone up to the challenge…?

jtmoore.

Ah… I miss my Sky+ since I moved to the US :frowning:

Looks like it was only just pushed out and I’m sure somebody will be pretty quick at reverse engineering it for another platform soon. Once they’ve done the hard work, then depending on the protocol its uses, then DirecTV plugin would we a good starting point.

You should make a post on remotecentral and a couple of the other AV forums also, since there’s likely to be more visibility there.

Might want to keep an eye on these:

http://tech.groups.yahoo.com/group/Crestron/message/164242
http://www.avforums.com/forums/home-automation-lighting-security-climate-control/1666927-sky-box-ip-control.html

Thanks strangely. I’ll keep an eye on those threads. Looks like the power on function could be missing, that would severly limit the usefulness for home automation purposes.

Just leave it on :slight_smile: I think the sky boxes are a bit better designed than the DirecTV ones here in the US, but the DTV boxes draw about the same power in standby as they do as fully on, and it might be a similar story with the Sky boxes.

I had a go with the intel upnp device spy the other night and could not add my SkyHD box.

Also doing a low lefl port scan of th sky box showed nothing was open, so for now Sky look to have locked it down (well at least from me) :slight_smile:

It’s such a shame Sky haven’t given total IP control and released an API, the potential is huge!

Hi

Using the upnp sniffer (Blog - Mikula Beutl) I can see the commands from the app and how (i think) they are being interpreted my Sky HD box. What’s interestingly is that it seems to bounce around using various source ports it uses; but to show you it can be seen, here are some of things under ‘Packet Information’ i could capture.

All commands seem to reference an XML file, but I cannot seem to access it - it’s claims to be here - http://192.x.x.x:49153/description2.xml

upnp:rootdevice
urn:schemas-nds-com:device:SkyServe:2
urn:schemas-nds-com:service:SkyBook:2
urn:schemas-nds-com:service:SkyBrowse:2

Choosing to watch/play something results in things like this appearing

urn:schemas-nds-com:service:SkyPlay:2
urn:schemas-nds-com:service:SkyCM:2
urn:schemas-nds-com:service:SkyRC:2
urn:schemas-nds-com:device:SkyControl:2

There seems to be a structure to how the commands are set with what I assume is my iPad or STB UUID sandwiched either side.

Add to the above…

i’ve just seen this on the Skyusers forum here…

http://www.skyuser.co.uk/forum/sky-hd-supertelly/48395-dlna-running-beta-firmware-2.

and helpful links to here too…

http://www.gladdy.co.uk/blog/2012/08/18/sky-dnla-upnp-the-ipad-app-and-the-ip-control-protocol/

I think we would need all the other xmls to know the commands that would have to be sent…

player_avt.xml
player_cm.xml
player_rc.xml

Just thought I would dust this post off as there have been a number of developments out there that might enable a code savvy person reading this, to help develop a plugin for Vera that would both control and show ‘now playing’ information etc. on a SkyHD box.

See links.

https://getsatisfaction.com/irule/topics/sending_compex_http_post_for_sky_hd_network_control_picasso

This one looks interesting as it is .js and .json.

Interesting… I hadn’t seen the js version of this… I’m actually having a play with this at the moment (gives me something to do when sitting around in hotels when travelling for work :()…

Thanks.

Chris

Hi Chris

Please can you help me out, where did you put it to get it working?

Do you think there is scope to build this into a plugin?

I haven’t got this working. I was just interested as I’ve seen some other implementations written in (from memory) Tcl or Python - neither of which I’m particularly conversant with and they looked a lot more complex. The js implementation is quite simple to do the basics, so while it probably can’t be used, it shows how it’s done…

So… From my quick look this morning (I’m at work, so haven’t looked in detail), I think yes, it’s probably not too hard to build a plugin. However, I haven’t used the Lua IP library for anything more than grabbing a web page or some json, and I think this may need http header manipulation… I think this can be done in the Lua lib, but I’ve not done it myself…

I’ve just started looking at this in the past few days - as I said, I’m travelling for work, and with not so much to do in the evenings I spend a bit of time researching the next “fun thing” to play with :wink:

Cheers
Chris

A similar release here too.