

I managed to find all the codes I needed from the excellent cec-o-matic site: The main program you’d use is “ cec-client” and it’s best documented in this tutorial blog post: The installation on the raspberry pi is a simple one liner: Although HDMI-CEC goes by different names depending on the vendor, it is relatively vendor agnostic and works on multiple TV models. There’s plenty of literature on HDMI-CEC out there on the internet, so we won’t go into the details here – but in a nutshell HDMI cables are not one-way like VGA back in the day, it’s a two way cable that allows the video player to send messages to the TV and vice-versa.

However these options are either vendor-dependent (or even worse – firmware version dependent) or are a bit clunky to setup and require line-of-sight.

you could hook into your TV’s API if it has one, or go old-school and use actual infrared to control your TV just like your remote control does – using some very cheap hardware and LIRC on the raspberry PI. You have several options when it comes to controlling your TV from the raspberry pi. I don’t think this point is very important as i’ll discuss later – we’re including it here for completeness. The raspberry pi also needs a connection to the internet. In our case, the Raspberry Pi is loaded with OSMC / Kodi.
