CEC
A Node object whose type is CEC. This node is the input source for CEC streams.
Configuration
{
"p2p_mode" : String,
"logical_addresses" : Object
}
| Member name | Type | Description |
|---|---|---|
| p2p_mode | String | CEC handling when the device operates point-to-point: API or PASSTHROUGH (default). In PASSTHROUGH, CEC data passes between the paired devices. In API mode, CEC data is injected from the API to the enabled logical addresses. |
| logical_addresses | Object | One Boolean per CEC logical address. |
Logical addresses
{
"0_tv": Boolean,
"1_recording_device_1": Boolean,
"2_recording_device_2": Boolean,
"3_tuner_1": Boolean,
"4_playback_device_1": Boolean,
"5_audio_system": Boolean,
"6_tuner_2": Boolean,
"7_tuner_3": Boolean,
"8_playback_device_2": Boolean,
"9_recording_device_3": Boolean,
"10_tuner_4": Boolean,
"11_playback_device_3": Boolean,
"12_reserved": Boolean,
"13_reserved": Boolean,
"14_free_use": Boolean
}
true enables an address, false disables it. The default enables only 14_free_use.
A set property request needs to name only the addresses being changed:
set 001ec0f04d9c property nodes[CEC:0].configuration.logical_addresses, 0_tv=1, 14_free_use=0
The Control Server refuses to disable every address:
INVALID_OPERATION: Operation would disable all logical addresses, which is not allowed
Addressing modes
- On a receiver (RX) or transmitter (TX) the CEC node index is 0. On a transceiver (TR), CEC in (TX side) is index 0 and CEC out (RX side) is index 1.
- With a single logical address enabled, a CEC message received at that address is acknowledged on the CEC bus and forwarded to the Control Server. The source address of an outgoing message is overwritten by the CEC module.
- With multiple logical addresses enabled, a received message addressed to any enabled address is acknowledged and forwarded; messages to other addresses are discarded. Outgoing messages are sent as-is, so the caller controls the source address.
Status
None
Inputs
None
Example
As returned by get device:
{
"type": "CEC",
"index": 0,
"configuration": {
"p2p_mode": "PASSTHROUGH",
"logical_addresses": {
"0_tv": false,
"1_recording_device_1": false,
"2_recording_device_2": false,
"3_tuner_1": false,
"4_playback_device_1": false,
"5_audio_system": false,
"6_tuner_2": false,
"7_tuner_3": false,
"8_playback_device_2": false,
"9_recording_device_3": false,
"10_tuner_4": false,
"11_playback_device_3": false,
"12_reserved": false,
"13_reserved": false,
"14_free_use": true
}
},
"status": {},
"inputs": []
}
Transceivers
A transceiver has two CEC nodes: index 0 (CEC in, TX side) and index 1 (CEC out, RX side). The second node's p2p_mode always matches node 0.