Weather Forecast Extended is a Lovelace custom card for Home Assistant that combines a large weather header with interactive daily and hourly forecasts. The card displays the forecast from the selected weather entity, adapts to the dashboard grid, and adds visual context such as sunrise and sunset markers, precipitation values, and day or night specific artwork.
- Header area that shows the current condition and temperature with day and night background artwork.
- Daily and hourly forecast sections that can be shown together or independently.
- Click on a day in the daily list scrolls the hourly forecast to the same date.
- Optional sunrise and sunset times embedded in the hourly forecast, using either the Home Assistant location or custom coordinates for sun calculations.
- Support to display daily / hourly solar forecast.
- Optional minute-level nowcast precipitation chart via
get_minute_forecastactions (OpenWeatherMap, DWD nowcast). - Configurable header chips that can display entity attributes or value-templates in the header.
- Optional tap actions and icons on the header pills / chips.
- Support for 12 or 24 hour time formats and localized date labels using the Home Assistant user settings.
- UI card editor
- In Home Assistant, open HACS > Frontend and click the three-dot menu in the top right.
- Choose Custom repositories, add
https://github.com/Thyraz/weather-forecast-extended, and set the category to Dashboard. - Search for "Weather Card Extended" in HACS, install the latest release, and let HACS add the resource to your dashboard automatically.
- Reload the browser or clear the Lovelace cache if the new card type is not immediately available.
Once the resource is installed, add a new card in the Lovelace dashboard editor and search for Weather Forecast Extended. The visual editor exposes every option listed below. You can also configure the card in YAML:
type: custom:weather-forecast-extended-card
entity: weather.hometype: custom:weather-forecast-extended-card
entity: weather.home
header_temperature_entity: sensor.weather_station_temperature
show_header: true
hourly_forecast: true
daily_forecast: true
daily_min_gap: 30
hourly_min_gap: 16
orientation: vertical
show_sun_times: true
sun_use_home_coordinates: false
sun_latitude: 48.137
sun_longitude: 11.575
use_night_header_backgrounds: true| Option | Type | Default | Description |
|---|---|---|---|
type |
string | custom:weather-forecast-extended-card |
Lovelace card type identifier. |
entity |
string | required | Weather entity that supplies current conditions and forecast data. |
header_temperature_entity |
string | current weather temperature | Optional sensor to use for the header temperature. Must report a numeric temperature. |
nowcast_entity |
string | none | Weather entity that supports get_minute_forecast and provides minute-level precipitation. |
nowcast_layout |
pager | inline |
pager |
pager adds a second header page with the nowcast chart and swipe/dots navigation. inline shows the chart below the header pills when rain is expected (always in header-only layouts). |
nowcast_always_show |
boolean | false |
When enabled, the nowcast chart stays visible even if no rain is predicted. Useful to keep the header layout consistent. |
show_header |
boolean | true |
Toggles hero header containing artwork, current temperature, and condition text. |
hourly_forecast |
boolean | true |
Shows the hourly forecast. Requires the selected weather entity to provide hourly data. |
daily_forecast |
boolean | true |
Shows the daily forecast. |
daily_min_gap |
number | 30 |
Minimum gap in pixels between daily forecast items. Must be ≥ 10. |
hourly_min_gap |
number | 16 |
Minimum gap in pixels between hourly forecast items. Must be ≥ 10. |
orientation |
vertical | horizontal |
vertical |
Stacks sections vertically (default) or places daily and hourly lists side by side. |
show_sun_times |
boolean | false |
Adds sunrise and sunset markers to the hourly forecast. Requires valid coordinates. |
sun_use_home_coordinates |
boolean | true |
Uses Home Assistant's home location for sun calculations when show_sun_times is enabled. Set to false to provide manual coordinates. |
sun_latitude |
number | string | Home Assistant latitude | Latitude used when sun_use_home_coordinates is false. Accepts decimal degrees as string or number. |
sun_longitude |
number | string | Home Assistant longitude | Longitude used when sun_use_home_coordinates is false. Accepts decimal degrees as string or number. |
use_night_header_backgrounds |
boolean | true |
Switches the header artwork to night variants when the sun is down. Set to false to always use the day theme. |
icon_map |
object | none | Optional overrides for forecast condition icons. Keys are weather conditions, values are Home Assistant icon names (including custom icon sets). |
header_tap_action_temperature |
action | none | Lovelace action that fires when the header temperature pill is tapped. Only tap actions are supported. For more-info or toggle, you can set entity to target a different entity. |
header_tap_action_condition |
action | none | Lovelace action that fires when the header condition pill is tapped. Only tap actions are supported. For more-info or toggle, you can set entity to target a different entity. |
hourly_extra_attribute |
string | none | Optional third text line under the hourly precipitation rows. |
hourly_extra_attribute_unit |
string | none | Optional unit suffix displayed after the hourly extra attribute (e.g., % for cloud_coverage). |
hourly_extra_attribute_color |
string | none | Optional CSS color used for the hourly extra attribute text (e.g., #30b3ff). |
hourly_extra_attribute_dim_below |
number | none | Optional numeric threshold. Values below are displayed with lowered opacity in the hourly extra attribute. |
daily_extra_attribute |
string | none | Optional third text line under the daily precipitation rows. precipitation_probability shows colored as blue and with a % sign automatically. |
daily_extra_attribute_unit |
string | none | Optional unit suffix displayed after the daily extra attribute. Disabled/ignored when daily_extra_attribute is precipitation_probability. |
daily_extra_attribute_color |
string | none | Optional CSS color used for the daily extra attribute text (e.g., #30b3ff). |
daily_extra_attribute_dim_below |
number | none | Optional numeric threshold. values below are displayed with lowered opacity in the daily extra attribute. |
header_chips |
array | [] |
Up to three chip definitions shown in the header. Each chip can display an entity attribute or template output and may include its own icon and tap_action. |
solar_forecast_entries |
array | all Energy solar forecasts | Optional list of config entry IDs to include when solar_forecast is selected as an extra attribute. Leave empty to include none, or omit to include all Energy dashboard selections. |
masonry_rows |
number | none | Masonry layout only: override the card height (1 row is handled as 50px by HA). Ignored in Sections view. |
Tip: The card editor prevents you from hiding every section at once, but in YAML you should also keep at least one of
show_header,daily_forecast, orhourly_forecastenabled so the card has content to render.
Header chips allow yout to display additional information, such as precipitation probability, feels-like temperature, or custom strings using value-templates. The editor lets you pick between Attribute and Template mode for each slot.
type: custom:weather-forecast-extended-card
entity: weather.home
header_chips:
- type: attribute
attribute: humidity
icon: mdi:water-percent
tap_action:
action: more-info
entity: camera.rain_radar
- type: template
template: "{{ 'Temp: ' ~ state_attr('weather.home', 'temperature') | round(0) }}°"
tap_action:
action: navigate
navigation_path: /lovelace/weather
- type: attribute
attribute: pressureattributechips expose an attribute from the configured weather entity. The editor provides a dropdown populated with the entity's attributes.templatechips are rendered by Home Assistant's template engine and can reference any entity.- Each chip accepts optional
iconandtap_action(tap only). - For
more-infoortoggleactions, addentityto point the action at another entity. The editor exposes this when those actions are selected.
Attach tap-only Lovelace actions to the temperature and condition pills in the header. Configure them in the card editor under Header options or in YAML:
type: custom:weather-forecast-extended-card
entity: weather.home
header_tap_action_temperature:
action: navigate
navigation_path: /lovelace/weather
header_tap_action_condition:
action: more-info
entity: camera.rain_radarOverride the daily/hourly condition icons with any icon available in Home Assistant (including custom icon packs):
type: custom:weather-forecast-extended-card
entity: weather.home
icon_map:
sunny: mdi:weather-sunny
rainy: phu:rainy
lightning-rainy: mdi:weather-lightning-rainySupported keys: clear-night, cloudy, fog, hail, lightning, lightning-rainy, partlycloudy,
partlycloudy-night, pouring, rainy, snowy, snowy-rainy, sunny, windy, windy-variant, exceptional.
Add a third text row beneath precipitation and probability in the hourly forecast. Choose any forecast attribute except the built-ins already shown (datetime, condition, precipitation, precipitation_probability, temperature).
type: custom:weather-forecast-extended-card
entity: weather.home
hourly_extra_attribute: wind_gust_speed
hourly_extra_attribute_unit: " km/h"
hourly_extra_attribute_color: "#30b3ff"
hourly_extra_attribute_dim_below: 5
daily_extra_attribute: pressure
daily_extra_attribute_unit: " hPa"If you have a solar forecast configured in the Energy dashboard, you can select solar_forecast as the extra attribute for the hourly and/or daily forecast. The card uses the Energy API and sums multiple entries when more than one is selected. Values are shown as kWh.
- Drag or flick the daily and hourly lists.
- Temperature bars in the daily list scale to the minimum and maximum across the visible forecast window, helping you spot warm or cold days quickly.
- The hourly list highlights precipitation totals and probabilities above a fixed thresholds.
- When a nowcast entity is configured, the header can show a second page or inline chart depending on the selected layout.


