šŸŒ» Lovelace UI ā€¢ Minimalist

does /config/custom_components/ui_lovelace_minimalist/__ui_minimalist__/ulm_templates/language.yaml file exist ?

Yes:

ok, you seem to be missing the language folder for the customer card, grab it here and put the folder in the custom card folder.

donā€™t just put the yaml files in the custom card folder

Is this integration no longer supported?

No, alive and well, and constantly updated and very active users, this is phenominal for a cell phone:

Also look here:

https://ui-lovelace-minimalist.github.io/UI/

https://ui-lovelace-minimalist.github.io/UI/setup/customizing/#add-multiple-dashboards

Thanks, I just noticed the last update was November 2023 and there is a bug that causes HA to crash. Itā€™s been reported and I believe someone has made a fix but not implemented.

1 Like

Thanks for the heads up. Either I have an older implementation that still works or I do not have mine configured in a way that exposes the issue. Sorry I didnā€™t see it in this endlessly long thread, can you repeat the details of the issue or reply with a link to the related post/details of the issue?

1 Like

If you have a look at the issues on GitHub it appears a couple of times

Blocking call stops Lovelace and makes HA crash Ā· Issue #1504 Ā· UI-Lovelace-Minimalist/UI Ā· GitHub

That makes sense. Happy I never tried it! As I had learned through the video to set it all up by manually updating the files for the dashboard, and therefore continued that is why I have never run into the problem. Iā€™m not surprised that trying to change it or updated through the UI would cause problems since itā€™s all originally built by hand anywayā€¦ There should at least be some kind of warning or disabled button for configuring via the UI I would thinkā€¦

Two questions about Vertical Buttonsā€¦

  1. Iā€™d like my Label to display the power consumption of an entity, but it doesnā€™t seem to be evaluating my expression. Is this doable? And if so, am I missing something?

Hereā€™s my YAML:

- type: "custom:button-card"
  template: card_vertical_button
  entity: input_boolean.toggle_calamansi_power
  name: Calamansi
  label: >
    {{ states('sensor.sonoff_s31_10_power') }} W
  icon: mdi:desktop-tower
  show_last_changed: false

and hereā€™s whatā€™s being displayed:

  1. Iā€™m using a ā€œPingā€ binary_sensor to determine if the system is on or not, so Iā€™d like the initial state of the button to reflect the actual state of the machine, not necessarily the state of the input_boolean the button is attached to: I was hoping to do something along the lines of:
variables:
  ulm_card_vertical_button_state: >
    {{ states('binary_sensor.ping_calamansi') }}

but that also doesnā€™t seem to be working.

Sad if it is not fixed it could be soon removed

Just had an update and I can also download and add custom cards again :slight_smile:

On that note I was wondering if someone could tell me how to add a custom background image?

I updated to the new version and suddenly it is missing lots of cards for instance card_esh_welcome. How can I fix this?

Reading the comment above. The folder custom cards is still filled.

HI all

i have a ui lovelace page for my climate winter/summer environmental . I have two specific cards, one for winter use and other card for summer user . I would like only one of these cards is visible at a time in function of season entity .

I am using visiblity + condition but with lovelace ui minimla dosenā€™t work for me.

This is my code :


title: "Climate"
icon: mdi:home-thermometer-outline
path: "climate"
type: "custom:layout-card"
layout_type: "custom:grid-layout"
layout:
  grid-gap: 2px 2px
  grid-template-rows: "auto"
  grid-template-columns: "33% 33% 33%"
  grid-template-areas: >
    "title1 title1 title1"  
    "title2 title2 title2"
    "card_clima_inverno card_clima_generale card_temperature"
    "card_clima_estate card_clima_generale card_temperature"
    ". card_clima_generale card_temperature"
  mediaquery:
    # Mobile
    "(max-width: 800px)":
      grid-gap: 2px 2px
      grid-template-columns: "50% 50%"
      grid-template-rows: auto
      grid-template-areas: |
        "title1 title3"
        "card_clima_inverno  card_clima_inverno"
        "card_clima_estate card_clima_estate"
        "card_clima_generale card_clima_generale"        
        "card_temperature card_temperature"

