CEC over IP Control


Overview

CEC - Consumer Electronics Control - is an HDMI feature designed to allow a single remote to control multiple devices by sending commands through the HDMI cable connecting the devices together. For example, the TV remote can be used to control the Blu-Ray player connected to it.

CEC works well in a point-to-point environment where a source is dedicated to a single display. If either the source or display sends a CEC command, there is only one potential device that can receive that command.

In an HDMI switching system, a single source can be shown in multiple zones over a single HDMI cable. This makes managing CEC commands more difficult. For the picture above, the Play button on the DVD has the ability to turn on every A/V Receiver and every TV in the entire installation if CEC commands aren't managed properly.


CEC over IP

In a Just Add Power system, the problem of multiple devices communicating over CEC is resolved by cutting the CEC link between the source and the display. Any CEC command passed from a source to a Transmitter stops at the Transmitter. The same is true for a display and Receiver.

Instead, CEC over IP is treated the same way as Serial over IP and IR over IP: the control system sends a CEC command to the Just Add Power device to pass it along to the endpoint device (source or display).


Access

All CEC commands are entered via the Command Line Interface accessible via telnet to the IP address of the Transmitter or Receiver.

All Settings are case-sensitive.


Built-In Commands

These CEC commands are built-in to the Just Add Power devices and all supported drivers:

Function Command Notes
Power On cec_tv_on.sh Works on most displays
Power Off cec_tv_off.sh Works on most displays
Select HDMI 1 cec_watch_me.sh Works on most displays and AVRs
Audio Mute cec_audio_off.sh Does not work on most displays. Works on AVRs.
Audio Un-mute cec_audio_on.sh Does not work on most displays. Works on AVRs.

Custom Commands

Any CEC command can be sent by Just Add Power. It is merely a matter of knowing what command to send.

Format

CEC commands consist of a series of hex pairs where the first pair indicates the sending and receiving devices and all following pairs map to specific commands. The separator between hex pairs varies. Example: EF 82 10 00

To send a custom CEC command through Just Add Power, send CEC_SEND_BYTES followed by the CEC hex pairs separated by spaces. Example:

CEC_SEND_BYTES EF 82 10 00

Code Hunt

Like RS232 and IR, each CEC code maps to a function to tell the source or display what to do. However, because CEC is part of the HDMI standard, that same CEC code will work on every CEC-compatible device (as long as the device has been built to respond to those codes.) This makes the "Code Hunt" much simpler than it is for RS232 or IR. Just Add Power always recommends testing any CEC code, as we have discovered that manufacturers have not been consistent in their support for CEC.

We recommend www.cec-o-matic.com to hunt for CEC codes.

CEC-O-Matic, a Kwikwai supplemental is published and maintained by INCYMA (http://www.incyma.com/). We are grateful to this organization for the powerful tool they created and respect their rights to all intellectual property associated with their name and products. All credit is given to INCYMA for the CEC-O-Matic tool, which makes our CEC-deciphering lives possible.

Begin all codes in the table below with CEC_SEND_BYTES

Function Code Notes
Power On E0 04 Works on most displays
Power Off E0 36 Works on most displays
Select HDMI 1 EF 82 10 00 Works on most displays and AVRs
Select HDMI 2 EF 82 20 00 Works on most displays and AVRs
Select HDMI 3 EF 82 30 00 Works on most displays and AVRs
Audio Mute E0 71 01
E0 44 65
Varying success with each command. Try both.
Audio Un-mute E0 72 00
E0 44 66
Varying success with each command. Try both.
Toggle Mute E0 44 43  
Volume Up E0 44 41  
Volume Down E0 44 42