aristosv
(Aristos)
April 6, 2019, 7:23am
1
I created this card for controlling my TV, using a Broadlink RM3 Mini.
This is the code for it
- platform: broadlink
host: 192.168.1.38
mac: 'macaddresshere'
switches:
tvpower:
friendly_name: "Kitchen TV Power"
command_on: 'JgBQAAABKJQRFBEUERQRExEUERQSOBEUETkSOBE4EjgRORI4ERQROREUEjgRFBAUETkRFBEUERQROREUEjcSOBITETkRORE5EQAFIgABJkwRAA0FAAAAAAAAAAA='
command_off: 'JgBQAAABKJQRFBEUERQRExEUERQSOBEUETkSOBE4EjgRORI4ERQROREUEjgRFBAUETkRFBEUERQROREUEjcSOBITETkRORE5EQAFIgABJkwRAA0FAAAAAAAAAAA='
tvvolume:
friendly_name: "Kitchen TV Volume"
command_on: 'JgBQAAABJZcQFRAVDxYSEBIWEBUQOBEUEDkSNxE4EzcRORA5ERUMPBETETgSFBI4EDYTFRESEhQRORAUETkSExAUEToPORA5EQAFLAABKUkQAA0FAAAAAAAAAAA='
command_off: 'JgBUAAoAAdsAASaWERMTExEUEBQRFRAUEDkRFBI3EzcSNw87EDkROBEUETgSFQ85EDkRORE4ERQQFREUEDkSExAUERUQFg84ETkROBIABSsAASZMEQANBQAAAAA='
inputappletv:
friendly_name: "Kitchen AppleTV"
command_on: 'JgBQAAABJpUSEhURExIRExMSExIROBMTEjYTNhM3EjcSNxQ2EhMTNhI4EhMSExE4EjgSNxISExITEhM3EjcUEBMTExIROBI3EQAFLAABKEkTAA0FAAAAAAAAAAA='
command_off: 'JgBQAAABJpUSEhURExIRExMSExIROBMTEjYTNhM3EjcSNxQ2EhMTNhI4EhMSExE4EjgSNxISExITEhM3EjcUEBMTExIROBI3EQAFLAABKEkTAA0FAAAAAAAAAAA='
inputcablenet:
friendly_name: "Kitchen Cablenet"
command_on: 'JgBUAAABKJMTEhMSFRATEhMSExISNxITEzYTNhQ2EzYSNxM3ExITNhM2FTUSExETEzcTNhITEhMRFBITETgTNhMSExIRORI3EQAFLAABJ0oTAAziCgANBQAAAAA='
command_off: 'JgBUAAABKJMTEhMSFRATEhMSExISNxITEzYTNhQ2EzYSNxM3ExITNhM2FTUSExETEzcTNhITEhMRFBITETgTNhMSExIRORI3EQAFLAABJ0oTAAziCgANBQAAAAA='
My issue is that, since this is infrared communication, obviously I can’t know the status of the TV. So I want to convert those lightning icons, to push buttons.
For “Kitchen TV Power” there should only be one power button, that toggles the power of the TV. Same goes for “Kitchen Apple TV” and “Kitchen Cablenet” which are simply HDMI inputs.
It would also be nice if I could put something more appropriate for the “Kitchen TV Volume” instead of those lightning buttons.
Thanks for your help.
tom_l
April 6, 2019, 8:33am
2
You can use the built in Lovelace entity button card: https://www.home-assistant.io/lovelace/entity-button/ and stack them horizontally and vertically. I wouldn’t recommend it though.
You get a better result with the custom tiles card for Lovelace: https://github.com/rodrigofragadf/lovelace-cards/tree/master/tiles-card
EDIT: I see that link is still getting a lot of hits. I no longer recommend the tiles card as it has been unsupported for quite some time. The custom button card is a much better option. Lovelace: Button card
e.g.
Here’s the config for that card to get you started:
card_settings:
background: var(--paper-card-background-color)
column_width: calc(97%/4)
columns: 4
row_height: 75px
title: TV
title_align: left
entities:
- column: 1
entity: script.lounge_tv_on
icon:
value: 'mdi:power-cycle'
label_sec:
value: 'On'
row: 1
- column: 2
entity: script.lounge_tv_off
icon:
value: 'mdi:power-off'
label_sec:
value: 'Off'
row: 1
- column: 1
entity: script.lounge_tv_input_tv
icon:
value: 'mdi:television-classic'
label_sec:
value: TV
row: 2
- column: 2
entity: script.lounge_tv_input_pc
icon:
value: 'mdi:desktop-classic'
label_sec:
value: PC
row: 2
- column: 3
entity: script.lounge_tv_input_kodi
icon:
value: 'mdi:kodi'
label_sec:
value: Kodi
row: 2
- column: 1
entity: script.lounge_tv_play
icon:
value: 'mdi:play'
row: 3
- column: 2
entity: script.lounge_tv_pause
icon:
value: 'mdi:pause'
row: 3
- column: 3
entity: script.lounge_tv_stop
icon:
value: 'mdi:stop'
row: 3
- column: 4
entity: script.lounge_tv_rec
icon:
color:
value: '#ff0000'
value: 'mdi:record'
row: 3
- column: 1
entity: script.lounge_tv_menu
icon:
value: 'mdi:menu'
label_sec:
value: Menu
row: 4
- column: 2
entity: script.lounge_tv_rew
icon:
value: 'mdi:rewind'
row: 4
- column: 3
entity: script.lounge_tv_ffwd
icon:
value: 'mdi:fast-forward'
row: 4
- column: 4
entity: script.lounge_tv_ch_up
icon:
value: 'mdi:arrow-up-bold-box-outline'
row: 4
- column: 1
entity: script.lounge_tv_option
icon:
value: 'mdi:playlist-edit'
label_sec:
value: Options
row: 5
- column: 2
entity: script.lounge_tv_skip_back
icon:
value: 'mdi:skip-previous'
row: 5
- column: 3
entity: script.lounge_tv_skip_fwd
icon:
value: 'mdi:skip-next'
row: 5
- column: 4
entity: script.lounge_tv_last_ch
icon:
value: 'mdi:arrow-left-bold-box-outline'
label_sec: Last CH
row: 5
- column: 1
entity: script.lounge_tv_guide
icon:
value: 'mdi:television-guide'
label_sec:
value: Guide
row: 6
- column: 2
entity: script.lounge_tv_info
icon:
value: 'mdi:information-outline'
label_sec:
value: Info
row: 6
- background:
value: '#2576da'
column: 3
entity: script.lounge_tv_up
icon:
value: 'mdi:arrow-up-bold-circle'
row: 6
- column: 4
entity: script.lounge_tv_ch_dn
icon:
value: 'mdi:arrow-down-bold-box-outline'
row: 6
- column: 1
entity: script.lounge_tv_media
icon:
value: 'mdi:folder-multiple-image'
label_sec:
value: Media
row: 7
- background:
value: '#2576da'
column: 2
entity: script.lounge_tv_left
icon:
value: 'mdi:arrow-left-bold-circle'
row: 7
- column: 3
entity: script.lounge_tv_ok
icon:
value: 'mdi:check-circle-outline'
row: 7
- background:
value: '#2576da'
column: 4
entity: script.lounge_tv_right
icon:
value: 'mdi:arrow-right-bold-circle'
row: 7
- column: 1
entity: script.lounge_tv_www
icon:
value: 'mdi:play-network'
label_sec: Internet
row: 8
- column: 2
entity: script.lounge_tv_return
icon:
value: 'mdi:backburger'
label_sec:
value: Return
row: 8
- background:
value: '#2576da'
column: 3
entity: script.lounge_tv_down
icon:
value: 'mdi:arrow-down-bold-circle'
row: 8
- column: 4
entity: script.lounge_tv_exit
icon:
value: 'mdi:backspace'
label_sec: Exit
row: 8
- column: 1
entity: script.lounge_tv_red
icon:
color: '#ff0000'
value: 'mdi:square'
row: 9
- column: 2
entity: script.lounge_tv_green
icon:
color: '#00ff00'
value: 'mdi:square'
row: 9
- column: 3
entity: script.lounge_tv_yellow
icon:
color: '#ffff00'
value: 'mdi:square'
row: 9
- column: 4
entity: script.lounge_tv_blue
icon:
color: '#0000ff'
value: 'mdi:square'
row: 9
global_settings:
border:
color:
value: black
radius: 5px
size: 3px
icon:
color:
value: white
label_sec:
color:
value: white
shadow: 'elevation: 6dp'
type: 'custom:tiles-card'
and an accompanying script example
lounge_tv_on:
sequence:
- service: remote.send_command
data:
entity_id: remote.lounge_tv
command: "ON"
aristosv
(Aristos)
April 6, 2019, 12:08pm
3
So no way to just change the icon? I have to rewrite the whole thing?
tom_l
April 6, 2019, 1:04pm
4
You could just use a script to call the remote command. It would look like this example:
finity
April 6, 2019, 7:09pm
5
you can try to set the “assumed_state: false” in the customization section for the switch.
that will give you the standard “toggle” type switch.