Nevermind, I used entity-picture
instead of entity_picture
Could you share the code?
Here’s the remote part itself as the rest is still work in progress. The services is a mix between a media player entity, adb commands and a broadlink remote entity. Planning to clean this up at some point.
type: entities
entities:
- type: custom:hui-entities-card
entities:
- type: custom:hui-grid-card
cards:
- type: custom:button-card
tap_action:
action: call-service
service: media_player.toggle
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:power
hold_action:
action: none
show_name: false
size: 100%
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458834 && sendevent
/dev/input/event4 1 103 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458834 && sendevent
/dev/input/event4 1 103 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:arrow-up-bold
hold_action:
action: none
show_name: false
size: 100%
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
device: lg_tv
command: input
entity_id: remote.broadlink_schlafzimmer
show_icon: true
show_name: false
icon: mdi:import
size: 100%
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458832 && sendevent
/dev/input/event4 1 105 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458832 && sendevent
/dev/input/event4 1 105 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:arrow-left-bold
hold_action:
action: none
show_name: false
size: 100%
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458840 && sendevent
/dev/input/event4 1 96 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458840 && sendevent
/dev/input/event4 1 96 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:checkbox-blank-circle
hold_action:
action: none
show_name: false
size: 100%
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458831 && sendevent
/dev/input/event4 1 106 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458831 && sendevent
/dev/input/event4 1 106 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:arrow-right-bold
hold_action:
action: none
show_name: false
size: 100%
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458833 && sendevent
/dev/input/event4 1 108 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458833 && sendevent
/dev/input/event4 1 108 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:arrow-down-bold
hold_action:
action: none
show_name: false
size: 100%
columns: 5
square: true
- type: custom:hui-grid-card
cards:
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 458993 && sendevent
/dev/input/event4 1 158 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 458993 && sendevent
/dev/input/event4 1 158 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:arrow-u-left-bottom
hold_action:
action: none
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 786979 && sendevent
/dev/input/event4 1 172 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 786979 && sendevent
/dev/input/event4 1 172 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
icon: mdi:home-outline
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: androidtv.adb_command
service_data:
command: >-
sendevent /dev/input/event4 4 4 786496 && sendevent
/dev/input/event4 1 139 1 && sendevent /dev/input/event4 0 0
0 && sendevent /dev/input/event4 4 4 786496 && sendevent
/dev/input/event4 1 139 0 && sendevent /dev/input/event4 0 0
0
entity_id: media_player.fire_tv
show_name: false
show_icon: true
icon: mdi:menu
- type: custom:button-card
tap_action:
action: call-service
service: media_player.volume_down
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:volume-minus
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: remote.send_command
service_data:
device: lg_tv
command: mute
entity_id: remote.broadlink_schlafzimmer
icon: mdi:volume-variant-off
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: media_player.volume_up
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:volume-plus
hold_action:
action: none
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: media_player.media_previous_track
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:rewind
hold_action:
action: none
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: media_player.media_play_pause
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:play-pause
hold_action:
action: none
show_name: false
- type: custom:button-card
tap_action:
action: call-service
service: media_player.media_next_track
service_data:
entity_id: media_player.fernseher_schlafzimmer
icon: mdi:fast-forward
hold_action:
action: none
show_name: false
- type: custom:button-card
color_type: blank-card
- type: custom:button-card
tap_action:
action: call-service
service: media_player.media_stop
service_data:
entity_id: media_player.fernseher_schlafzimmer
show_name: false
icon: mdi:stop
hold_action:
action: none
- type: custom:button-card
tap_action:
action: call-service
service: scene.turn_on
service_data:
entity_id: scene.fernsehszene_schlafzimmer
show_name: false
icon: mdi:lightbulb
hold_action:
action: none
columns: 3
square: false
card_mod:
style: |
ha-card {
--ha-card-background: white;
--ha-card-border-width: 0px;
}
Bear in mind that there were design changes in the HA frontend since I posted the screenshot, so the border will look different.
Thanks, looks good
What is the code you used to display the picture buttons at the bottom. I have a picture displayed but it isn’t taking up the full button.
I made up two remote using ha-floorplan. You can see them over here Share your Floorplan - #714 by OzGav
Just standard picture cards in a grid. You can define actions in picture cards, so no need for a button.
If anyone is interested in a pre-made ready to go remote control solution for their Amazon Fire devices, I’d recommend checking out this project:
good job man, looks GREAT! Wish I found this years ago…
I have a Logitech Harmony Remote ( Harmony Touch) and it has really served me well for many many years. Now that I have been getting proficient with Home Assistant, sadly I have been phasing the Harmony remote out and trying to use just my “simple” Roku remote and one I make for HA.
GREAT JOB though wish you had more keywords so I would had found earlier
Harmony really
Love this! I have a remote I created in photoshop, but have no clue how to get that image into home assistant and make the buttons function. Is there any documentation or guidance on this, or could you give me a run down? Thanks!
So when changing that to my image, how do I make the button presses align with my buttons? Also, will this immediately be added as a card? Thanks!
If you are completely unfamiliar with YAML, you will most likely never be able to make this work.
Essentially, the placement of each button is done by placeing an invisible icon relative to the top left corner of the image. You must do some trial’n’error to fnd the correct values:
type: icon
- icon: mdi
style:
left: 37%
top: 19%
I’m familiar with yaml. Wasn’t sure if I needed to add any frontend cards from hacs to make this work. I realize it’s a picture elements card now. You may know this, but I found that you can use inspect element or photoshop to find out where exactly the buttons in your image are, and then easily align them. Thanks for pointing me in the right direction!
Hi Tom_l,
I am a new to HA and not able to get the remote to display. Have created new dashboard and copied both the template and build yaml to blank dashboard.
‘–paper-card-background-color’: ‘rgba(0, 0, 0, 0)’ is depreciated.
Dashboard will not let me save without view and title in fist two lines of code.
Have tried for over two days to get this to display.
Replace it with:
'--ha-card-background': rgba(0, 0, 0, 0)
Thanks but still no display…
Should both template and build info be placed after each other in dashboard or must they be separated in some way?
Also is this remote still working as original post was 4 years ago?
Yes the remote is still working.
The template goes at the top of your raw config. The rest goes in a manual card.
Thanks Tom now working.
Great support.