################  back button ##############
cards:
  - view_layout:
      grid-area: "title1"
    type: "custom:button-card"
    template: chip_back
    variables:
      ulm_chip_back_path: /ui-lovelace-minimalist/home

  ################  seconda  riga ##############
  - view_layout:
      grid-area: "title2"
    type: "custom:button-card"
    template: "card_title"
    name: "Climate"
  ################### Card CLIMA Inverno ########################
  - view_layout:
      grid-area: "card_clima_inverno"
    square: false
    type: grid
    cards:
      - type: entities
        entities:
          - type: custom:stack-in-card
            keep:
              margin: false
              box_shadow: false
              background: false
            cards:
              - type: thermostat
                entity: climate.salone
                show_current_as_primary: true
                features:
                  - style: icons
                    type: climate-hvac-modes
                    hvac_modes:
                      - auto
                      - heat
                      - 'off'
                  - type: climate-preset-modes
                    style: dropdown
                theme: minimalist-desktop
              - type: horizontal-stack
                cards:
                  - type: custom:mushroom-template-card
                    icon: >-
                      {% set mode = states('climate.splitter_salone', 'hvac_modes')
                      %}

                      {% if mode == 'off' %}

                      mdi:sofa-outline

                      {% elif mode == 'cool' %}

                      mdi:fire

                      {% else %}

                      mdi:sofa-outline

                      {% endif %}
                    entity: input_boolean.splitter_heat_salone
                    icon_color: >-
                      {% set status = states('input_boolean.splitter_heat_salone')
                      %}

                      {% if status == 'on' %}

                      blue

                      {% else %}

                      grey

                      {% endif %}
                    primary: Salone
                    layout: vertical
                    fill_container: false
                    name: Salone
                    tap_action:
                      action: more-info
                    badge_icon: >-
                      {% set portellone_state =
                      is_state('binary_sensor.portellone_salone_contact', 'on') %}
                      {% set balcone_state =
                      is_state('binary_sensor.balcone_dinner_zone_contact', 'on') %}
                      {% if not portellone_state and not balcone_state %}
                        mdi:window-closed-variant
                      {% else %}
                        mdi:window-open-variant
                      {% endif %}
                    badge_color: >-
                      {% set portellone_state = 

                      is_state('binary_sensor.portellone_salone_contact', 'on') %}
                      {%

                      set balcone_state =

                      is_state('binary_sensor.balcone_dinner_zone_contact', 'on') %}

                      {% if not portellone_state and not balcone_state %}
                        green
                      {% else %}
                        red
                      {% endif %}
                    card_mod:
                      style:
                        mushroom-shape-icon$: |
                          .shape {
                            width: 56px !important;
                            height: 36px !important;
                          }
                        .: |
                          ha-card {    
                            background: none;
                            box-shadow: none;
                          }
                          :host {
                            --mush-icon-border-radius: 10px;
                            --mush-icon-size: 50px;
                          }
                  - type: custom:mushroom-template-card
                    icon: >-
                      {% set mode = states('climate.termostato_bagno', 'hvac_modes')
                      %}

                      {% if mode == 'off' %}

                      mdi:human-female-female

                      {% elif mode == 'heat' %}

                      mdi:fire

                      {% else %}

                      mdi:human-female-female

                      {% endif %}
                    entity: input_boolean.splitter_heat_bagno
                    icon_color: |-
                      {% set status = states('input_boolean.splitter_heat_bagno') %}
                      {% if status == 'on' %}
                      blue
                      {% else %}
                      grey
                      {% endif %}
                    primary: Bagno
                    layout: vertical
                    fill_container: false
                    tap_action:
                      action: more-info
                    badge_icon: |-
                      {% if is_state('binary_sensor.bagno_contact', 'on') %}
                        mdi:window-open-variant
                      {% else %}
                        mdi:window-closed-variant
                      {% endif %}
                    badge_color: |-
                      {% if is_state('binary_sensor.bagno_contact', 'off') %}
                        green
                      {% else %}
                        red
                      {% endif %}
                    card_mod:
                      style:
                        mushroom-shape-icon$: |
                          .shape {
                            width: 56px !important;
                            height: 36px !important;
                          }
                        .: |
                          ha-card {    
                            background: none;
                            box-shadow: none;
                          }
                          :host {
                            --mush-icon-border-radius: 10px;
                            --mush-icon-size: 50px;
                          }
                  - type: custom:mushroom-template-card
                    icon: >-
                      {% set mode = states('climate.splitter_camera_letto',
                      'hvac_modes') %}

                      {% if mode == 'off' %}

                      mdi:bed-king-outline

                      {% elif mode == 'cool' %}

                      mdi:fire

                      {% else %}

                      mdi:bed-king-outline

                      {% endif %}
                    entity: input_boolean.splitter_heat_camera_letto
                    icon_color: >-
                      {% set status =
                      states('input_boolean.splitter_heat_camera_letto') %}

                      {% if status == 'on' %}

                      blue

                      {% else %}

                      grey

                      {% endif %}
                    primary: Camera Letto
                    layout: vertical
                    fill_container: false
                    tap_action:
                      action: more-info
                    badge_icon: >-
                      {% if is_state('binary_sensor.balcone_camera_letto_contact',
                      'on') %}
                        mdi:window-open-variant
                      {% else %}
                        mdi:window-closed-variant
                      {% endif %}
                    badge_color: >-
                      {% if is_state('binary_sensor.balcone_camera_letto_contact',
                      'off') %}
                        green
                      {% else %}
                        red
                      {% endif %}
                    card_mod:
                      style:
                        mushroom-shape-icon$: |
                          .shape {
                            width: 56px !important;
                            height: 36px !important;
                          }
                        .: |
                          ha-card {    
                            background: none;
                            box-shadow: none;
                          }
                          :host {
                            --mush-icon-border-radius: 10px;
                            --mush-icon-size: 50px;
                          }
                  - type: custom:mushroom-template-card
                    icon: >-
                      {% set mode = states('climate.termostato_bagno_camera',
                      'hvac_modes') %}

                      {% if mode == 'off' %}

                      mdi:human-female-female

                      {% elif mode == 'heat' %}

                      mdi:fire

                      {% else %}

                      mdi:human-female-female

                      {% endif %}
                    entity: input_boolean.splitter_heat_bagno_camera
                    icon_color: >-
                      {% set status =
                      states('input_boolean.splitter_heat_bagno_camera') %}

                      {% if status == 'on' %}

                      blue

                      {% else %}

                      grey

                      {% endif %}
                    primary: B.Camera
                    layout: vertical
                    fill_container: false
                    tap_action:
                      action: more-info
                    badge_icon: >-
                      {% if is_state('binary_sensor.finestra_bagno_camera_contact',
                      'on') %}
                        mdi:window-open-variant
                      {% else %}
                        mdi:window-closed-variant
                      {% endif %}
                    badge_color: >-
                      {% if is_state('binary_sensor.finestra_bagno_camera_contact',
                      'off') %}
                        green
                      {% else %}
                        red
                      {% endif %}
                    card_mod:
                      style:
                        mushroom-shape-icon$: |
                          .shape {
                            width: 56px !important;
                            height: 36px !important;
                          }
                        .: |
                          ha-card {    
                            background: none;
                            box-shadow: none;
                          }
                          :host {
                            --mush-icon-border-radius: 10px;
                            --mush-icon-size: 50px;
                          }
                  - type: custom:mushroom-template-card
                    icon: >-
                      {% set mode = states('climate.splitter_cameretta',
                      'hvac_modes') %}

                      {% if mode == 'off' %}

                      mdi:bed-king-outline

                      {% elif mode == 'cool' %}

                      mdi:fire

                      {% else %}

                      mdi:bed-king-outline

                      {% endif %}
                    entity: input_boolean.splitter_heat_cameretta
                    icon_color: >-
                      {% set status =
                      states('input_boolean.splitter_heat_cameretta') %}

                      {% if status == 'on' %}

                      blue

                      {% else %}

                      grey

                      {% endif %}
                    primary: Cameretta
                    layout: vertical
                    fill_container: false
                    tap_action:
                      action: more-info
                    badge_icon: >-
                      {% if is_state('binary_sensor.balcone_cameretta_contact',
                      'on') %}
                        mdi:window-open-variant
                      {% else %}
                        mdi:window-closed-variant
                      {% endif %}
                    badge_color: >-
                      {% if is_state('binary_sensor.balcone_cameretta_contact',
                      'off') %}
                        green
                      {% else %}
                        red
                      {% endif %}
                    card_mod:
                      style:
                        mushroom-shape-icon$: |
                          .shape {
                            width: 56px !important;
                            height: 36px !important;
                          }
                        .: |
                          ha-card {    
                            background: none;
                            box-shadow: none;
                          }
                          :host {
                            --mush-icon-border-radius: 10px;
                            --mush-icon-size: 50px;
                          }
              - type: custom:bar-card
                show_icon: true
                align: split
                columns: 1
                max: 24
                decimal: 1
                positions:
                  icon: inside
                  indicator: inside
                  name: inside
                  value: inside
                unit_of_measurement: h
                severity:
                  - color: cyan
                    from: 0
                    to: 6
                  - color: green
                    from: 6
                    to: 10
                  - color: yellow
                    from: 10
                    to: 15
                  - color: orange
                    from: 15
                    to: 20
                  - color: red
                    from: 20
                    to: 24
                name: Ore Attivo
                entity_row: true
                entities:
                  - entity: sensor.time_on_elettrodomestici_3
                card_mod:
                  style: |
                    ha-card {
                      --ha-card-border-radius: 0%;
                      box-shadow: none;
                      background-color: none;
                      margin-top: 0rem;
                      margin-left: 0rem;
                      margin-right: 0rem;
                      margin-bottom: 0rem;
                      }
              - type: custom:bar-card
                show_icon: true
                align: split
                columns: 1
                max: 5000
                positions:
                  icon: inside
                  indicator: inside
                  name: inside
                  value: inside
                unit_of_measurement: W
                severity:
                  - color: '#27b376'
                    from: 0
                    to: 600
                  - color: '#006f3c'
                    from: 601
                    to: 1000
                  - color: '#FFFF00'
                    from: 1001
                    to: 1500
                  - color: '#f9a73e'
                    from: 1501
                    to: 2000
                  - color: '#FF2A00'
                    from: 2001
                    to: 3000
                  - color: '#B11313'
                    from: 3001
                    to: 6000
                name: Consumo Istantaneo
                entity_row: true
                entities:
                  - entity: sensor.potenza_elettrodomestici_w_3
            card_mod:
              style: |
                ha-card {
                  --ha-card-border-radius: 0%;
                  box-shadow: none;
                  background-color: none;
                  margin-top: 0rem;
                  margin-left: 0rem;
                  margin-right: 0rem;
                  margin-bottom: 0rem;
                  }
        show_header_toggle: false
        state_color: true
        header:
          type: picture
          image: local/foto-pkg/immagineheatingcooling.jpg
          transparent: 100%
          tap_action:
            action: none
          hold_action:
            action: none
    columns: 1
    visibility:
      - condition: or
        conditions:
          - condition: state
            entity: sensor.season
            state: winter
          - condition: state
            entity: sensor.season
            state: autumn
          - condition: state
            entity: input_boolean.cooling_manual_mode
            state: 'on'

  ################### Card CLIMA estate ########################
  - view_layout:
      grid-area: "card_clima_estate"
    square: false
    type: entities
    entities:
      - type: custom:stack-in-card
        keep:
          margin: false
          box_shadow: false
          background: false
        cards:
          - type: custom:mushroom-fan-card
            entity: fan.motore_climatizzatore
            icon_animation: true
            show_percentage_control: false
            show_oscillate_control: false
            collapsible_controls: false
            fill_container: false
            name: Climatizzatore Estate
            icon: mdi:fan
            secondary_info: state
            card_mod:
              style:
                mushroom-shape-icon$: |
                  .shape {
                    --icon-symbol-size: 81px;
                    --icon-size: 100px;
                  }
          - type: horizontal-stack
            cards:
              - type: custom:mushroom-template-card
                icon: |-
                  {% set mode = states('climate.splitter_salone', 'hvac_modes') %}
                  {% if mode == 'off' %}
                  mdi:sofa-outline
                  {% elif mode == 'cool' %}
                  mdi:fire
                  {% else %}
                  mdi:sofa-outline
                  {% endif %}
                entity: input_boolean.splitter_cool_salone
                icon_color: |-
                  {% set status = states('input_boolean.splitter_cool_salone') %}
                  {% if status == 'on' %}
                  blue
                  {% else %}
                  grey
                  {% endif %}
                primary: Salone
                layout: vertical
                fill_container: false
                name: Salone
                tap_action:
                  action: more-info
                badge_icon: >-
                  {% set portellone_state =
                  is_state('binary_sensor.portellone_salone_contact', 'on') %} {%
                  set balcone_state =
                  is_state('binary_sensor.balcone_dinner_zone_contact', 'on') %} {%
                  if not portellone_state and not balcone_state %}
                    mdi:window-closed-variant
                  {% else %}
                    mdi:window-open-variant
                  {% endif %}
                badge_color: |-
                  {% set portellone_state = 
                  is_state('binary_sensor.portellone_salone_contact', 'on') %} {%
                  set balcone_state =
                  is_state('binary_sensor.balcone_dinner_zone_contact', 'on') %}
                  {% if not portellone_state and not balcone_state %}
                    green
                  {% else %}
                    red
                  {% endif %}
                card_mod:
                  style:
                    mushroom-shape-icon$: |
                      .shape {
                        width: 106px !important;
                        height: 36px !important;
                      }
                    .: |
                      ha-card {    
                        background: none;
                        box-shadow: none;
                      }
                      :host {
                        --mush-icon-border-radius: 10px;
                        --mush-icon-size: 50px;
                      }
              - type: custom:mushroom-template-card
                icon: >-
                  {% set mode = states('climate.splitter_camera_letto',
                  'hvac_modes') %}

                  {% if mode == 'off' %}

                  mdi:bed-king-outline

                  {% elif mode == 'cool' %}

                  mdi:fire

                  {% else %}

                  mdi:bed-king-outline

                  {% endif %}
                entity: input_boolean.splitter_cool_camera_letto
                icon_color: >-
                  {% set status = states('input_boolean.splitter_cool_camera_letto')
                  %}

                  {% if status == 'on' %}

                  blue

                  {% else %}

                  grey

                  {% endif %}
                primary: C.Letto
                layout: vertical
                fill_container: false
                tap_action:
                  action: more-info
                badge_icon: >-
                  {% if is_state('binary_sensor.balcone_camera_letto_contact', 'on')
                  %}
                    mdi:window-open-variant
                  {% else %}
                    mdi:window-closed-variant
                  {% endif %}
                badge_color: >-
                  {% if is_state('binary_sensor.balcone_camera_letto_contact',
                  'off') %}
                    green
                  {% else %}
                    red
                  {% endif %}
                card_mod:
                  style:
                    mushroom-shape-icon$: |
                      .shape {
                        width: 106px !important;
                        height: 36px !important;
                      }
                    .: |
                      ha-card {    
                        background: var(--card-background);
                        box-shadow: none;
                      }
                      :host {
                        --mush-icon-border-radius: 10px;
                        --mush-icon-size: 50px;
                      }
              - type: custom:mushroom-template-card
                icon: >-
                  {% set mode = states('climate.splitter_cameretta', 'hvac_modes')
                  %}

                  {% if mode == 'off' %}

                  mdi:bed-king-outline

                  {% elif mode == 'cool' %}

                  mdi:fire

                  {% else %}

                  mdi:bed-king-outline

                  {% endif %}
                entity: input_boolean.splitter_cool_camereretta
                icon_color: >-
                  {% set status = states('input_boolean.splitter_cool_camereretta')
                  %}

                  {% if status == 'on' %}

                  blue

                  {% else %}

                  grey

                  {% endif %}
                primary: Cameretta
                layout: vertical
                fill_container: false
                tap_action:
                  action: more-info
                badge_icon: |-
                  {% if is_state('binary_sensor.balcone_cameretta_contact', 'on') %}
                    mdi:window-open-variant
                  {% else %}
                    mdi:window-closed-variant
                  {% endif %}
                badge_color: >-
                  {% if is_state('binary_sensor.balcone_cameretta_contact', 'off')
                  %}
                    green
                  {% else %}
                    red
                  {% endif %}
                card_mod:
                  style:
                    mushroom-shape-icon$: |
                      .shape {
                        width: 106px !important;
                        height: 36px !important;
                      }
                    .: |
                      ha-card {    
                        background: var(--card-background);
                        box-shadow: none;
                      }
                      :host {
                        --mush-icon-border-radius: 10px;
                        --mush-icon-size: 50px;
                      }
                          
          - type: custom:bar-card
            show_icon: true
            align: split
            columns: 1
            max: 24
            decimal: 1
            positions:
              icon: inside
              indicator: inside
              name: inside
              value: inside
            unit_of_measurement: h
            severity:
              - color: cyan
                from: 0
                to: 6
              - color: green
                from: 6
                to: 10
              - color: yellow
                from: 10
                to: 15
              - color: orange
                from: 15
                to: 20
              - color: red
                from: 20
                to: 24
            name: Ore Attivo
            entity_row: true
            entities:
              - entity: sensor.time_on_elettrodomestici_3
            card_mod:
              style: |
                ha-card {
                  --ha-card-border-radius: 0%;
                  box-shadow: none;
                  background-color: none;
                  margin-top: 0rem;
                  margin-left: 0rem;
                  margin-right: 0rem;
                  margin-bottom: 0rem;
                  }
          - type: custom:bar-card
            show_icon: true
            align: split
            columns: 1
            max: 5000
            positions:
              icon: inside
              indicator: inside
              name: inside
              value: inside
            unit_of_measurement: W
            severity:
              - color: '#27b376'
                from: 0
                to: 600
              - color: '#006f3c'
                from: 601
                to: 1000
              - color: '#FFFF00'
                from: 1001
                to: 1500
              - color: '#f9a73e'
                from: 1501
                to: 2000
              - color: '#FF2A00'
                from: 2001
                to: 3000
              - color: '#B11313'
                from: 3001
                to: 6000
            name: Consumo Istantaneo
            entity_row: true
            entities:
              - entity: sensor.potenza_elettrodomestici_w_3
        card_mod:
          style: |
            ha-card {
              --ha-card-border-radius: 0%;
              box-shadow: none;
              background-color: none;
              margin-top: 0rem;
              margin-left: 0rem;
              margin-right: 0rem;
              margin-bottom: 0rem;
              }
    show_header_toggle: false
    state_color: true
    header:
      type: picture
      image: local/foto-pkg/immagineheatingcooling.jpg
      transparent: 100%
      tap_action:
        action: none
      hold_action:
        action: none
    visibility:
      - condition: or
        conditions:
          - condition: state
            entity: sensor.season
            state: summer
          - condition: state
            entity: sensor.season
            state: spring
          - condition: state
            entity: input_boolean.cooling_manual_mode
            state: 'on'

