More New Things for My Home Assistant Dashboard!

It's time to update my Home Assistant Dashboard with new Section Heading entities, Windrose cards, mini-graph cards, and Uptime Kuma alerts.

More New Things for My Home Assistant Dashboard!

Smart homes are supposed to be smart enough to do things without human interaction. Turn on lights when entering a room. Turn them off when leaving. Turn on the fan when the air quality gets bad. Turn on the vent fan when the shower runs and the bathroom gets too humid. Make sure all doors are secure and alarm is armed when going to sleep at night. There are many more things that should happen. The reality is that we are not there yet. That is why dashboards/information centers/control panels are still necessary.

💡
Watch the video for this blog post!

In the 2024 year end Home Assistant roadmap update, they outline some of the things that have been done to make dashboards easier to build as well as things that will be coming in the future. There is focus by the Home Assistant team to make the default dashboards more useful, something they have started by make the "Sections" layout the new default.

I have built my dashboard using this Sections layout and have been running this way for a while now. I have a couple of videos on this new layout here and here.

I like to continue to improve and update my dashboards, especially as the technology evolves. In that regard, I have made additional changes and improvements since the last time I posted a dashboard update and I wanted to share those with you. In this article I will cover the changes I made since the last video on dashboards.

Blog posts are not a very friendly way to showcase a dashboard so I encourage you to watch the videos as well. That is also why you don't see corresponding blog posts for the previous videos on this dashboard.


Current Dashboard

Using visibility conditions in the new sections layout dashboard, I am able to hide a bunch of entities that I don't need to see unless they are within the conditions I set for those cards. That makes the dashboard cleaner and more focused.

Current Home Assistant dashboard showing only relevant entities and cards.

As you can see below, this is the full dashboard with all entities shown while in edit mode. Having the ability to set visibility rules greatly enhances the usefulness of the dashboard and allows focus on only the things that matter in that moment.

Dashboard in edit mode showing all entities and cards.

NEW: Section Headings

Section headings are nice new way to display information. They are essentially part of the title of the individual section.

View of a section highlighting the section heading area.

Section heading entities can be treated the same as other cards in the section, making them even more useful. Entities are defined in the heading configuration and then each one can be customized, including the visibility criteria.

In the image below, you don't see any entities in the section heading because the visibility criteria for them has not been met.

Dashboard section that has no entities showing in the heading due to visibility filtering.

CHANGE: Mini Graph Card

One of the things I did miss from my old dashboard was the ability to add some color to my graph cards. Home Assistant has a built-in sensor card that will display a graph on a card but it is only one color.

Mini graph cards and sensor card with sensor card pointed out with arrow.

I added the mini graph cards to allow more flexibility in how I display the data. I set the colors to change based on sensor values and also adjusted some font settings.

The sensor card allows for setting the height and width of the card from the UI. Because the mini-graph-card has no UI editor capability, setting the layout of the card has to be done in yaml.

mini-graph-card yaml code highlighting the layout options.

This is not perfect because in order to prevent overlap of the cards below the mini-graph-card, the layout needs to be set to 4 grid_rows and that causes some "white space" to appear below the card.

Outside section highlighting the white space below the mini-graph-cards

The way I overcame that was to put both cards inside a grid card, which does allow for setting the layout via the UI and makes it look like it should.

Section showing no white space below mini-graph-cards inside grid card.
Both mini-graph-cards inside the grid card

The top row of cards and the second row are identical from a viewers perspective. The ability to move those two cards individually is lost but that isn't needed anyway. I'll stick with the grid card option until the mini-graph-card is updated to be able to take advantage of the sections layout options (which is up to the card developer and not Home Assistant).

Alright, enough about those cards. Let's move on.

NEW: Windrose Card

I have always been a weather person. I have a multitude of radar apps on my phone and I keep a few dozen weather sites bookmarked so I can get an accurate picture of forecasts based on input from many models. I also have a Tempest weather station in my backyard. From this I get all of the standard weather inputs, including wind speed and direction. On my dashboard, I wanted to see a visualization of those two values, especially during the fall/early winter time of year when sudden shifts in wind direction indicate the arrival of cold fronts. The windrose-card ticks all the boxes for me.

Example of the windrose-card from the aukedejong github site.

The windrose-card is very customizable so it can be set up in most any way you want. For example, my card looks like this:

My customized windrose-card

As you can see, it is even possible to place an image on the card. I have the location of the weather station as well as my house footprint in the picture (Google Maps view). This gives a very easy visualization of where the wind is coming from in relation to the house. I need an overhead drone shot for better resolution. Anyone want to send me a drone?

