You can already roll your own media player remote.
Iām using one of the community custom Lovelace cards called, vertical-stack-in-card. It allows you to combine multiple cards, but unlike the default Vertical Stack card, the cards you combine donāt have card borders, so multiple cards can be combined and they look like a single card.
Iāve used Picture Glance cards, which will change the background of the card depending on which activity I have selected. If you like the dropdown menu method for selecting activities, you can use the default Input Select method, and add that Input Select as an entity on the card.
With my Picture Glance card, I decided to just use buttons to select activities instead of the Input Select method that Iād been using, because the buttons are quicker. To make the buttons function like selecting activities from the Harmony remote, I created switches for each activity.
#Play Xbox
play_xbox:
friendly_name: "Xbox One"
value_template: "{{ is_state_attr('remote.tv_room', 'current_activity', 'Play Xbox') }}"
turn_on:
service: remote.turn_on
data:
entity_id: remote.tv_room
activity: 'Play Xbox'
turn_off:
service: remote.turn_on
data:
entity_id: remote.tv_room
activity: 'PowerOff'
icon_template: >-
{% if is_state_attr('remote.tv_room', 'current_activity', 'Play Xbox') %}
mdi:xbox
{% else %}
mdi:xbox-controller-off
{% endif %}
In addition to the activity buttons, Iāve also added a volume slider. This gives me easy access to all of the functionality Iām used to with the actual remote. I donāt have transport controls on the card because itās easier to just play/pause from the Harmony remote itself, but you could easily add buttons for this if youād like.
I also added a button that will open the standard media player for the Harmony hubs that are created by default for each hub. This way if I need some of the lesser used commands, like switching the HDMI input on my receiver, I can still do that. If I switched inputs more often, Id just create buttons for this as well.
This is what the Lovelace code looks like. Itās two picture glance cards that look like a single card thanks to the vertical-stack-in-card, card.
cards:
- entities:
- switch.watch_tv
- switch.watch_roku
- switch.watch_a_movie
- switch.listen_to_music
- switch.listen_to_volumio
- switch.play_xbox
entity: sensor.tv_room
state_image:
Listen to Music: /local/images/NetMusic.jpg
Listen to Volumio: /local/images/Volumio.jpg
Play Xbox: /local/images/Xbox.jpg
PowerOff: /local/images/Off.jpg
Watch Roku: /local/images/Roku.png
Watch TV: /local/images/LGTV.jpg
Watch a Movie: /local/images/SonyBDP.jpg
type: picture-glance
- cards:
- entities:
- switch.tv_room_power
- media_player.onkyo_tx_nr626
- input_number.harmony_my_volume
image: /local/images/OnkyoTX-NR626.jpg
type: picture-glance
- entities:
- entity: sensor.jeff_s_tv_time
show_header_toggle: false
title: Jeff's Harmony
type: entities
type: vertical-stack
type: 'custom:vertical-stack-in-card'
Edit: Please donāt think that Iām trying to undermine the usefulness of the Roku card, because I love it and Iāve been using it since January. Iām merely pointing out how Iāve done something similar using Lovelace to get the same sort of functionality from my Harmony hubs.