askvictor / ChromecastControls

Checks if a particular Chromecast is idle, and switches off specified TV/Hifi equipment after a timeout. Also allows controlling of volume by CEC for surround-sound media.
95 stars 4 forks source link

Logging? #4

Open suspenceiskillinu opened 4 years ago

suspenceiskillinu commented 4 years ago

Is there a way to review logged attempts to adjust hifi volume for troubleshooting purposes? I am still seeing the "surround sound enabled..." message, and volume levels remain the same. Could it be because I am using a sound bar connecting via optical cable? Curious if there is a way to view historical data.

askvictor commented 4 years ago

The "surround sound enabled" message will still appear on the TV, but the volume should still be adjusted on the receiver/TV. If you run the program straight from the command line it should display the events (look in the code at the print() statements). Better logging would be a good idea too, but haven't got there yet.

You could also try using cec-client directly from the command line to test if the volume control is working as expected. See https://www.linuxuprising.com/2019/07/raspberry-pi-power-on-off-tv-connected.html

suspenceiskillinu commented 4 years ago

Thanks for the tips. I’ll try those out. I assumed I would still see the message even though the volume would adjust. In my case, the volume doesn’t adjust, which is a bit odd. I’ll report back what I find. Thanks again!

suspenceiskillinu commented 4 years ago

Ok, so I used cec-client directly from the command line to verify that I can turn the TV itself on, but I am unable to adjust volume. I am thinking it has something to do with the fact that all my sources show as inactive, even though there is content playing over the chromecast (unless that's expected behavior).

When I run the python script from the cli I get the following output:

To set up, please run: sudo ./chromecast_controls.py --setup setting up CEC getting CEC devices Traceback (most recent call last): File "chromecast_controls.py", line 170, in <module> cec_devs.append(all_devs[cec_dev_addr]) KeyError: 5

Could it be that I am missing something that is required?