Hi Jim, i am currently figuring out my apple remote card, now i have to cards, both work. How did you create the selection bar, also, could you share your config for this? MUCH appreciated… Bedankt alvast!
@mroffbeat Visit my github here https://github.com/jimz011/homekit-infused
Chose my personal branch to find all the code I have used.
Here is mine, I had to split it over several posts as it is too big for one post.
I also created a new forum topic about sharing Broadlink IR/RF codes,
you can find the Broadlink codes of these remotes there
I put 4 remotes in one, and with a dropdown selection and a conditional card, I select which one I want to see.
The first 2 rows that are used to switch devices on or off, and to select the input on my receiver are always shown, the others are shown depending on the selection box.
Here is the lovelace code, I’ll post it over several posts as it seems to be too big for one post.
These are the first 3 rows of the vertical stack, they are always visible :
- The dropdown box
- Power on/off buttons for the different elements
- Input select buttons of the receiver/power amplifier.
type: vertical-stack
cards:
- type: entities
entities:
- input_select.dropdown1234
show_header_toggle: false
- type: horizontal-stack
cards:
- type: button
tap_action:
action: toggle
entity: switch.hifikast_s2
name: HiFikast
show_icon: true
icon: 'hass:speaker'
show_state: false
- type: button
name: Audio
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: receiveronoff
target: {}
icon: 'hass:volume-high'
- type: button
name: TV
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: tvonoff
icon: 'hass:television-box'
- type: button
name: Emtec
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: onoff
icon: 'hass:filmstrip'
- type: button
name: Orange
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: decoderonoff
icon: 'hass:power'
- type: horizontal-stack
cards:
- type: button
name: EMTEC
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: bddvd
target: {}
icon: 'hass:video'
icon_height: 25px
show_icon: false
- type: button
name: kabel
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: satcatv
target: {}
icon: 'hass:tv'
icon_height: 25px
show_icon: false
- type: button
name: RASP1
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: game
target: {}
icon: 'hass:home'
icon_height: 25px
show_icon: false
- type: button
name: /
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: sacd
target: {}
icon: 'hass:axis-arrow'
icon_height: 25px
show_icon: false
- type: button
name: USB
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: usb
target: {}
icon: 'hass:backspace'
icon_height: 25px
show_icon: false
- type: button
name: TV
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: tv
target: {}
icon: 'hass:exit-run'
icon_height: 25px
show_icon: false
And the Emtec moviebox part
- type: conditional
conditions:
- entity: input_select.dropdown1234
state: Emtec-Moviecube-D850H
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: button
name: DVD
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: dvd
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: Eject
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: eject
target: {}
icon: 'hass:monitor-dashboard'
icon_height: 25px
show_icon: false
- type: button
name: USB
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: usb
target: {}
icon: 'hass:exit-run'
icon_height: 25px
show_icon: false
- type: button
name: Home
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: home
target: {}
icon: 'hass:home'
icon_height: 25px
- type: button
name: Options
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: options
target: {}
icon: 'hass:axis-arrow'
icon_height: 25px
- type: button
name: Back
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: return
target: {}
icon: 'hass:backspace'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: vol+
icon: 'hass:volume-plus'
icon_height: 25px
- type: button
name: Setup
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: setup
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: up
icon: 'hass:arrow-up-bold'
icon_height: 25px
- type: button
name: Beeld
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: tvsys
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: Audio
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: audio
target: {}
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: mute
icon: 'hass:volume-off'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: left
icon: 'hass:arrow-left-bold'
icon_height: 25px
- type: button
name: OK
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: ok
target: {}
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: right
icon: 'hass:arrow-right-bold'
icon_height: 25px
- type: button
name: SUBtitle
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: subtitle
target: {}
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: vol-
icon: 'hass:volume-minus'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: previous
icon: 'hass:skip-backward'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: down
icon: 'hass:arrow-down-bold'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: next
icon: 'hass:skip-forward'
icon_height: 25px
- type: button
name: Zoom
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: zoom
target: {}
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: stop
icon: 'hass:square'
icon_height: 20px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: rewind
icon: 'hass:step-backward-2'
icon_height: 25px
- type: button
name: PLAY
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: playpauze
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: play2
icon: 'hass:step-forward'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: forward
icon: 'hass:step-forward-2'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: hart
icon: 'hass:heart'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 1
icon: 'hass:numeric-1-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 2
icon: 'hass:numeric-2-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 3
icon: 'hass:numeric-3-box'
icon_height: 25px
- type: button
name: Search
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: search
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 4
icon: 'hass:numeric-4-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 5
icon: 'hass:numeric-5-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 6
icon: 'hass:numeric-6-box'
icon_height: 25px
- type: button
name: COPY
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: copy
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 7
icon: 'hass:numeric-7-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 8
icon: 'hass:numeric-8-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 9
icon: 'hass:numeric-9-box'
icon_height: 25px
- type: button
name: SELECT
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: select
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: record
icon: 'hass:video'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: 0
icon: 'hass:numeric-0-box'
icon_height: 25px
- type: button
name: HELP
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: help
target: {}
icon_height: 25px
show_icon: false
- type: button
name: INFO
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: EmtecD850H
command: info
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
Here is the part of the Orange digicorder remote, it is shown when I select Orange in the dropdown selection box.
- type: conditional
conditions:
- entity: input_select.dropdown1234
state: Orange
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: button
name: Gids
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: tvgids
icon: 'hass:monitor-eye'
icon_height: 25px
- type: button
name: OPN
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: opnames
icon: 'hass:monitor-dashboard'
icon_height: 25px
- type: button
name: Menu
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: home
icon: 'hass:home'
icon_height: 25px
- type: button
name: Options
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: opt
icon: 'hass:axis-arrow'
icon_height: 25px
- type: button
name: Back
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: back
icon: 'hass:backspace'
icon_height: 25px
- type: button
name: Exit
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: exit
icon: 'hass:exit-run'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: vol+
icon: 'hass:volume-plus'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: up
icon: 'hass:arrow-up-bold'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: CH+
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: ch+
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: soundonoff
icon: 'hass:volume-off'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: left
icon: 'hass:arrow-left-bold'
icon_height: 25px
- type: button
name: OK
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: ok
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: right
icon: 'hass:arrow-right-bold'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: vol-
icon: 'hass:volume-minus'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: down
icon: 'hass:arrow-down-bold'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: CH-
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: ch-
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: stop
icon: 'hass:square'
icon_height: 20px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: rewind
num_repeats: 4
icon: 'hass:step-backward-2'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: rewind
icon: 'hass:step-backward'
icon_height: 25px
- type: button
name: PLAY
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: playpauze
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: forward
icon: 'hass:step-forward'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: forward
num_repeats: 4
icon: 'hass:step-forward-2'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 1
icon: 'hass:numeric-1-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 2
icon: 'hass:numeric-2-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 3
icon: 'hass:numeric-3-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 4
icon: 'hass:numeric-4-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 5
icon: 'hass:numeric-5-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 6
icon: 'hass:numeric-6-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 7
icon: 'hass:numeric-7-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 8
icon: 'hass:numeric-8-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 9
icon: 'hass:numeric-9-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: record
icon: 'hass:video'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: 0
icon: 'hass:numeric-0-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: Orange
command: delete
icon: 'hass:trash-can-outline'
icon_height: 25px
Here is the part of the Sony STR-DN1050 receiver remote, it is shown when I select Orange in the dropdown selection box.
- type: conditional
conditions:
- entity: input_select.dropdown1234
state: STRDN1050
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: vol+
icon: 'hass:volume-plus'
icon_height: 25px
- type: button
name: Display
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: display
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: up
icon: 'hass:arrow-up-bold'
icon_height: 25px
- type: button
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: ampmenu
name: AMP
show_icon: false
- type: button
name: 2CH
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: afd2ch
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: mute
icon: 'hass:volume-off'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: left
icon: 'hass:arrow-left-bold'
icon_height: 25px
- type: button
name: OK
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: ok
target: {}
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: right
icon: 'hass:arrow-right-bold'
icon_height: 25px
- type: button
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: movie
target: {}
entity: remote.rmproplus_remote
name: Movie
show_icon: false
show_state: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: vol-
icon: 'hass:volume-minus'
icon_height: 25px
- type: button
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: return
target: {}
entity: remote.rmproplus_remote
name: Back
show_icon: false
show_state: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: down
icon: 'hass:arrow-down-bold'
icon_height: 25px
- type: button
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: options
entity: remote.rmproplus_remote
name: OPT
show_icon: false
show_state: false
- type: button
name: Music
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: music
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: rewind
icon: 'hass:step-backward-2'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: stop
icon: 'hass:square'
icon_height: 20px
- type: button
name: PLAY
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: playpauze
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: forward
icon: 'hass:step-forward-2'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: Home
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: home
icon: 'hass:home'
icon_height: 25px
- type: button
name: Watch
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: watch
- type: button
name: Listen
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: listen
- type: button
name: HDMIout
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: strdn1050
command: hdmioutput
and the Sony TV-KDL60W855b part
- type: conditional
conditions:
- entity: input_select.dropdown1234
state: TV-KDL60W855b
card:
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: button
name: Input
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: inputselect
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: APPS
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: apps
target: {}
icon: 'hass:monitor-dashboard'
icon_height: 25px
show_icon: false
- type: button
name: Home
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: home
target: {}
icon: 'hass:home'
icon_height: 25px
- type: button
name: Options
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: options
target: {}
icon: 'hass:axis-arrow'
icon_height: 25px
- type: button
name: Back
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: return
target: {}
icon: 'hass:backspace'
icon_height: 25px
- type: button
name: Exit
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: exit
target: {}
icon: 'hass:exit-run'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: vol+
icon: 'hass:volume-plus'
icon_height: 25px
- type: button
name: Discov
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: discover
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: up
icon: 'hass:arrow-up-bold'
icon_height: 25px
- type: button
name: Smenu
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: syncmenu
target: {}
icon: 'hass:monitor-eye'
icon_height: 25px
show_icon: false
- type: button
name: CH+
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: ch+
target: {}
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: mute
icon: 'hass:volume-off'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: left
icon: 'hass:arrow-left-bold'
icon_height: 25px
- type: button
name: OK
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: ok
target: {}
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: right
icon: 'hass:arrow-right-bold'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: vol-
icon: 'hass:volume-minus'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: down
icon: 'hass:arrow-down-bold'
icon_height: 25px
- type: button
tap_action:
action: none
entity: remote.rmproplus_remote
name: .
show_icon: false
show_state: false
- type: button
name: CH-
show_icon: false
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: ch-
target: {}
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: stop
icon: 'hass:square'
icon_height: 20px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: rewind
icon: 'hass:step-backward-2'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: rewind
icon: 'hass:step-backward'
icon_height: 25px
- type: button
name: PLAY
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: play
target: {}
icon: 'hass:play-circle-outline'
icon_height: 25px
show_icon: false
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: forward
icon: 'hass:step-forward'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: forward
icon: 'hass:step-forward-2'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 1
icon: 'hass:numeric-1-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 2
icon: 'hass:numeric-2-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 3
icon: 'hass:numeric-3-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 4
icon: 'hass:numeric-4-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 5
icon: 'hass:numeric-5-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 6
icon: 'hass:numeric-6-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 7
icon: 'hass:numeric-7-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 8
icon: 'hass:numeric-8-box'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 9
icon: 'hass:numeric-9-box'
icon_height: 25px
- type: horizontal-stack
cards:
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: record
icon: 'hass:video'
icon_height: 25px
- type: button
name: null
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: 0
icon: 'hass:numeric-0-box'
icon_height: 25px
- type: button
name: Manual
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.rmproplus_remote
device: TV-KDL60W855b
command: imanual
icon_height: 25px
show_icon: false
I recently updated my entertainment view to also use conditional cards and a selector. I found the selector as a dropdown list quite annoying and thought it should just be another “remote button”. So, I opted for the custom:state-switch
card instead of the built-in one and custom:button-card
for the selector buttons.
Selector buttons:
- type: horizontal-stack
cards:
- type: custom:button-card
template: remote
variables:
selection: TV
icon: mdi:television
- type: custom:button-card
template: remote
variables:
selection: Audio
icon: mdi:audio-video
- type: custom:button-card
template: remote
variables:
selection: Apple TV
icon: mdi:apple
- type: custom:button-card
template: remote
variables:
selection: Satellite
icon: mdi:set-top-box
Button template:
remote:
variables:
selection: "Remote State"
entity: input_select.selected_remote
name: "[[[ return variables.selection ]]]"
size: 50%
color_type: icon
styles:
styles:
name:
- color: var(--paper-item-icon-color)
label:
- color: var(--paper-item-icon-color)
- padding-left: 1ex
card:
- font-size: 12px
icon:
- color: |
[[[
if (entity.state == variables.selection) {
return 'var(--paper-item-icon-active-color)';
} else {
return 'var(--paper-item-icon-color)';
}
]]]
tap_action:
action: call-service
haptic: light
service: input_select.select_option
service_data:
entity_id: input_select.selected_remote
option: "[[[ return variables.selection ]]]"
This for me, Google is the workhorse in my house. I have routines setup to turn on everything in my theater room just the way I want it with a Hue scene and dimmed to the right level (and turn off when I am done). Additionally, they now recognize the room you are sending a command from so I can just say play or pause and it does it.
My main attraction to Home assistant was the drive to be able to control lights while watching movies as I use the remote just for those activities to minimize disruption by trying to yell commands at Google while Arnold is in the background blowing up terminators (haha). Although a lot of these dashboards I admit are beautiful I do not think I would ever have a use case for them. Now though I can hit play/pause/stop on Harmony and the lights dim, turn off, or turn on based off of that and I love it
My remote
type: custom:stack-in-card
mode: vertical
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
styles:
card:
- height: 50px
- margin: 0px
- type: custom:button-card
styles:
card:
- height: 50px
- margin: 0px
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: TvPower
entity: remote.sony_bravia_tv
name: Power
icon: mdi:power
show_name: false
show_state: true
show_entity_picture: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 0px 0px 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: '-10px 0px -12px 0px'
icon:
- color: orange
- width: 50px
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num1
name: '1'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num2
name: '2'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num3
name: '3'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num4
name: '4'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num5
name: '5'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num6
name: '6'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num7
name: '7'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num8
name: '8'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num9
name: '9'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Display
name: Info
icon: mdi:information-outline
show_name: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 27px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num0
name: '0'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Teletext
name: Teletext
icon: mdi:text-box-outline
show_name: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 27px
- margin: 0px
- color: green
- type: custom:gap-card
height: 15
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Red
name: Red
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: red
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Green
name: Green
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: green
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Yellow
name: Yellow
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: yellow
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Blue
name: Blue
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: blue
- type: entities
entities:
- type: divider
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: EPG
name: Guide
icon: mdi:television-guide
show_name: true
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 32px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: none
name: Voice Command
icon: mdi:microphone-outline
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 35px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: OneTouchView
name: Rec List
icon: mdi:record
show_name: true
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 32px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 32px
- margin: 0px
- color: '#31759b'
- type: custom:gap-card
height: 25
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Input
name: Input
icon: mdi:application-import
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin-bottom: 1px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Up
name: Up
icon: mdi:arrow-up
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 60px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Options
name: Menu
icon: mdi:cog-outline
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 34px
- margin: 0px
- color: '#46545c'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Left
name: Left
icon: mdi:arrow-left
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Confirm
name: OK
icon: mdi:crosshairs
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- font-weight: bold
- margin: 21px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 35px
- color: '#516377'
- margin: 0px
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Right
name: Right
icon: mdi:arrow-right
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Return
name: BACK
icon: mdi:undo-variant
show_name: true
show_icon: true
styles:
card:
- height: 60px
- margin: 10px 0px 0px 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- font-weight: bold
- margin: 40px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Down
name: Down
icon: mdi:arrow-down
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 55px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Home
name: HOME
icon: mdi:home
show_name: true
show_icon: true
styles:
card:
- height: 60px
- margin: 10px 0px 0px 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- font-weight: bold
- margin: 40px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#46545c'
- type: custom:gap-card
height: 25
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Netflix
name: Netflix
icon: mdi:netflix
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: red
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Tv
name: TV
icon: mdi:television-box
show_name: false
show_icon: true
styles:
card:
- height: 55px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: AndroidMenu
name: Google Store
icon: mdi:google-play
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: red
- type: entities
entities:
- type: divider
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: VolumeUp
name: Volume Up
icon: mdi:volume-plus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: ChannelUp
name: Channel Up
icon: mdi:plus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Mute
name: Volume
icon: mdi:volume-off
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 37px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Jump
name: Channel
icon: mdi:sync
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 37px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: '#46545c'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: VolumeDown
name: Volume Down
icon: mdi:volume-minus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: ChannelDown
name: Channel Down
icon: mdi:minus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:gap-card
height: 1
The code is ‘gaos’ its much, maybe someone has a better idea to reduce the code…
nice remote I like it, I might implement some of it!
I’m curious about the microphone what exactly does it do? does it wake up a near by echo or google nest ?
Thanks
@Ricks88, you may use YAML anchors to reduce the code - eg. define block with &ref_0
and reuse with *ref_0
.
Would you mind sharing the last portion of your pilot? The code you shared is missing the forward/play section.
eg.
...
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num1
name: '1'
show_name: true
styles: &ref_0
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num2
name: '2'
show_name: true
styles: *ref_0
...
@bbiegun
Thanks for the advise, i never knew about that. How or where can i define those blocks? and can i use them on other pages to?
My code was to long to place the last part, i will split the code in 2 posts.
Code is a bit changed in the time between.
Part 1
type: custom:button-card
entity: remote.sony_bravia_tv
aspect_ratio: 0
tap_action:
action: fire-dom-event
browser_mod:
command: popup
title: TV Afstandsbediening
style:
hui-vertical-stack-card:
$hui-entities-card$: |
#states {
padding-top: 0.5em;
padding-bottom: 1.2em;
}
card:
type: custom:vertical-stack-in-card
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
styles:
card:
- height: 50px
- margin: 0px
- type: custom:button-card
styles:
card:
- height: 50px
- margin: 0px
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: TvPower
entity: remote.sony_bravia_tv
name: Power
icon: mdi:power
show_name: false
show_state: true
show_entity_picture: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 1px 0px 0px 0px
state:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 33px 0px 0px 0px
icon:
- color: orange
- width: 50px
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num1
name: '1'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num2
name: '2'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num3
name: '3'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num4
name: '4'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num5
name: '5'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num6
name: '6'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num7
name: '7'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num8
name: '8'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num9
name: '9'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Display
name: Info
icon: mdi:information-outline
show_name: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 28px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Num0
name: '0'
show_name: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 18px
- font-weight: bold
- font-family: Sans-serif
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Teletext
name: Teletext
icon: mdi:text-box-outline
show_name: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 29px
- margin: 0px
- color: green
- type: custom:gap-card
height: 15
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Red
name: Red
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: red
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Green
name: Green
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: green
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Yellow
name: Yellow
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: yellow
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Blue
name: Blue
icon: mdi:card
show_name: false
show_icon: true
styles:
card:
- height: 30px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: blue
- type: entities
entities:
- type: divider
- type: custom:stack-in-card
mode: vertical
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: EPG
name: Guide
icon: mdi:television-guide
show_name: true
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 25px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: '-8px 0px 0px 0px'
icon:
- width: 30px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: none
name: Voice Command
icon: mdi:microphone-outline
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: '-3px 0px 0px 0px'
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 38px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: OneTouchView
name: Rec List
icon: mdi:record
show_name: true
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 25px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: '-8px 0px 0px 0px'
icon:
- width: 32px
- margin: 0px
- color: '#31759b'
- type: custom:gap-card
height: 25
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Input
name: Input
icon: mdi:application-import
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 5px 0px 0px 25px
icon:
- width: 25px
- margin: 0px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Up
name: Up
icon: mdi:arrow-up
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 60px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Options
name: Menu
icon: mdi:cog-outline
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 5px 25px 0px 0px
icon:
- width: 25px
- margin: 0px
- color: '#46545c'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Left
name: Left
icon: mdi:arrow-left
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 0px 0px 100px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Confirm
name: OK
icon: mdi:crosshairs
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- font-weight: bold
- margin: 20px 0px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 40px
- color: '#31759b'
- margin: 0px
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Right
name: Right
icon: mdi:arrow-right
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 100px 0px 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Return
name: BACK
icon: mdi:undo-variant
show_name: true
show_icon: true
styles:
card:
- height: 60px
- margin: 0
name:
- align-self: start
- position: absolute
- font-size: 11px
- font-family: Sans-serif
- font-weight: bold
- margin: 42px 0px 0px 25px
img_cell:
- align-self: start
- position: relative
- margin: 5px 0px 0px 25px
icon:
- width: 35px
- margin: 0px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Down
name: Down
icon: mdi:arrow-down
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
state:
- font-size: 12px
- font-family: Sans-serif
- font-color: rgba(255, 0, 0, 0.8)
- text-transform: capitalize
- margin: 0px
icon:
- width: 55px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Home
name: HOME
icon: mdi:home
show_name: true
show_icon: true
styles:
card:
- height: 60px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 11px
- font-family: Sans-serif
- font-weight: bold
- margin: 42px 25px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 5px 25px 0px 0px
icon:
- width: 35px
- margin: 0px
- color: '#46545c'
- type: custom:gap-card
height: 25
- type: custom:stack-in-card
mode: vertical
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Netflix
name: Netflix
icon: mdi:netflix
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 10px 0px 0px 0px
icon:
- width: 40px
- margin: 0px
- color: '#a51521'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Tv
name: TV
icon: mdi:television-box
show_name: false
show_icon: true
styles:
card:
- height: 55px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 8px 0px 0px 0px
icon:
- width: 50px
- margin: 0px
- color: '#31759b'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: AndroidMenu
name: Google Store
icon: mdi:google-play
show_name: false
show_icon: true
styles:
card:
- height: 50px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin-bottom: 0px
img_cell:
- align-self: start
- position: relative
- margin: 10px 0px 0px 0px
icon:
- width: 50px
- margin: 0px
- color: '#a51521'
- type: entities
entities:
- type: divider
Part 2:
- type: custom:stack-in-card
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: VolumeUp
name: Volume Up
icon: mdi:volume-plus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 0px 0px 32px
icon:
- width: 45px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: ChannelUp
name: Channel Up
icon: mdi:plus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 32px 0px 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Mute
name: Vol
icon: mdi:volume-off
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 35px 0px 0px 31px
img_cell:
- align-self: start
- position: relative
- margin: 0px 0px 0px 32px
icon:
- width: 30px
- margin: 0px
- color: '#46545c'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Jump
name: Ch
icon: mdi:sync
show_name: true
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- align-self: start
- position: absolute
- font-size: 12px
- font-family: Sans-serif
- margin: 36px 31px 0px 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 32px 0px 0px
icon:
- width: 30px
- margin: 0px
- color: '#46545c'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: VolumeDown
name: Volume Down
icon: mdi:volume-minus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 0px 0px 32px
icon:
- width: 45px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: ChannelDown
name: Channel Down
icon: mdi:minus
show_name: false
show_icon: true
styles:
card:
- height: 65px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px 32px 0px 0px
icon:
- width: 50px
- margin: 0px
- color: '#7290aa'
- type: custom:gap-card
height: 1
- type: entities
entities:
- type: divider
- type: custom:stack-in-card
mode: vertical
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Rewind
name: Rewind
icon: mdi:rewind
show_name: false
show_icon: true
styles:
card:
- height: 40px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#7290aa'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Play
name: Play
icon: mdi:play
show_name: false
show_icon: true
styles:
card:
- height: 40px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#516377'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Forward
name: Forward
icon: mdi:fast-forward
show_name: false
show_icon: true
styles:
card:
- height: 40px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#7290aa'
- type: horizontal-stack
cards:
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: OneTouchTimeRec
name: Record
icon: mdi:record-rec
show_name: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 30px
- margin: 0px
- color: red
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Pause
name: Pause
icon: mdi:pause
show_name: false
show_icon: true
styles:
card:
- height: 40px
- margin-top: 5px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 40px
- margin: 0px
- color: '#516377'
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
entity_id: remote.sony_bravia_tv
command: Exit
name: Exit
icon: mdi:close-octagon
show_name: false
show_state: false
show_entity_picture: false
show_icon: true
styles:
card:
- height: 45px
- margin: 0px
name:
- font-size: 12px
- font-family: Sans-serif
- margin: 0px
img_cell:
- align-self: start
- position: relative
- margin: 0px
icon:
- width: 25px
- margin: 0px
- color: '#7290aa'
- type: entities
entities:
- type: divider
Also fits in a phone screen via popup now
In that configuration where do I define the different remote configurations?
I don’t see either where are you using the custom:state-switch
Could you please send the full code of the lovelace card?
@Ricks88 you may use anchors in the same yaml code for sure. For reusing it it may got a bit tricky as I don’t fully understand the lovelace YAML code range.
Some time ago I found nice custom card for reusing lovelace cards: GitHub - custom-cards/decluttering-card: 🧹 Declutter your lovelace configuration with the help of this card . Not use it yet, maybe you can utilise it somehow.
Just remeber, that UI editors are not anchors aware (as per my knowledge and expirience). They might just replace anchors with regular code if you’d approach them from not from the desired angle. I haven’t fully tested it in lovelace yet.
Thank you a lot for the remote code!
Here is my simple one I pretty much just copied and pasted, but I have a question. Is it possible to have a repeating button press, with a long hold? I’m using MQTT to send the message from the button pressed on the home assistant screen, and then using node red to converted into the various infrared/network signals, but I wonder if it could be better.
Cheers!
That custom card let’s you do repeats. You can also set it up in a script and then add the script as the action.
type: custom:button-card
hold_action:
action: call-service
repeat: 150
service: switch.turn_on
service_data:
entity_id: switch.ir_tv_vol_dn
Sorry the formatting is probably off, was on mobile.
- type: custom:button-card
label: Up
icon: mdi:menu-up
show_state: false
show_name: false
show_label: false
styles:
card:
- height: 75px
- border-radius: 15px
- background-color: rgba(65, 65, 65,0.5)
icon:
- color: rgba(255, 255, 255, 1)
- width: 80px
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: Lounge/Rumpus/SonyTV
payload: up
hold_action:
action: call-service
repeat: 150
service: mqtt.publish
service_data:
topic: Lounge/Rumpus/SonyTV
payload: up
Thanks for that. Above is my amended code with your hold action bit, but it’s trying out configuration errors. I doublechecked the spacing, but they must be something I’m missing. Thanks for any help.
type: custom:button-card
label: Up
icon: mdi:menu-up
show_state: false
show_name: false
show_label: false
styles:
card:
- height: 75px
- border-radius: 15px
- background-color: rgba(65, 65, 65,0.5)
icon:
- color: rgba(255, 255, 255, 1)
- width: 80px
tap_action:
action: call-service
service: mqtt.publish
service_data:
topic: Lounge/Rumpus/SonyTV
payload: up
hold_action:
action: call-service
repeat: 150
service: mqtt.publish
service_data:
topic: Lounge/Rumpus/SonyTV
payload: up
That works for me in a manual card.
The initial - (dash) is usually for separation of multiple cards in a stack or similar