Sky Q Missing Thumbnails

22nd March Edit: Version 4 of the EPG rolled out today to all users. This changes the way the data is loaded from UDP to TCP, and should fix this bug.

There’s a common ‘bug’ with Sky Q that results in people seeing empty blue squares where the thumbnails should be.

I’ve tried to help folks on Sky’s own forum with this issue, but my post got deleted – presumably because I was guiding people on how to get information from their boxes via the Q App API. Whoops.

Anyway, this issue comes about because while some of the Sky Q guide content is loaded over a nice sensible HTTP TCP connection, they use extensively use UDP (as discussed yesterday) to request and receive data for the guide panels, and this is inherently unreliable.
Continue reading “Sky Q Missing Thumbnails”

Sky Q UPnP, REST and WebSocket API interfaces

It’s been a few years since we got into digging around Sky+HD’s UPnP control protocol, but having recently updated to Sky Q, there are a few changes that break the way we were talking to the box.

Backwards Compatibility

The Sky Q box contains pretty much the same UPnP advertised control system as Sky+HD, and includes a couple of new endpoints (service nodes) to do things that don’t seem too interesting. A “Pairing” service node and a “BasicManagement” service node.

There is one potentially breaking change though. The SkyServe2 service node now provides the service type urn:schemas-nds-com:service:SkyPlay:2 as well as the SkyControl2 service node. If you register a listener, or make any calls against the SkyServe2 node, you won’t get any useful data. This means if you’re using a library like dalhundal/sky-plus-hd, you’ll need to skip over the response from SkyServe2, and just use SkyControl2 like before.
Continue reading “Sky Q UPnP, REST and WebSocket API interfaces”

MAMP Pro on Yosemite Beta 5

Update: The developers of MAMP recommend the following workaround:

Workaround for the 10.10 Preview 5 bug: Rename the file “envvars” located in into “_envvars”

If you’re running MAMP Pro 3 and you installed Yosemite preview 5, you’ve probably noticed Apache won’t start anymore, with the following error:

dyld: Symbol not found: _iconv
Referenced from: /usr/lib/libmecabra.dylib
Expected in: /Applications/MAMP/Library/lib/libiconv.2.dylib
in /usr/lib/libmecabra.dylib

This is some kind of library error because of an updated library in the newest preview. You can fix this by forcing your own version of libiconv onto your computer, though you have to replace the system default version of libiconv, which in theory could cause bad things to happen – i’ve not noticed anything, but your milage will vary – and you should make sure you’ve got a system backup of everything incase the worst does happen.

Hopefully you’ve already got homebrew installed – if not, grab it from and follow those instructions, then:

1) Allow homebrew to install duplicates of system software: brew tap homebrew/dupes
2) Install libiconv: brew install libiconv
3) Force it to link (replace) the system default: brew link libiconv --force
4) Delete the MAMP version of libiconv:
rm /Applications/MAMP/Library/lib/libiconv.2.dylib

Then everything should start properly.

MAMP Pro under OS X Mavericks

If you’re a developer and you got access to use Mac OS X 10.9 Mavericks earlier this week, you’ll notice that it’s actually mostly a hassle free experience, apart from changes to the code signing and authorisation model that mean non-signed applications can no longer elevate permissions to root level.

Now, this shouldn’t matter to most people – but if you use MAMP Pro, you’ll find this isn’t signed at all, and means it’s unable to get access to write to the important system files. You’ll get an error about not being able to write to /etc/hosts.

I’m sure the next version of MAMP will fix this, but for now, you can self sign the app to give it permission to modify system preferences.

You just need to open keychain access, click on it’s menu bar item “Keychain Access”, then “Certificate Assistant”, and “Create a Certificate”. For Name, enter your name, Identify Type should be kept as Self Signed Root, and Certificate Type should be code signing. You can pretty much click continue on everything else until your certificate.

Finally, open terminal, and run:

codesign -s “Your Name” /Applications/MAMP\ Pro/MAMP\

That’ll sign the application as you and let you execute it.

Obviously, it goes without saying you’re telling your mac you trust any app you sign – so only do this if you’re confident MAMP Pro (or any other app that has issues on Mavericks with this error) is trustworthy.


If you still have issues, that probably means the signing didn’t take properly, you can run: codesign -v /Applications/MAMP\ PRO/MAMP\ -v

Once signed, that should tell you that MAMP is “valid on disk” and it “satisfies its Designated Requirement” – anything else and the signing didn’t work properly and you should try again!

The Sky+HD Picasso DNLA control server protocol

Tonight, I released my first ever open source code that wasn’t a wordpress plugin, SkyRemote. It’s a python based IP remote control for Sky+HD boxes with the new Picasso EPG. This is currently the DRX980 and the DRX985 boxes.

It’s free as in beer, and licensed under the GPLv3. It’s based on a piece of software called “Miranda” which lets you browse UPnP endpoints.

Full information is on github but I wanted to document the DNLA endpoints available for people to find. That documentation is after the break

Continue reading “The Sky+HD Picasso DNLA control server protocol”