Dusky Control - Take control of your Sky digibox

Home

Latest News

Controllers:
RF2 port

I/O port


Software

PVR integration

Recommended
TV cards

Documentation

FAQ

Order

Support /
Contact Us

View Cart

Dusky Control - Sky Controller Serial Protcool Documentation

  • Baud rate: 57600
  • Bits: 8
  • Flow control: none
  • Parity: none
  • Stop bits: 1

The controller is a standard RS232 DCE unit, so to connect it to a standard DTE (eg. a PC) you would use a straight-wired 9-way D-type male to female cable. The controller has a female 9-way D-type on it.

The pin out is ground on pin 5, the controller receives data on pin 3 and transmits data on pin 2. (There are no hardware flow control signals.)

Commands can be sent as fast as you like. The controller will automatically send to the sky boxes at the maximum rate the sky box can handle reliably. (For certain operations it is possible for the Sky box to respond slowly to the commands and hence build up a backlog, eg. sending repeated 'down' to scroll the EPG - in these cases you may need to limit the rate you send commands at.)


CommandDescription ASCIIhex
C0x43Send command, output number in next byte (output number is based from zero - ie. for the output labelled '1' use 0x00 here, for '2' use 0x01, etc. After output number, 2 binary bytes. (see below)
A0x41Send command, pure ASCII version. (see below)
q0x71Query firmware version
p0x70'ping' - makes controller respond 'OK'. Only available in version 0.9.6 onwards. This command does not take any parameters.
ProGraMmoDEBSet baud rate. Version 1.0.0 onwards. Please contact us if you have versions 0.9.6, 0.9.7 or <0.9.5 and need a different baud rate.
next byte (ASCII character):
'0': 300
'1': 600
'2': 1200
'3': 2400
'4': 4800
'5': 9600
'6': 14400
'7': 19200
'8': 38400
'9': 57600
So for example send the string 'ProGraMmoDEB7' to change the controller to 19200 baud. The controller will reply 'OK' then move to the new baud rate on the next power cycle. The setting will persist in EEPROM until another baud command is issued. (The command is the string 'programmode' in mixed case followed by B. The mixed case is to avoid any chance of an accidental change to the baud rate.)
s0x73Setup parameters, output zero part 1 (prefixed by ProGraMmoDE from 4.0.0)
t0x74Setup parameters, output zero part 2 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
u0x75Setup parameters, output one part 1 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
v0x76Setup parameters, output one part 2 (prefixed by ProGraMmoDE from 4.0.0, removed from 4.0.3)
00x30Send command, output zero (that is, the output labelled 'Output 1'). Two binary bytes follow. [deprecated, using C / 0x43 instead].
10x31Send command, output one (the output labelled 'Output 2'). Two binary bytes follow. [deprecated, using C / 0x43 instead]
B0x42Set baud rate. Next byte is as shown for 'ProGraMmoDEB'. [deprecated, was only available in versions 0.9.5, 0.9.8 and 0.9.9.]

ASCII control

You can talk to controllers from V1.0.0 onwards using a pure ASCII protocol. This is usually the method we recommend using for new applications. Commands break down like this:
As01sk101x
         ^ x: end of ascii sequence
      ^^^ 101: channel number
    ^^ sk: send 'sky' button to make sure sky box is powered on and ready to accept channel number
  ^^ 01: output number (01, 02, ... ) - as labelled - 01 means the output labelled 'output 1' and so on
 ^ s: sending to sky (see 'box type, below)
^ A: start of ascii command
The full list of codes that can be sent is shown on sky infrared control codes

Box type

The second character in ASCII protocol is the box type. It can take the following values:
  • 's' : Sky (original pre-HD non-PVR box)
  • '+' : Sky+ (Sky+HD and SkyHD can also be controlled with the Sky+ codes)
  • 'h' : Sky+HD (firmware version 1.0.7 and upwards only)
See the table at the bottom of sky infrared control codes for box type values to use with the SPC4 (Super Plus Combiner).

ASCII Examples

ExampleMeaning
As018xSend '8' to sky box on output 1 of the controller
As01sk999xSend 'sky' then channel number 999 to sky box on output 1 of the controller
A+01sk999xSend 'sky' then channel number 999 to sky+/skyhd/sky+hd box on output 1 of the controller
As02sk888xSend 'sky' then channel number 888 to sky box on output 2 of the controller
Ah15tgxSend 'tv guide' to sky+HD box on output 15 of the controller

Binary protocol

This is the original method for sending commands with our controllers. The control sequence is a four bytes in binary / hex format.

The first byte is 0x43.

The second byte selects the output number to use (numbered from 0).

The third and fourther bytes indicate the infrared code to be sent, as found in the sky infrared control codes.

For example, to send the digit '1' to a sky box on output labelled '1', send the four bytes:
0x43 0x00 0x00 0x01

To send the digits '123' to a sky box on output labelled '1', send the 12 bytes:

0x43 0x00 0x00 0x01   0x43 0x00 0x00 0x02   0x43 0x00 0x00 0x03

To send the digit '1' to a sky+ box on output labelled '1', send the four bytes:
0x43 0x00 0x0C 0x01

To send the digit '1' to a sky+ box on output labelled '2', send the four bytes:
0x43 0x01 0x0C 0x01

To send the 'sky' button to a sky+ box on output labelled '2' (which will make sure it is switched on and go back to the 'live tv' view), send the four bytes:
0x43 0x01 0x0C 0x80

To send the digit '1' to a sky+ box on the output labelled '5', send the four bytes:
0x43 0x04 0x0C 0x01


Joseph Heenan, joseph@dusky-control.com