Much like media players have supported features, why aren’t there for remotes?
It would allow there to be a standard set of actions that remotes support and that are easily accessible through the UI. Right now I need to install a custom component for the LG WebOS integration that basically just puts a button on all the service endpoints
TVs, AV receivers, climate devices, blinds, lights, switches, and hundreds of other remote controlled devices all have different actions. There is no “standard set”.
What is standard is a button you can assign a tap action to.
There are core and fancy-complicated third party buttons you can use but they pretty much only differ in their bling (the way they are displayed). The “do <this> when tapped” option is pretty standard across all of them.
I guess my question is why isn’t there a way to categorize those and dynamically show buttons for them? You already successfully grouped a few categories and supporting only those would be a huge boon to the HA out of box user experience.
It being logistically complex isn’t always a show stopper. I’ve wanted to implement this for years but didn’t really know where to ask the whys we haven’t already.
If the why is “someone has to do it”, I can live with that and give it a shot. If the why is “it won’t work”, I totally understand but want to be aware before I start.
Even if it’s a listing of all buttons that we should show and an action tied to them. That would be a huge improvement imo.
A remote entity could expose the commands it supports like “up” “down” etc… (basically the list that is currently listed in the docs). For the most common things the naming could be standardized e.g. define that navigation up is called “up” instead of “arrow_up” so it is consistent across entities. But would still be allowed to add non-standardized commands.
Then you could for example in a card check if navigation arrows are supported, show a directional pad in the UI. This way a very functional “remote control” UI could be rendered without requiring a user to assign/layout each button manually. If commands are non-standard ones, normal buttons could be shown.
Similar to how the Logitech Harmony app decides on what screens to render for a device, e.g. it shows sceens with specific layout for number keys, mediacontrol, navigation when a device supports those commands, other commands are put in screens with just rows of buttons without a specific layout.
Next to that it would also allow to show a selection box in automations with all supported commands which would be nice.
Probably would also be nice for integrations like Remote Two to know what commands are supported by a device to automap keys to commands.
This would need some thought as some integrations use the send_command service to send arbitrary IR codes which can be any command (maybe those cases should be split in send_code and send_command?), but in general it seems not impossible.
Another request to make a standard remote control card you can fill in with mediaplayer entities and/or harmony. If not fitting, use mediaplayer template entitie to fit in.