[HN Gopher] Consumer Electronics Control
       ___________________________________________________________________
        
       Consumer Electronics Control
        
       Author : todsacerdoti
       Score  : 63 points
       Date   : 2024-06-03 15:03 UTC (7 hours ago)
        
 (HTM) web link (computer.rip)
 (TXT) w3m dump (computer.rip)
        
       | mmaniac wrote:
       | CEC is one of those features that sounds beautiful but never
       | seems to work quite as well as you'd like.
       | 
       | I have two TVs with a Roku soundbar connected to each. Sometimes
       | when I wake each TV, the soundbar no longer connects so I get no
       | audio. One TV is capable of displaying the volume level, but the
       | other can't. My Playstation can accept directional and OK button
       | presses over CEC, but my Roku can't despite that being much more
       | useful. And if CEC is enabled on both, all hell breaks loose.
        
         | maxsilver wrote:
         | > My Playstation can accept directional and OK button presses
         | over CEC, but my Roku can't despite that being much more
         | useful.
         | 
         | To be fair, in this case, the issue not "CEC doesn't work", but
         | rather, "Roku broke compatibility".
         | 
         | You can control directional/OK on a Roku STB built into a Roku
         | TV via CEC, the hardware supports everything just fine. But in
         | software, Roku (intentionally?) implemented unusual (arguably
         | proprietary) control codes to do it, instead of the normal ones
         | everyone else uses. Roku will, however, happily pass along
         | regular codes to a connected Playstation or Google TV stick or
         | whatever other 'lesser' device you connect.
         | 
         | (assuming HDMI-CEC) You can work around this by injecting Roku-
         | specific codes into your CEC stream. But like, no one should
         | have to do that...
        
       | focusedone wrote:
       | Through _many_ iterations of home theater setup I have enjoyed a
       | single, brief, period of harmony where a TV remote seamlessly
       | controlled a PS3 's navigation bar. That was a nice couple of
       | years.
       | 
       | Such periods of unity must be savored, knowing the fleeting peace
       | will vanish with the next device upgrade.
        
       | throw0101d wrote:
       | There are two 'mainstream' display protocols nowdays, DisplayPort
       | (mainly used with computers) and HDMI (mainly used with home
       | A/V): it seems that the only practical difference between the two
       | at this point is that HDMI has CEC and DP does not.
       | 
       | Though, does DP have something like ARC?
       | 
       | * https://en.wikipedia.org/wiki/Audio_Return_Channel
        
       | barryrandall wrote:
       | CEC works so well in consumer electronics that I control my home
       | theater with a Raspberry Pi and a bunch of Bluetooth-to-RS-232
       | adapters.
        
       | mrrothe wrote:
       | I feel like I'm in the minority with a seamless working CEC
       | setup, fairly old Onkyo receiver with LG TV, Chromecast and PS2.
       | 
       | I hit cast from my phone and a couple seconds later everything is
       | powered on and connected. Then the LG remote (RF not IR) does
       | volume. Audio routes correctly between TV and receiver when I
       | play back files on a USB SSD connected to the TV
        
         | kstrauser wrote:
         | Same here with a Sony receiver, Samsung TV, PS5, and Apple TV.
         | 
         | If I turn on the PS5 or Apple TV, within a couple seconds the
         | receiver and TV are powered up and working. If I turn on the
         | other device, the receiver switches to its input. When I turn
         | the active device off, the TV and receiver turn themselves off.
         | 
         | That is, until one of my kids goes out of their way to find the
         | TV remote and turn it off manually. Then everything goes out of
         | sync until I cut power to all those devices and turn them on
         | again. At least it's an easy fix that doesn't require any
         | manual configuration.
        
       | scottlamb wrote:
       | I think a major problem with HDMI-CEC from the perspective of
       | folks who want to say control everything with Home Assistant is
       | that it's not "make all the devices on the bus controllable by my
       | home automation setup" but "allow each device on the bus to talk
       | to each other". With no particular standardization about what one
       | device does in response to another or how that's configured, and
       | possibly the vague expectation that the TV drives everything.
       | 
       | As a tiny example, by default when I turn off my AV receiver, my
       | TV notices and turns itself off too. (Or maybe it's the reverse,
       | or both. Don't remember.) This behavior is controlled by a
       | poorly-named item deep in the TV's menu, and by
       | enabling/disabling CEC on the receiver. (The latter is what I
       | chose because it still passes CEC signals through source<->TV and
       | has a better-defined automation protocol of its own.) Who knows
       | if some other TV has the same default or has any way to control
       | it, much less a way I can describe without getting into the
       | specifics of each model.
       | 
       | To make it really useful for a well-controlled HA setup, I think
       | at least I'd have to have some sort of device has a bunch of HDMI
       | in and out ports and intercepts all the HDMI-CEC signals so the
       | devices no longer talk with each other but instead with something
       | I control. That takes it from an O(devices^2) interop problem to
       | an O(devices) problem. Even then I'm not sure it's really
       | tractable. There needs to be more standardization.
        
         | pathartl wrote:
         | There needs to be more configuration, which I don't know that
         | CEC supports. I think it's fine to have a mode where it fits
         | 80% of scenarios where your STB remote can control your TV and
         | sound bar, but doing anything other than that is so limited.
        
       | pathartl wrote:
       | I am a big proponent of IR over CEC or (shudder) Bluetooth. IR is
       | wireless by default, there's almost no input latency, and it's
       | open enough where you can get a universal remote like Harmony and
       | do anything you want.
       | 
       | CEC on the flip side is wired only, only works with certain
       | devices, and its success is dependent on manufacturers coming to
       | some sort of agreement. CEC is missing some sort of bridge,
       | something where other non-CEC devices can control everything on
       | the bus. Something that can remap buttons for specific devices.
       | 
       | CEC has also led to a lot of devices outright not adding IR
       | remotes to their setup anymore, which makes any sort of external
       | control 100x harder and prone to failure. I have an LG OLED TV,
       | Pioneer AV receiver, and an Nvidia Shield. My choices for remotes
       | are either the Shield's terrible Bluetooth-based remote that eats
       | 2xAAA's every week, or the LG's magic wand where anything other
       | than the TV doesn't support the pointer and tons of buttons can
       | accidentally be pressed resulting in webOS rearing its ugly head
       | on my display (with ads as a bonus!).
       | 
       | With IR in the mid 2000's I could get a Harmony that would
       | control every single device in my cabinet. If their database
       | didn't have a remote's profile, you would have to learn the extra
       | buttons and program it, but you could do it. There were certainly
       | downsides, like activities were poorly planned and the lack of a
       | bidirectional communication meant that the remote was often out
       | of sync for what devices were actually on.
       | 
       | Honestly, as much as the post trashes on USB, I would almost want
       | CEC's capabilities to be a part of USB. Let me route my USB
       | keyboard, mouse, remote, gamepad, whatever to whatever device in
       | the chain. Let me remap any of those buttons to talk to a
       | specific device in the chain. Basically, let me have a KVM that
       | relays inputs based on configuration.
        
         | replygirl wrote:
         | tip: there is a service menu setting to disable ads. webos is
         | much nicer since i toggled that. the entry point with the
         | standard remote varies between models and os versions, but you
         | can also get service remotes on amazon for cheap
        
         | ianferrel wrote:
         | My experience with the Harmony remote was that it was a very
         | brittle solution. It took tons of setup, and would regularly
         | strand me in some intermediate state where some components were
         | enabled and switched properly and some weren't.
         | 
         | Add to that the fact that 1. Some devices have separate "turn
         | on" and "turn off" signals and some only hav a "power toggle"
         | 2. My receiver had buttons that did not exist in Logitech's
         | database. My attempts to have the remote learn them was only
         | partially successful (like, it learned some of them properly
         | and others never worked) 3. My screen was a projector that
         | refused to turn _on_ again until a 1-2 minute cooldown after it
         | had been turned off (I assume to avoid heat stress on the bulb)
         | 
         | It was a right mess. When it worked it was great. The 5% of
         | time it failed hard I had to dig out the individual remotes
         | because the projector's cooldown made Harmony's attempt to fix
         | things not work at all.
        
       | jauntywundrkind wrote:
       | > _I don 't think any conventional PCs have CEC transceivers. The
       | solution, if you are mad enough to want one, is a USB CEC
       | adapter._
       | 
       | I have no idea what the status is, but there has been work on
       | driver support for AMDGPU and Nvidia-supporting Noveau drivers
       | dating back to 2018. https://www.phoronix.com/news/AMDGPU-
       | Nouveau-CEC-Tunnel . The official kernel docs link forward to a
       | pretty helpful https://linuxtv.org/downloads/v4l-dvb-apis-
       | new/admin-guide/c...
       | 
       | It's notably CEC over DisplayPort AUX, not HDMI. It'd be super
       | interesting to know if this would tend to work with HDMi adapter
       | or not?
       | 
       | I did have a battle a couple years back, where my dad said the
       | main thing keeping him from using the mini-pc & monitor and
       | instead sitting at the desk with an old janky laptop was that
       | there were keyboard shortcuts for adjusting the brightness. I
       | tried like 6 programs and one (and only one) actually did let me
       | adjust the monitor's brightness (via the Intel integrated
       | graphics)! (And then wrote some gnome keyboard shortcuts to wire
       | that up). I remember it being brutal, a slog, trying all sorts of
       | stuff, but it was so rewarding to see (and made me so much
       | happier than software dimming).
       | 
       | (Epilogue: dad still doesn't use that nice ass computer or
       | screen.)
       | 
       | For many a years, CEV was something seemingly only available on
       | raspberry pi & other sbc. It seems like CEC is still sort of an
       | afterthought for most desktop environments. A pity! Ideally
       | computers should be a nexus of control, but so often we accept
       | the limited personas we are handed, don't delve deeper.
       | 
       | Interesting write-up! I'd only known abstractly about CEC, known
       | there's some mind of toolbox of options in it & that most PCs
       | don't really use that.
        
         | aidenn0 wrote:
         | There is also the pulse-8 USB/CEC adapters (which work fine
         | with linux):
         | 
         | Universal: https://www.pulse-eight.com/p/104/usb-hdmi-cec-
         | adapter
         | 
         | NUC specific: https://www.pulse-eight.com/p/154/intel-nuc-hdmi-
         | cec-adapter
        
           | scottlamb wrote:
           | I have the NUC version and can confirm it works as expected
           | with my old NUC6i3SYK.
           | 
           | Raspberry Pis (at least the 2 and 4, so I'd guess the 3 and 5
           | too) also have CEC support built in. Same libcec/cec-client
           | software as the pulse-eight adapter, but no dongle needed.
        
       ___________________________________________________________________
       (page generated 2024-06-03 23:01 UTC)