Hacker News new | ask | show | jobs
by jasomill 1166 days ago
Furthermore, if you're connecting devices like PC GPUs that don't support CEC, most LG TVs have an RS-232 interface that supports all the basic "dumb TV" commands, including most of what you'd want to do with CEC or IR remote (power on/off, input select, volume, brightness, and other basic audio and video settings).

RS-232 control also has a command to disable OSD, which has the pleasant side effect of disabling annoying smart TV bits like pop-up notifications even when the TV is connected to the Internet (and also superfluous [to me] non-smart TV pop-ups that ordinarily appear when switching inputs and adjusting visually apparent settings like brightness).

Disabling the OSD also disables the bundled Magic Remote, though IR remotes still work (unless locked out with another command) and OSD can be re-enabled via RS-232, or by simply power-cycling the TV.

As a bonus, input switching via IR remote (or RS-232) is noticeably faster than switching via Magic Remote, even if you set up hotkeys, as full-featured LG IR remotes have hard buttons for each input that don't require press-and-hold to activate (this includes sub-$10 service remote knock-offs on Amazon, which work perfectly fine IME, though you may want to steer away from these in a casual setting as some of the service buttons can cause undesirable behavior).

For my own use, I wrote a trivial ASP.NET Web API wrapper around the LG RS-232,

https://github.com/jasminetroll/LgTvControl

While only tested on macOS controlling the TV I own (55SK9000), the documentation it's written against isn't model-specific and I'm not using any platform-specific .NET APIs, so it should work across many TV models and on any platform that supports RS-232 and .NET (.NET 6.0+ as currently configured, though it was mostly developed on .NET Core 3.1, so changing TargetFramework in the csproj file should suffice to get it running on older versions).

1 comments

Thanks for this. Some useful info here.