I’m fan of integrating as much as possible in the Home Assistant companion app.
The Harmony remote app has much to be desired as well.
So I rather added the functionality of the Harmony app in Lovelace instead.
Adjust to your liking.
You will find the needed device id in files named harmony_xxxxxxxx.conf
Lovelace:
cards:
- card:
entities:
- entity: remote.living_room_hub
icon: mdi:power
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_off
service_data:
activity: PowerOff
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:television-classic
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Media
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:nintendo-switch
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Switch
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:radio
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room NetRadio
entity_id: remote.living_room_hub
type: glance
conditions:
- entity: remote.living_room_hub
state: 'off'
type: conditional
- card:
entities:
- entity: remote.living_room_hub
icon: mdi:power
name: Media
show_state: false
tap_action:
action: call-service
service: remote.turn_off
service_data:
activity: PowerOff
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:television-classic
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Media
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:nintendo-switch
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Switch
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:radio
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room NetRadio
entity_id: remote.living_room_hub
- assumed_state: false
control: hidden
entity: remote.living_room_hub
icon: mdi:volume-off
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Mute
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- assumed_state: false
control: hidden
entity: remote.living_room_hub
icon: mdi:play-pause
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Play
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:subtitles-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: NextSubtitle
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-up-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionUp
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:stop
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Stop
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:spotify
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Spotify
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-plus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeUp
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-left-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionLeft
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:checkbox-blank-circle-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Select
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-right-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionRight
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:home
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Home
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-minus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeDown
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:rewind
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Rewind
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-down-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionDown
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:fast-forward
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: FastForward
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:arrow-left
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Back
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
type: glance
conditions:
- entity: switch.living_room_media
state: 'on'
type: conditional
- card:
entities:
- entity: remote.living_room_hub
icon: mdi:power
name: Switch
show_state: false
tap_action:
action: call-service
service: remote.turn_off
service_data:
activity: PowerOff
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:television-classic
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Media
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:nintendo-switch
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Switch
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:radio
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room NetRadio
entity_id: remote.living_room_hub
- assumed_state: false
control: hidden
entity: remote.living_room_hub
icon: mdi:volume-off
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Mute
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:spotify
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Spotify
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-plus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeUp
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:home
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
command: Home
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-minus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeDown
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
type: glance
conditions:
- entity: switch.living_room_switch
state: 'on'
type: conditional
- card:
entities:
- entity: remote.living_room_hub
icon: mdi:power
name: NetRadio
show_state: false
tap_action:
action: call-service
service: remote.turn_off
service_data:
activity: PowerOff
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:television-classic
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Media
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:nintendo-switch
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Switch
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:radio
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room NetRadio
entity_id: remote.living_room_hub
- assumed_state: false
control: hidden
entity: remote.living_room_hub
icon: mdi:volume-off
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Mute
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- assumed_state: false
control: hidden
entity: remote.living_room_hub
icon: mdi:play-pause
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Play
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:subtitles-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: NextSubtitle
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-up-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionUp
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:stop
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Stop
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:spotify
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
activity: Living room Spotify
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-plus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeUp
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-left-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionLeft
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:checkbox-blank-circle-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Select
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-right-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionRight
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:home
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.turn_on
service_data:
command: Home
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:volume-minus
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: VolumeDown
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:rewind
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Rewind
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:chevron-down-box-outline
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: DirectionDown
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:fast-forward
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: FastForward
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
- entity: remote.living_room_hub
icon: mdi:arrow-left
name: ' '
show_state: false
tap_action:
action: call-service
service: remote.send_command
service_data:
command: Return
device: 'xxxxxxxx'
entity_id: remote.living_room_hub
type: glance
conditions:
- entity: switch.living_room_netradio
state: 'on'
type: conditional
style: |
ha-card {
border-radius: 15px;
--card-background-color: rgba(255, 255, 255, 0.6)
}
title: Living room Remote
type: custom:vertical-stack-in-card
