Yes, the world needed another one. A custom weather card for Home Assistant with animated SVG icons, toggleable hourly/daily forecast, support for custom sensor entities, and location-based weather via GPS coordinates or a device tracker.
- Visual editor — full GUI configuration, no YAML required
- Animated SVG icons — rotating sun, drifting clouds, falling rain, tumbling snow, flickering lightning, shifting fog; optionally disabled
- Live forecast — uses the modern
weather/subscribe_forecastWebSocket API (HA 2024+), no polling - Hourly ⇄ Daily toggle — automatically appears when both forecast types are available
- Today's high / low — forecasted daily high (↑) and low (↓) shown below the current temperature in the header
- Expandable daily view — tap a day in the daily strip to open its hourly (or day/night) detail, when the integration provides it
- Custom sensor entities — override temperature, humidity, pressure, and wind speed / direction readings with your own sensors (e.g. an Ecowitt GW3000); wind direction is shown as a compass label (e.g.
W 12 km/h) - Per-mode forecast sizing & layout — separate item counts for the hourly and daily views, each laid out as a horizontal scroll strip or a wrapping grid
- Temperature graph — optional filled-area chart (
graph/both) with adaptive label thinning so dense hourly forecasts stay readable - Optional fixed height — keep the card at its tallest rendered height so switching views or opening a day doesn't shift the dashboard
- Location-based weather — fetch current conditions and forecast from Open-Meteo (free, no API key) for any GPS coordinate; location can be a fixed lat/lon or tracked via a
device_tracker/personentity - Multi-language —
en,de,fr,hu; auto-detects your Home Assistant UI language - Theme-aware — uses Home Assistant CSS variables, looks correct in both light and dark mode
- Reduced-motion friendly — respects
prefers-reduced-motion: reduce; can also be forced off via config
- In Home Assistant, open HACS
- Click the three-dots menu in the top right → Custom repositories
- Add:
- Repository:
https://github.com/CDank/yet-another-weather-card - Type:
Dashboard
- Repository:
- Click Add
- Search for Yet Another Weather Card in HACS
- Click Download, then Download again to confirm
- Hard-refresh your browser (Ctrl/Cmd + Shift + R)
HACS adds the resource automatically. If for some reason it doesn't, add it manually under Settings → Dashboards → Resources:
- URL:
/hacsfiles/yet-another-weather-card/yet-another-weather-card.js - Type: JavaScript Module
type: custom:yet-another-weather-card
entity: weather.your_weather_entityThe card operates in one of two modes depending on what you configure:
| Mode | When | Data source |
|---|---|---|
| Entity mode | entity is set |
HA weather.* entity via WebSocket — real-time updates |
| Location mode | No entity; location_entity or latitude + longitude set |
Open-Meteo — fetched on load and refreshed every 10 minutes or when coordinates change |
| Option | Type | Default | Description |
|---|---|---|---|
entity |
string | — | A weather.* entity. Required unless location options are set. |
location_entity |
string | — | A device_tracker.* or person.* entity. Uses its latitude / longitude attributes as the forecast location. |
latitude |
number | — | Fixed latitude coordinate (used together with longitude). |
longitude |
number | — | Fixed longitude coordinate (used together with latitude). |
name |
string | friendly name | Title shown above the temperature. |
temperature_entity |
string | — | Custom sensor for current temperature (falls back to weather/Open-Meteo attribute). |
humidity_entity |
string | — | Custom sensor for humidity. |
pressure_entity |
string | — | Custom sensor for pressure. |
wind_speed_entity |
string | — | Custom sensor for wind speed (overrides the weather/Open-Meteo value). |
wind_bearing_entity |
string | — | Custom sensor for wind direction, value in degrees (0–360); rendered as a compass label. |
default_mode |
hourly | daily |
hourly |
Which forecast tab is active initially. |
forecast_items |
number | 7 |
Legacy fallback item count, used only when the per-mode options below are unset. |
forecast_items_hourly |
number | 7 |
Number of hours shown in the hourly view (1–48). |
forecast_items_daily |
number | 7 |
Number of days shown in the daily view (1–14). |
hourly_layout |
scroll | wrap |
scroll |
Hourly strip layout — one horizontal scroll row, or a wrapping grid. |
daily_layout |
scroll | wrap |
wrap |
Daily strip layout — one horizontal scroll row, or a wrapping grid. |
forecast_style |
strip | graph | both |
strip |
Forecast display — icon cells, temperature graph, or both. |
expandable_days |
boolean | true |
In the daily view, tap a day to open its hourly (or day/night) detail. |
lock_height |
boolean | false |
Keep the card at its tallest rendered height so switching views or opening a day doesn't shift the dashboard. |
language |
en | de | fr | hu |
HA locale | UI language for condition names and labels. |
show_current |
boolean | true |
Show top block (temperature + icon + condition name). |
show_today_minmax |
boolean | true |
Show today's forecasted high (↑) and low (↓) below the current temperature. Hidden automatically if the integration doesn't include today in the daily forecast. |
show_stats |
boolean | true |
Show humidity / pressure / wind row. |
show_forecast |
boolean | true |
Show forecast section. |
disable_animations |
boolean | false |
Freeze all icon animations (icons still display, just static). |
location_entitytakes priority overlatitude/longitudewhen both are set.- Weather data is fetched from Open-Meteo — free, no account or API key required.
- Temperature unit follows your Home Assistant unit system (°C or °F).
temperature_entity,humidity_entity, andpressure_entitystill work as overrides on top of Open-Meteo data.- Coordinates are re-checked on every HA state update. If they change (e.g. a moving device tracker), a new fetch fires immediately.
- Data is refreshed at most once every 10 minutes when coordinates are unchanged.
forecast_items_hourly/forecast_items_dailytake precedence over the legacyforecast_items. If onlyforecast_itemsis set, it applies to both views.hourly_layout/daily_layoutcontrol whether each strip is a single horizontal scroll row or a wrapping grid.- With
expandable_days: true, days that have a more detailed forecast become tappable in the daily view. The detail view prefers the hourly forecast for that day and falls back to twice-daily (day/night) segments; it honoursforecast_style, sograph/bothdraws an hourly graph for the selected day. - In location mode the hourly forecast covers the next 48 hours, so
forecast_items_hourlycan go up to 48.
Minimal — entity mode
type: custom:yet-another-weather-card
entity: weather.homeWith custom sensors (incl. wind)
type: custom:yet-another-weather-card
entity: weather.met_no
name: Home
temperature_entity: sensor.outdoor_temperature
humidity_entity: sensor.outdoor_humidity
pressure_entity: sensor.outdoor_pressure
wind_speed_entity: sensor.outdoor_wind_speed
wind_bearing_entity: sensor.outdoor_wind_direction
default_mode: hourly
forecast_items_hourly: 12
forecast_items_daily: 7Per-mode layout, graph & expandable days
type: custom:yet-another-weather-card
entity: weather.home
forecast_style: both
hourly_layout: scroll
daily_layout: wrap
forecast_items_hourly: 24
forecast_items_daily: 7
expandable_days: true
lock_height: trueLocation mode — fixed coordinates
type: custom:yet-another-weather-card
latitude: 48.8566
longitude: 2.3522
name: Paris
forecast_style: bothLocation mode — device tracker (follows a person)
type: custom:yet-another-weather-card
location_entity: person.john
name: John's Weather
default_mode: dailyStatic icons, French language
type: custom:yet-another-weather-card
entity: weather.home
language: fr
disable_animations: truesunny, clear, clear-night, partlycloudy, cloudy, fog, rainy, pouring, snowy, snowy-rainy, lightning, lightning-rainy, windy, windy-variant, hail, exceptional. Unknown conditions render a generic cloud.
MIT