cec-cdi is a CDI Extension to interface with libcec through cec-client.
Install
- Install cec-client in
/usr/local/bin/cec-client
(for Raspbian a premade deb is available) - Add cec-cdi to pom.xml:
<dependency> <groupId>nl.edubits.cec</groupId> <artifactId>cec-cdi</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
Usage examples
Observe CEC messages
@ApplicationScoped public class CecObserverBean { public void tvMessage(@Observes @CecSource(TV) Message message) { logger.info("Message received from TV: " + message); } }
Send CEC message
public class SendExample { @Inject private CecConnection connection; public void send() { // Send message from RECORDER1 (by default the device running this code) to the TV to turn on connection.sendMessage(new Message(RECORDER1, TV, IMAGE_VIEW_ON, Collections.emptyList(), "")); // Send message from RECORDER1 (by default the device running this code) to the TV to turn off connection.sendMessage(new Message(RECORDER1, TV, STANDBY, Collections.emptyList(), "")); } }
Resources
- libcec
- CEC-O-MATIC – Translate CEC messages