Meteogram, Radar, and Weather Prediction Maps

I am using Home Assistant Yellow with a CM4:

  • Core: 2026.6.3
  • Supervisor: 2026.06.1
  • Operating System: 17.3
  • Frontend: 20260527.6
  • HACS: button-card: v.7.0.1

This builds a tab on the dashboards for a weather meteogram, weather radar, and weather prediction maps. I used Google Gemini AI to do most of the coding work for me.

Use this meteoblue site to build the URL for the iframe of the meteogram: Meteogram Widget for Amsterdam - meteoblue
You will need to grab the portion of the widget code between the double quotes of the iframe source:

<iframe src="grab this part(it's really long with specific hash keys)"

Here's a picture of the end result from a laptop:



Here's the yaml to copy and paste but you will need to update a few of the Users block (or skip that part) and the URLs (specifically the meteoblue.com for the meteogram):

# =========================================================================
# DASHBOARD VIEW PROPERTIES
# This section defines the configuration for a single tab/view in your dashboard.
# =========================================================================

# Instructs the system to use the theme dictated by your profile settings or automation backend
theme: Backend-selected

# The URL suffix used to access this tab directly (e.g., your-ha-url/lovelace/weather)
path: weather

# The plain-text title displayed at the top of the dashboard tab navigation bar
title: Weather

# The icon shown next to or in place of the text title in the navigation bar
icon: mdi:weather-cloudy

# Visibility restrictions: Only displays this tab to specific people based on their internal Home Assistant User IDs
visible:
  - user: 1
  - user: 2

# Suppresses and removes any global dashboard status badges from showing at the top of this tab
badges: []

# View Mode: Panel layout stretches the first card element to fill 100% of the screen width (best for large dashboards/maps)
type: panel

# =========================================================================
# CARDS GRID ARCHITECTURE
# =========================================================================
cards:
  # Groups cards in a strict top-to-bottom stack layout. Because 'panel' view mode is active, this stack stretches full-width.
  - type: vertical-stack
    cards:
    
      # -----------------------------------------------------------------
      # LAYER 1: METEOBLUE WEATHER METEOGRAM WIDGET
      # Embeds an interactive external weather graph inside an HTML iframe frame
      # -----------------------------------------------------------------
      - type: iframe
        # Fully parameter-configured Meteoblue API link locked to Celsius, KM/H, and Royse City geolocation
        url: >-
          https://www.meteoblue.com
        aspect_ratio: "16:9" # Provides a default widescreen scaling dimension template
        card_mod:
          style: |
            ha-card {
              overflow: hidden;                   /* Clips away iframe scrollbars and element bleeding */
              height: 700px !important;           /* Enforces a static 700px tall window wrapper */
              background-color: #1a1a1a !important; /* Forces dark charcoal card styling to match widget layout */
            }
            iframe {
              width: 110% !important;             /* Expands width past container to hide standard border frames */
              height: 110% !important;            /* Expands height past container */
              transform: scale(0.91);             /* Shrinks inner page dimensions slightly to fit visual data perfectly */
              transform-origin: top left;         /* Sets alignment anchor to prevent structural drifting */
              background: #1a1a1a !important;     /* Avoids a bright white flash during initial page load sequences */
            }

      # -----------------------------------------------------------------
      # LAYER 2: NATIVE WEATHER FORECAST COMPONENT
      # Out-of-the-box Home Assistant component rendering standard daily weather
      # -----------------------------------------------------------------
      - show_current: true                        # Displays large current conditions icon and primary temp
        show_forecast: true                       # Displays historical day-by-day preview grid below
        type: weather-forecast
        entity: weather.home                      # Pulls tracking telemetry from your primary local weather integration
        forecast_type: daily                      # Formats intervals into discrete blocks per calendar day

      # -----------------------------------------------------------------
      # LAYER 3: NATIONAL WEATHER SERVICE RADAR LOOP
      # Displays an active weather radar GIF using a markdown HTML block
      # -----------------------------------------------------------------
      - type: vertical-stack
        cards:
          - type: markdown
            title: Weather Radar                  # Card header text
            content: >                            # Raw HTML image block pointing to the live NOAA/NWS KFWS (Dallas/Fort Worth) radar feed loop
              <img src="https://radar.weather.gov/ridge/standard/KFWS_loop.gif"
              class="radar-loop" />
            card_mod:
              style: |
                ha-card {
                  background-color: #000000 !important; # Removes default card color background to let map contrast pop
                  padding: 0px !important;              # Forces card borders completely tight against image boundary edge
                }
                .card-content {
                  padding: 0px !important;              # Eliminates inner element text padding blocks
                  background: #000000 !important;
                }
                img.radar-loop {
                  display: block;
                  width: 100%;                          # Stretches image to dynamically match screen width changes
                  height: auto;                         # Automatically manages height ratio scaling constraints
                  background-color: #000000 !important;
                  /* Optional: Invert/Hue shifts are commented out here. Useful if NOAA map ever defaults back to blinding white backgrounds */
                  /* filter: invert(1) hue-rotate(180deg) contrast(1.2); */
                }

      # -----------------------------------------------------------------
      # LAYER 4: WEATHER PREDICTION CENTER - NOAA FORECAST CARDS
      # Sequential National Forecast Chart maps showing Days 1, 2, and 3
      # -----------------------------------------------------------------
      - type: vertical-stack
        cards:
          # --- DAY 1 SURFACE FORECAST MAP ---
          - type: markdown
            title: Weather Prediction Center
            content: >
              <img
              src="https://www.wpc.ncep.noaa.gov/NationalForecastChart/staticmaps/noaad1.png"
              class="noaa-map" />
            card_mod:
              style: |
                ha-card { background-color: #000000 !important; padding: 0px !important; }
                .card-content { padding: 0px !important; background: #000000 !important; }
                img.noaa-map {
                  display: block;
                  width: 100%;
                  height: auto;
                  background-color: #000000 !important;
                  /* INVERSION TRICK: Blurs out, inverts the color palette, and targets hues. 
                     This manually shifts white/light background US government forecast graphics into clean, high-contrast dark-mode cards */
                  filter: invert(1) hue-rotate(180deg) contrast(1.2);
                }

          # --- DAY 2 SURFACE FORECAST MAP ---
          - type: markdown
            content: >
              <img
              src="https://www.wpc.ncep.noaa.gov/NationalForecastChart/staticmaps/noaad2.png"
              class="noaa-map" />
            card_mod:
              style: |
                ha-card { background-color: #000000 !important; padding: 0px !important; }
                .card-content { padding: 0px !important; background: #000000 !important; }
                img.noaa-map {
                  display: block;
                  width: 100%;
                  height: auto;
                  background-color: #000000 !important;
                  filter: invert(1) hue-rotate(180deg) contrast(1.2); /* Duplicates identical dark-mode parsing rules */
                }

          # --- DAY 3 SURFACE FORECAST MAP ---
          - type: markdown
            content: >
              <img
              src="https://www.wpc.ncep.noaa.gov/NationalForecastChart/staticmaps/noaad3.png"
              class="noaa-map" />
            card_mod:
              style: |
                ha-card { background-color: #000000 !important; padding: 0px !important; }
                .card-content { padding: 0px !important; background: #000000 !important; }
                img.noaa-map {
                  display: block;
                  width: 100%;
                  height: auto;
                  background-color: #000000 !important;
                  filter: invert(1) hue-rotate(180deg) contrast(1.2);
                }