My Current Mobile Dashboard - Based off of Rounded Theme - Need Ideas for Improvements

Hey All,

I’ve built my Home Assistant dashboard based on the Rounded Theme (found here: 🟣 Rounded - Dashboard guide) and want to get opinions on improving it. I’ll share screenshots of the various pages and some code (as others might want to steal), but I’d like to get feedback and ideas for improvement.

Needs to have wife/partner approval too for functionality.

Home Page

Each of the room buttons will take you to the room page, and the temperatures slider will show the “More info” page when you click on them.

Alarm Page

Lights Page
The labels update when lights are on or off

Apple TV Remote Page
Underneath I have buttons for each HDMI input to easily switch between Xbox, Switch and Apple TV.

Windows & Doors
Again, the labels update when windows/doors are open.

Living Room

Here I have two different button types, and I can’t quite get it to match. One is a light, and one is a switch. Would be good to help understand how to get these matching.

Light Card;

type: custom:button-card
name: Living Room
icon: '[[[ return entity.attributes.icon ]]]'
entity: light.living_room_light_switch
tap_action:
  action: toggle
  haptic: medium
hold_action:
  action: more-info
  haptic: medium
custom_fields:
  slider:
    card:
      type: custom:my-slider-v2
      entity: '[[[ return entity.entity_id ]]]'
      colorMode: brightness
      styles:
        container:
          - background: none
          - border-radius: 100px
          - overflow: visible
        card:
          - height: 16px
          - padding: 0 8px
          - background: |
              [[[
                if (entity.state == "on") return "linear-gradient(90deg, rgba(255,255,255, 0.3) 0%, rgba(255,255,255, 1) 100%)";
                else return "var(--contrast)";
              ]]]
        track:
          - overflow: visible
          - background: none
        progress:
          - background: none
        thumb:
          - background: |
              [[[
                if (entity.state == "on") return "var(--black)";
                if (entity.state == "off") return "var(--contrast20)";
                else return "var(--contrast8)";
              ]]]
          - top: 2px
          - right: '-8px'
          - height: 12px
          - width: 12px
          - border-radius: 10px
          - display: |
              [[[
                return entity.state === 'on' ? 'block' : 'none';
              ]]]
styles:
  grid:
    - grid-template-areas: '"i" "n" "slider"'
    - grid-template-columns: 1fr
    - grid-template-rows: 1fr min-content min-content
  card:
    - background: var(--purple)
    - padding: 16px
    - '--mdc-ripple-press-opacity': 0
  img_cell:
    - justify-self: start
    - width: 24px
  icon:
    - width: 24px
    - height: 24px
    - color: var(--contrast8)
  name:
    - justify-self: start
    - font-size: 14px
    - margin: 4px 0 12px 0
    - color: var(--contrast12)
    - font-weight: bold
state:
  - value: 'on'
    styles:
      card:
        - background: |
            [[[
                var color = entity.attributes?.rgb_color;
                if (entity.state != "on"){
                  return 'var(--contrast20)';
                }
                else if (color){
                  return 'rgba(' + color + ')'
                }
                else{
                  return 'var(--yellow)'
                }
            ]]]
      icon:
        - color: var(--black)
      name:
        - color: var(--black)
  - value: 'off'
    styles:
      icon:
        - color: var(--black)
      name:
        - color: var(--black)

Switch Card;

type: custom:button-card
label: Media Centre
show_icon: true
show_label: true
show_name: false
show_state: true
entity: switch.media_centre
tap_action:
  action: toggle
  haptic: medium
hold_action:
  action: more-info
  haptic: medium
styles:
  grid:
    - grid-template-areas: '"l" "s" "button"'
    - grid-template-columns: 1fr
    - grid-template-rows: 1fr min-content min-content
  card:
    - background: var(--contrast2)
    - font-family: Montserrat
    - padding: 16px
    - max-width: 190px
    - '--mdc-ripple-press-opacity': 0
  img_cell:
    - justify-self: start
    - width: 64px
  label:
    - justify-self: start
    - font-size: 14px
    - margin: 4px 0 8px 0
    - color: var(--contrast20)
    - font-weight: bold
  state:
    - justify-self: start
    - font-size: 14px
    - margin: 4px 0 22px 0
    - color: var(--contrast8)
    - text-transform: uppercase
state:
  - value: 'off'
    styles:
      card:
        - background: var(--blue)
      icon:
        - color: var(--black)
      label:
        - color: var(--black)
      name:
        - color: var(--black)
  - value: 'on'
    styles:
      card:
        - background: var(--green)
      icon:
        - color: var(--black)
      name:
        - color: var(--black)
      label:
        - color: var(--black)

My other rooms are extremely similar to this, based on the smart items I have in each room.

Energy Page

Plugs Page

Cats Page

Landing Page


Any feedback that anyone wants to share would be appreciated, and I would love to have ideas on improving this, making it more user-friendly, matching the style more, adding more information and cards etc.

If you want me to share any parts of the code I’ve used, I’m also happy to share.

Many thanks! :slightly_smiling_face:

5 Likes

I recently converted to mushroom cards on most of my pages.
I’ve been noticing they’re a bit large and I can’t fit a little bit of the information that I used to with standard entity cards even though they look dated.
I’ve also found that window and door monitoring is fine and dandy but the only thing I actually end up caring about is abnormal conditions, so I created a security page with an entity filter at the top that only shows open doors or things I wouldn’t want to go to sleep with, motion anywhere, etc.

Looks nice and slick though.

Hello love your dashboard.
Building mine also with the “Rounded design” in mind.
Struggeling with the energy page too. Can´t figure out how to change the colors of the bar chart.
Do you mind sharing the code so i can have a look on it?

Also maybe the full tv remote codes of all the buttons?

Thanks.

Hey! Could I see the code for your Rounded.yaml? I’m trying to get the ‘slider’ to work, but it doesn’t seem to be displaying properly after bringing in the CSS for it described here: 🟣 Rounded - Dashboard guide

Mine ends up looking like this:
image