Never used layout-card as a card (only for a view) - but a similar thing may be achieved by stack-in-card, compare:
code for the bottom card
type: custom:stack-in-card
keep:
background: true
cards:
- type: markdown
content: '{{states(''sun.sun'')}}'
view_layout:
grid-area: date
card_mod:
style: |
ha-card {
background: transparent;
border: none;
font-size: 12px;
text-align: center;
}
- type: markdown
content: '{{states(''sun.sun'')}}'
view_layout:
grid-area: time
card_mod:
style: |
ha-card {
background: transparent;
border: none;
font-weight: bold;
font-size: 20px;
text-align: center;
padding-bottom: 30px
}
- type: markdown
content: Home <ha-icon icon="mdi:home"></ha-icon>
card_mod:
style: |
ha-card {
background: red;
box-shadow: 10;
border: none;
text-align: left;
border-radius: 0px;
padding-left: 30px;
}
- type: markdown
content: Lampen <ha-icon icon="mdi:lightbulb-group"></ha-icon>
card_mod:
style: |
ha-card {
background: grey;
border: none;
text-align: left;
border-radius: 0px;
padding-left: 30px;
}
- type: markdown
content: Lampen <ha-icon icon="mdi:lightbulb-group"></ha-icon>
card_mod:
style: |
ha-card {
background: green;
border: none;
text-align: left;
border-radius: 0px;
padding-left: 30px;
}
If you do not need a background & borders for the stack - this may be fixed by card-mod,
1 Like
Ildar - Your posts here have been unbelievably over the last year or so. Thank you!!!
I am stuck and just cannot figure this out. I am trying to modify the scrollbar to have a color of none.
When I add --scrollbar-thumb-color: red !important;
or ::-webkit-scrollbar: none
just about anywhere in the chrome devtools, the scrollbar changes color properly. However, nothing I have tried in yaml has worked.
Hereās just one version of the code I have tried:
card_mod:
class: middle-right
style: |
.content ha-logbook $ ha-logbook-renderer $: |
.container .ha-scrollbar {
overflow-y: auto !important;
--scrollbar-thumb-color: green !important;
}
ha-logbook {
height: 16.1vh !important;
}
I realize that code isnāt quite right. I have tried so many different frustrating versionsā¦
I will really appreciate any help you send my way! Iāll bet the fix is simple for you to see
The style may NOT be applied.
type: logbook
entities:
- sun.sun
hours_to_show: 72
card_mod:
style:
ha-logbook $:
ha-logbook-renderer $: |
.container.ha-scrollbar {
overflow-y: auto !important;
--scrollbar-thumb-color: cyan !important;
}
.: |
ha-logbook {
height: 200px !important;
}
Probably better to use a technics similar to styling images in Logbook.
2 Likes
Thank you for the fast reply!!! I looked at that method a few times, but it seemed a bit beyond me. I will give it a try and see what happens.
Interestingly, that may also help streamline code for a group of us who have been using the LCARS theme.
I appreciate it!
1 Like
Tarcisio
(Tarcisio Alves de Menezes)
March 21, 2023, 4:28pm
4498
Hello guys!
Iām struggling with the alignment.
Iād like to be able to do alignments for the Icons at the bottom of the card (start, justify, end and center). All the cards are Mushroom Template cards and Iām using stack-in-card
to combine them and card-mod
to style (remove borders, background and etcā¦)
How could I align the icons to the end? Thank you!
type: custom:stack-in-card
cards:
- type: custom:mushroom-template-card
card_mod:
style: |
ha-card {--ha-card-border-width: 0}
ha-card {padding-top: 5px !important}
ha-card {padding-bottom: 0px !important}
ha-card {padding-left: 5px !important}
:host { --mush-icon-size: 55px }
primary: Office
secondary: >-
{{ states('sensor.bedroom_xiaomi_clock_sensor_temperature') |round }}Ā°F |
{{ states('sensor.bedroom_xiaomi_clock_sensor_humidity') |round }}%
icon: mdi:flask
icon_color: orange
badge_icon: |-
{% if states('binary_sensor.closet_door_contact') != 'off' %}
mdi:door-open
{% endif %}
badge_color: red
- type: custom:stack-in-card
card_mod:
style: |
ha-card {--ha-card-border-width: 0}
mode: horizontal
cards:
- type: custom:mushroom-light-card
card_mod:
style: >
ha-card {padding-top: 3px !important}
ha-card {padding-bottom: 0px !important}
mushroom-shape-icon { --shape-color: none !important }
mushroom-shape-icon { --shape-color-disabled: transparent
!important}
:host { --mush-icon-size: 50px }
entity: light.office_wall_light
primary_info: none
secondary_info: none
layout: vertical
use_light_color: true
- type: custom:mushroom-light-card
card_mod:
style: >
ha-card {padding-top: 3px !important}
ha-card {padding-bottom: 0px !important}
mushroom-shape-icon { --shape-color: none !important }
mushroom-shape-icon { --shape-color-disabled: transparent
!important}
:host { --mush-icon-size: 50px }
entity: light.office_wall_light
primary_info: none
secondary_info: none
layout: vertical
use_light_color: true
trying to copy the tab bar styling of my main dashboard to the tabbed-card, I do:
type: custom:mod-card
card_mod:
style:
tabbed-card $:
mwc-tab:
$:
mwc-tab-indicator $: |
.mdc-tab-indicator__content--underline {
border-color: var(--text-color-off) !important;
}
.: |
.mdc-tab {
min-width: 40px !important;;
background: {{'radial-gradient(var(--primary-color),var(--card-background-color)) !important'
if states('input_select.theme')|regex_search('(ight|Dark|Matrix)')
else 'var(--primary-color)'}};
}
.material-icons {
display: contents !important;
}
.mdc-tab--active {
--mdc-icon-size: {{states('input_number.active_icon_size')}}px;
/*background: var(--text-color-off) !important;*/
}
and that does work
though it is not what I want. Id like the gradient to span the complete mwc-tabbed-bar, just like my main menu bar:
I probably need to set it to a higher level in the Dom,
but fail to find the correct syntax.
would appreciate a second eye please?
Update
nvm meā¦ its late:
type: custom:mod-card
card_mod:
style:
tabbed-card $: |
mwc-tab-bar {
background: {{'radial-gradient(var(--primary-color),var(--card-background-color)) !important'
if states('input_select.theme')|regex_search('(ight|Dark|Matrix)')
else 'var(--primary-color)'}};
}
mwc-tab:
$:
mwc-tab-indicator $: |
.mdc-tab-indicator__content--underline {
border-color: var(--text-color-off) !important;
}
.: |
.mdc-tab {
min-width: 40px !important;
}
.material-icons {
display: contents !important;
}
.mdc-tab--active {
--mdc-icon-size: {{states('input_number.active_icon_size')}}px;
/*background: var(--text-color-off) !important;*/
}
does it. I feared to add the pipe at the top
tabbed-card $: |
but it works, very nice indeed:
Tarcisio
(Tarcisio Alves de Menezes)
March 22, 2023, 3:08pm
4502
Hello guys!
Does anybody know how would be the yaml to change this --mdc-icon-size property in card-mod
?
Changing on chrome does exactly what I need, but I canāt find out how Iām supposed to do in yaml.
first real hit in the correct thread
No, just icons. You can tweak the icon size so that it centers better.
[winner]
type: custom:mushroom-template-card
primary: Winner
secondary: ''
icon: mdi:trophy
badge_icon: mdi:numeric-1-circle
icon_color: amber
badge_color: blue
card_mod:
style: |
ha-card {
--badge-icon-size: 0.8em;
}
but, I see your not looking for the badge icon?
anyways, your chances are best in that thread, Rhys has an enormous amount of posts there
Tarcisio
(Tarcisio Alves de Menezes)
March 22, 2023, 6:08pm
4504
I thought Iād be here cause Iām using card-mod to style the cards.
Anyways, I posted there. Thank you.
1 Like
Sure, Iāll follow along, like to know what the result will be
rhysb
(Rhys)
March 22, 2023, 11:02pm
4506
For reference, answered here:
You can control the Mushroom Badge & Icon sizes like this.
Mushroom Icon Size:
[Mushroom Icon Size]
type: custom:mushroom-template-card
primary: Mushroom
icon: mdi:mushroom
icon_color: red
card_mod:
style: |
:host {
--mush-icon-size: 50px;
--mush-icon-symbol-size: 0.8em;
}
If you want to change it globally, then add this to your theme:
mush-icon-size: 50px;
mush-icon-symbol-size: 0.8em;
Mushroom Badge Size:
[Mushroom Badge Size]
type: custom:mushroom-temā¦
2 Likes
Iām new to HA, but having a problem getting Card-mod installed/working properly. Iām using HACS to install it, latest HAOS version on a RPi. I got Card-mod listed under Frontend. Iām also using Watchman that has a couple of card-mod uses.
Iām not sure if the path my configuration.yaml is right. I first started with the GiHub suggested path if using HACS. Restarted HA services, and the watchman cards arenāt rendering with the card-mod changes. I then tried other js paths such as:
Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
extra_module_url:
- /root/config/www/community/lovelace-card-mod/card-mod.js
But the Watchman card mods arenāt actually rendering at allā¦I just see the card_mod css style text. What am I doing wrong?
Looking for some help here. I am a noob and Iām trying to piece some things together.
The basic issue relates to Tuya based thermostats. Iām trying to display a sensor value within the thermostat card so I can get the correct unit value for the current temperature. And for the life of me, I just canāt work out how people know what code to use to fill what areas. I sort of get the whole āinspectā thing and I can drill down to the attribute I believe I want to change but beyond that, Iām lost. Is there a good guide somewhere to learn this stuff?
I want that number, the ā64ā to be repalced with a value from a sensor. I have the template to get the value just donāt get how to use card-mod to alter the card to reference the template to replace the ā64ā?
Thanks for any kind input.
Richi
(Stefan Richter)
March 23, 2023, 11:32am
4511
Hello! I have used a button card for my media player. The problem is, when a song is playing i can not see the full text. Is it possible to let the text sliding from the right side to the left?
Best regards
Stefan
dansity
(Dansity)
March 27, 2023, 5:45pm
4514
Hi,
Can someone explain me why is this not working? For clarity: the plugin does working, I have trouble with this particular override.
Hey guys!
I am trying to get media players to stack nicely on a given vertical space.
This is the code I am trying.
Does anyone sees what Iām doing wrong?
type: custom:mod-card
style: |
ha-card {
height: 423px;
}
card:
type: custom:hui-vertical-stack-card
cards:
- type: conditional
conditions:
- entity: media_player.office_chromecast
state_not: 'off'
- entity: media_player.plex_office_chromecast
state_not: unavailable
card:
type: custom:config-template-card
variables:
real_media_entity: states['media_player.office_chromecast'].entity_id
plex_media_entity: states['media_player.plex_office_chromecast'].entity_id
entities:
- ${plex_media_entity}
card:
type: custom:mini-media-player
entity: ${plex_media_entity}
group: true
volume_stateless: false
toggle_power: true
artwork: full-cover
scale: '1'
shortcuts:
columns: 5
buttons:
- icon: mdi:play-pause
type: service
id: media_player.media_play_pause
data:
entity_id: ${real_media_entity}
- icon: mdi:stop
type: service
id: media_player.turn_off
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-minus
type: service
id: media_player.volume_down
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-plus
type: service
id: media_player.volume_up
data:
entity_id: ${real_media_entity}
- icon: mdi:skip-next
type: service
id: media_player.media_seek
data:
entity_id: ${real_media_entity}
seek_position: 56000
card_mod:
style: |
ha-card {
height: auto;
}
:host {
--mini-media-player-overlay-base-color: white;
--mini-media-player-overlay-accent-color: red;
--mini-media-player-media-cover-info-color: white;
--mini-media-player-accent-color: red;
--mini-media-player-background-opacity: 1;
--mini-media-player-progress-height: 10px;
--mini-media-player-button-color: rgba(0,0,0,0.75);
}
- type: conditional
conditions:
- entity: media_player.office_chromecast
state_not: 'off'
- entity: media_player.plex_office_chromecast
state: unavailable
card:
type: custom:config-template-card
variables:
real_media_entity: states['media_player.office_chromecast'].entity_id
plex_media_entity: states['media_player.office_chromecast'].entity_id
entities:
- ${plex_media_entity}
card:
type: custom:mini-media-player
entity: ${plex_media_entity}
group: true
volume_stateless: false
toggle_power: true
artwork: full-cover
scale: '1'
shortcuts:
columns: 5
buttons:
- icon: mdi:play-pause
type: service
id: media_player.media_play_pause
data:
entity_id: ${real_media_entity}
- icon: mdi:stop
type: service
id: media_player.turn_off
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-minus
type: service
id: media_player.volume_down
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-plus
type: service
id: media_player.volume_up
data:
entity_id: ${real_media_entity}
- icon: mdi:skip-next
type: service
id: media_player.media_seek
data:
entity_id: ${real_media_entity}
seek_position: 56000
card_mod:
style: |
ha-card {
height: auto;
}
:host {
--mini-media-player-overlay-base-color: white;
--mini-media-player-overlay-accent-color: red;
--mini-media-player-media-cover-info-color: white;
--mini-media-player-accent-color: red;
--mini-media-player-background-opacity: 1;
--mini-media-player-progress-height: 10px;
--mini-media-player-button-color: rgba(0,0,0,0.75);
}
- type: conditional
conditions:
- entity: media_player.group_home_speakers
state_not: 'off'
- entity: media_player.plex_group_home_speakers
state_not: unavailable
card:
type: custom:config-template-card
variables:
real_media_entity: states['media_player.office_speaker'].entity_id
plex_media_entity: states['media_player.plex_group_home_speakers'].entity_id
entities:
- ${plex_media_entity}
card:
type: custom:mini-media-player
entity: ${plex_media_entity}
group: true
volume_stateless: false
toggle_power: true
artwork: full-cover
scale: '1'
shortcuts:
columns: 5
buttons:
- icon: mdi:play-pause
type: service
id: media_player.media_play_pause
data:
entity_id: ${real_media_entity}
- icon: mdi:stop
type: service
id: media_player.turn_off
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-minus
type: service
id: media_player.volume_down
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-plus
type: service
id: media_player.volume_up
data:
entity_id: ${real_media_entity}
- icon: mdi:skip-next
type: service
id: media_player.media_seek
data:
entity_id: ${real_media_entity}
seek_position: 56000
card_mod:
style: |
ha-card {
height: auto;
}
:host {
--mini-media-player-overlay-base-color: white;
--mini-media-player-overlay-accent-color: red;
--mini-media-player-media-cover-info-color: white;
--mini-media-player-accent-color: red;
--mini-media-player-background-opacity: 1;
--mini-media-player-progress-height: 10px;
--mini-media-player-button-color: rgba(0,0,0,0.75);
}
- type: conditional
conditions:
- entity: media_player.group_home_speakers
state_not: 'off'
- entity: media_player.plex_group_home_speakers
state: unavailable
card:
type: custom:config-template-card
variables:
real_media_entity: states['media_player.office_speaker'].entity_id
plex_media_entity: states['media_player.office_speaker'].entity_id
entities:
- ${plex_media_entity}
card:
type: custom:mini-media-player
entity: ${plex_media_entity}
group: true
volume_stateless: false
toggle_power: true
artwork: full-cover
scale: '1'
shortcuts:
columns: 5
buttons:
- icon: mdi:play-pause
type: service
id: media_player.media_play_pause
data:
entity_id: ${real_media_entity}
- icon: mdi:stop
type: service
id: media_player.turn_off
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-minus
type: service
id: media_player.volume_down
data:
entity_id: ${real_media_entity}
- icon: mdi:volume-plus
type: service
id: media_player.volume_up
data:
entity_id: ${real_media_entity}
- icon: mdi:skip-next
type: service
id: media_player.media_seek
data:
entity_id: ${real_media_entity}
seek_position: 56000
card_mod:
style: |
ha-card {
height: auto;
}
:host {
--mini-media-player-overlay-base-color: white;
--mini-media-player-overlay-accent-color: red;
--mini-media-player-media-cover-info-color: white;
--mini-media-player-accent-color: red;
--mini-media-player-background-opacity: 1;
--mini-media-player-progress-height: 10px;
--mini-media-player-button-color: rgba(0,0,0,0.75);
}
But the cards inside are overflowing
Maybe a silly question given that I am also a noob but are you able to confirm that the card you are trying to modify (the stack card) is/or has the ha-card element in inspector?
It has been mentioned many times that the stack cards, vertical and horizontal do not have the ha-card element and I do realize your card is a community designed stack card but figured itās worth confirming if you havenāt already done so, Again, might be a silly noob question.
Hello everyone,
I have read this topic and I have gained a lot of inspiration from it!
Iām having a problem with a card that I have build. Itās a card to start my favourite radio stations via a script on one of my Sonos speakers. It works, but itās not visually pleasing. As you can see, there are still some borders and lines that I wish to hide. So I want to create a single card without borders with the information / scripts / volume sliders in it. I guess it is possible via media player card edit / card mods, but I donāt know how. Can anyone please help me?
This is the code that I have used:
cards:
- cards:
- entity: media_player.sonos_move_keuken
type: media-control
tap_action:
action: more-info
- entity: media_player.sonos_move_keuken
hide:
icon: true
info: true
mute: true
power: true
source: true
volume: true
name: true
controls: true
mini-media-player-progress-height: 1px
progress: true
shortcuts:
buttons:
- data:
entity_id: script.new_script
image: /local/SLAM-MM.png
id: script.turn_on
name: null
type: service
- data:
entity_id: script.new_script_2
image: /local/SLAM40!.png
id: script.turn_on
name: null
type: service
- data:
entity_id: script.new_script_3
image: /local/SLAM Hardstyle.png
id: script.turn_on
name: null
type: service
- data:
entity_id: script.new_script_4
image: /local/SLAMFM.png
id: script.turn_on
name: null
type: service
- data:
entity_id: script.new_script_5
image: /local/Radio 538.png
id: script.turn_on
name: null
type: service
- data:
entity_id: script.new_script_6
image: /local/Radio 538 DD.png
id: script.turn_on
name: null
type: service
columns: 3
show_group_count: true
show_progress: true
type: custom:mini-media-player
volume_stateless: true
- entity: media_player.sonos_move_keuken
hide:
controls: true
icon: true
info: true
max_volume: 100
min_volume: 0
name: hide
play_pause: true
power: true
progress: true
source: true
type: custom:mini-media-player
type: vertical-stack
mode: vertical
type: custom:stack-in-card
Thanks!
davo
(Davo)
March 31, 2023, 12:25am
4518
I am wanting to pad input_datetime on/off label without moving icon, and increase size of font in the time select numbers.
If I add the following code it moves/pads the icon and text over, and only increases the font size for the label.
- entity: input_datetime.hotwater_on
card_mod:
style: |
hui-generic-entity-row {
color: white;
padding-left 52px;
font-size: 22px;
}
name: 'On time'
For the time select numbers i have tried to modify input.mdc-text-field_input but that didnt work.
Thanks