The windrose-card is another that doesn't have a UI configuration option, so here is the yaml I use to set the options. As you can see, there are a ton of options and I have only set but a few of them. It is even possible to show more than one windspeed entity at the same time, such as wind speed and wind gust as you can see in the example above. I chose to show only one (for now) on my card.

type: custom:windrose-card
data_period:
  hours_to_show: 2
windspeed_bar_full: false
wind_direction_entity:
  entity: sensor.st_00145240_wind_direction
windspeed_entities:
  - entity: sensor.st_00145240_wind_gust
    name: Speed
speed_range_beaufort: false
output_speed_unit: mph
speed_range_step: 5
speed_range_max: 25
windspeed_bar_location: right
speed_unit: mph
refresh_interval: 60
corner_info:
  top_left:
    label: Current Speed
    unit: " mph"
    entity: sensor.wind_speed_rounded
  top_right:
    label: Direction
    unit: °
    entity: sensor.st_00145240_wind_direction
  bottom_left:
    label: Gust
    unit: " mph"
    entity: sensor.wind_gust_rounded
current_direction:
  show_arrow: true
  arrow_size: 40
  center_circle_size: 30
center_calm_percentage: false
windrose_draw_north_offset: 0
wind_direction_count: 16
speed_ranges:
  - from_value: 0
    color: blue
  - from_value: 3
    color: lightblue
  - from_value: 6
    color: hsl(200, 100%, 60%)
  - from_value: 10
    color: orange
  - from_value: 18
    color: red
background_image: /local/house11.png
colors:
  rose_lines: yellow

NEW: Cameras

I am titling this section cameras because there are many ways to display cameras on a dashboard.

In the 2024.11 release of Home Assistant, there were improvements made to the speed that cameras display the streams. This is made possible by using WebRTC whenever possible when rendering a camera stream. For those that don't know, WebRTC is a standard that allows for peer-to-peer connections to cameras (and other streams) for lower-latency audio and video.

You will notice that my cameras are not visible in the dashboard examples I've posted so far. That is because they are hidden until the visibility conditions are met--when a person enters one of my camera zones defined via my Frigate NVR instance. Because Frigate provides an event, I am able to use this to trigger the visibility. One of the things that is absolutely necessary for this to be usable is for the camera stream to load very quickly. With the new WebRTC updates in Home Assistant, I felt it was time to try it out.

As I mentioned, there are different ways to display the cameras in Home Assistant. I am using the picture-glance card to display my cameras.

The picture-glance card is able to be configured via the UI and that makes it easy to set up. There really isn't much to it and the yaml configuration shows how little is necessary.

camera_view: live
type: picture-glance
entities: []
camera_image: camera.172_31_10_21
visibility:
  - condition: state
    entity: binary_sensor.front_porch_all_occupancy
    state: "on"   

NEW: Uptime Kuma Alerts

My home network is not massive, but I do have some things I want to monitor to make sure they are running. I use an add-on called "Uptime Kuma" to monitor 27 different services/devices.

Uptime Kuma main screen.

Uptime Kuma has a number of notification options that can be set via its interface. In addition to those, because sometimes I forget to check on something, I wanted any currently down devices/services to display on my dashboard. I installed the Uptime Kuma integration in Home Assistant which gives me binary sensors for every monitor.

I created a tile card for the monitors and assigned visibility rules to only show if the binary sensor for the monitor indicates it is down (disconnected).

Devices being monitored by Uptime Kuma and added to the dashboard as a tile card with binary sensor.

Since I didn't add a title to that section, it is completely hidden unless something goes down. In that case, it would insert itself between the inside lights and inside climate sections, moving everything to the right one column (or down depending on the device the dashboard is displayed on).

The red circle shows where the Uptime Kuma monitors would be if one of the showed down.

The Uptime Kuma integration also provides a sensor showing current status of the overall system. If any devices are down, that sensor goes into a "degraded" status. That is how I hide the whole section. The section only shows when Uptime Kuma is in a degraded status.

The Uptime Kuma section is hidden completely unless in a degraded state. This is the configuration showing the settings for that.

When something does go down, it is nicely displayed right on the dashboard. The sections becomes visible and the down device(s)/service(s) are shown.

Dashboard showing the Uptime Kuma section visible because the Plex service is currently down.

Conclusion

Dashboards are very much a personal preference. This is my latest iteration of my dashboard with things that matter to me. In my opinion, making the sections layout the default view in Home Assistant as the right move. It is now very easy to make something beautiful and useful.

I hope I inspired you to build something for yourself. Make sure you watch the video that goes along with the post and thanks for reading!