
Make sure you run cec-client without to -s flag to make sure it's still running to see the response.All devices on Unix are mapped to a device file, the serial ports would be /dev/ttyS0 /dev/ttyS1. My examples assume that your Raspberry Pi is device 1 (default for mine), but you may want to read my answer here to make sure you understand CEC addressing and find your device numbers. If your TV doesn't support User Control Pressed, then you can hope that it has Vendor Specific commands or RC codes, but I don't know how you would go about figuring that out. 05 - Unable to determine (TV is in a state where it can't determine if the command is supported). 04 - refused (TV recognized the command and the control, but something else prevented it from working). 03 - invalid operand (presumably this would be returned if User Control Pressed is supported, but the specific control (e.g. 02 - cannot provide source (obviously this one is unlikely). Why is the feature abort returned (the 4th number, 04 in my example)?. The 3rd number ( 8e in my example) should be 44. Is the feature abort that is returned even for the same command (as you see from the example feature abort, my TV says that it doesn't support Menu Status when I try to send a User Control Pressed command.). 01:00:8e:04), you should check the following: echo tx "10:44:34" | cec-client to try Input Select). I would test to see if your TV supports User Control Pressed (e.g.
I am not aware of a way to get a list of all supported commands (and I have read through most of the specs).
Then I use the following regex to find non-standard replies: TRAFFIC: \ > (?!01:90)(?!0f:87) Update 2: I am experimenting now with the following (value equal to 36 is switching off my TV, so I skip it): for z in 10 e0 2fĮcho "tx $z:$i" | cec-client -s > cectest-$z.txt What is about checking result? What is the correct approach to understanding if the command is supported or not? Should I look for the reply TRAFFIC message? Looks like I can send all possible commands with bash. I think about the following approach - what if I try to send all possible commands one-by-one and then parse the result somehow. Is there any way to get a full list of supported commands? doesn't help - it looks like many commands are not supported (see sample log at ). I found how to switch it off and how to change sources: echo "standby 0" | cec-client -s' # switch offĮcho "tx 2F:82:10:00" | cec-client -s' # hdmi1Įcho "tx 2F:82:20:00" | cec-client -s' # hdmi2īut I can not find commands to change channels, increase/decrease volume. I have Samsung TV (UE46B8000XW) and Raspberry PI with OpenELEC install (cec-client is there).