any idea how to solve ?

Regards

Luigi`

Is it possible to set the state of a Vertical Button based on the dynamic value of a binary sensor? Iā€™m wanting to do something like:

- type: "custom:button-card"
  template: card_vertical_button
  entity: input_button.some_input_button
  variables:
    ulm_card_vertical_button_state: {{ states('binary_sensor.some_sensor') }}

If this is possible, what is the correct syntax to evaluate the state of the entity for ulm_card_vertical_button_state and pass it to the template?

NOOOOO Frenck rightly so closed that issue and it is NOT being removed (THANK GOD)

Did you figure this out? My theme file also resets after a restart

Hi @darrendavid

Do you have more information on this? What would you like to achieve with it?
For example, I use it to control the icon and its color of vertical button card

If the door is closed, the icon is green. If the door is open, the icon changes and turns red

image
image

      - type: "custom:button-card"
        template: custom_card_vertical_button
        entity: binary_sensor.tursensor_balkon_contact
        name: BalkontĆ¼r
        icon: mdi:door-sliding-open
        show_last_changed: true
        card_mod:
          style: |
            ha-card {
              {% if is_state('binary_sensor.tursensor_balkon_contact', 'off') %}
              --card-mod-icon-color: green
              {%else%}
              --card-mod-icon-color: red
              {%endif%}
            }
            :host {
              {% if is_state('binary_sensor.tursensor_balkon_contact', 'off') %}
              --card-mod-icon: mdi:door-sliding
              {%else%}
              --card-mod-icon: mdi:door-sliding-open
              {%endif%}
            }

Hi guys.
I have a big trouble with my popup.
It doesnt fit the card.

icon: phu:weather-page-alt
icon_color: brown
primary: Meteo
secondary: ''
layout: vertical
tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.popup
    data:
      title: METEO e TEMPERATURE
      content:
        type: vertical-stack
        cards:
          - type: custom:stack-in-card
            cards:
              - type: custom:weather-card
                entity: weather.forecast_casa
              - type: custom:mushroom-template-card
                primary: Salotto
                secondary: >-
                  šŸŒ”{{ states('sensor.temperatura_salotto') }} | šŸ’§{{
                  states('sensor.sala_umidita') }}
                icon: null
                card_mod:
                  style: |
                    ha-card {
                        z-index: 1;
                    --ha-card-border-width: 0;
                      }
              - type: custom:hourly-weather
                entity: weather.forecast_casa
                num_segments: 12
                name: Next 12 hours
              - type: custom:mini-graph-card
                entities:
                  - entity: sensor.temperatura_salotto
                    name: Temperature
                    color: '#ff33ff'
                  - entity: sensor.sala_temperatura
                    name: Humidity
                    color: '#f2bdf2'
                    y_axis: secondary
                height: 50
                hours_to_show: 24
                line_width: 3
                font_size: 50
                animate: true
                show:
                  name: false
                  icon: false
                  state: false
                  legend: true
                  fill: fade
          - type: custom:stack-in-card
            cards:
              - type: custom:mushroom-template-card
                primary: Camera da Letto
                secondary: >-
                  šŸŒ”{{ states('sensor.purificatore_temperature') }} | šŸ’§{{
                  states('sensor.purificatore_humidity') }}
                icon: null
                card_mod:
                  style: |
                    ha-card {
                    z-index: 1;
                    --ha-card-border-width: 0;
                        }
              - type: custom:mini-graph-card
                entities:
                  - entity: sensor.purificatore_temperature
                    name: Temperature
                    color: '#298a20'
                  - entity: sensor.purificatore_humidity
                    name: Humidity
                    color: '#d3f043'
                    y_axis: secondary
                height: 50
                hours_to_show: 24
                line_width: 3
                font_size: 50
                animate: true
                show:
                  name: false
                  icon: false
                  state: false
                  legend: true
                  fill: fade
          - type: custom:stack-in-card
            cards:
              - type: custom:mushroom-template-card
                primary: Esterno
                secondary: >-
                  šŸŒ”{{ states('sensor.esterno_temperatura') }} | šŸ’§{{
                  states('sensor.esterno_umidita') }}
                icon: null
                card_mod:
                  style: |
                    ha-card {
                    z-index: 1;
                    --ha-card-border-width: 0;
                    }
              - type: custom:mini-graph-card
                entities:
                  - entity: sensor.esterno_temperatura
                    name: Temperature
                    color: '#61c5ff'
                  - entity: sensor.esterno_umidita
                    name: Humidity
                    color: '#e7ff61'
                    y_axis: secondary
                height: 50
                hours_to_show: 24
                line_width: 3
                font_size: 50
                animate: true
                show:
                  name: false
                  icon: false
                  state: false
                  legend: true
                  fill: fade
                card_mod:
                  style:
                    mushroom-shape-icon$: >
                      ha-icon:before {

                      content: "";

                      position: absolute;
                        width: 40%;
                      height: 30%;

                      margin: 6%;

                      animation: refresh 300ms linear infinite;

                      }

                      @keyframes refresh { 

                      0% { background: linear-gradient(180deg, rgba(var(--rgb-{{
                      config.icon_color }}), 0.2) 0%, transparent 50%,
                      transparent 100%); }
                        25% { background: linear-gradient(180deg, transparent 0%, rgba(var(--rgb-{{ config.icon_color }}), 0.2) 25%, transparent 100%); }
                      50% { background: linear-gradient(180deg, transparent 0%,
                      rgba(var(--rgb-{{ config.icon_color }}), 0.2) 50%,
                      transparent 100%); }
                        75% { background: linear-gradient(180deg, transparent 0%, rgba(var(--rgb-{{ config.icon_color }}), 0.2) 75%, transparent 100%); }
                      100% { background: linear-gradient(180deg, transparent 0%,
                      transparent 50%, rgba(var(--rgb-{{ config.icon_color }}),
                      0.2) 100%); }
                        }
entity: weather.forecast_casa