🙏 Three quality-of-life PRs in this release are contributions from @genericJE — loading spinner (#124), now marker (#125), dark-map scale fix (#123). Plus the original time-range design proposal (#121) that prompted the broader source-agnostic redesign in this release.
First beta cut of the 3.5 line. Two big new US-only overlays (wildfires and NWS watches & warnings), a source-agnostic time-range editor that retires frame_count, animation polish, and three quality-of-life contributions. Consolidates the 3.5.0-alpha and 3.5.0-alpha2 prereleases.
US-only data in the new overlays — see the strong life-safety disclaimers in the README.
Added
Hazard overlays (US-only)
- Wildfire perimeter overlay —
show_wildfires: trueoverlays active US wildfire perimeters from NIFC's WFIGS Current Interagency Fire Perimeters feed. Active fires draw red, contained ones grey. Small incidents render as a fire icon at the centroid; larger ones as a polygon outline. Click for a popup with name, acreage, containment %, discovery date, and a link to NIFC's InciWeb (gated against InciWeb's RSS index so we don't link to 404s). Adaptive 5/30-minute refresh. Filter knobs:wildfire_min_acres(default 10),wildfire_radius_km, plus colour / fill / refresh overrides. - NWS watches & warnings overlay —
show_alerts: trueoverlays active US National Weather Service watches and warnings fromapi.weather.gov/alerts/active. Alerts render as translucent polygons coloured per NWS's standard warning palette. Both polygon-bearing and zone-based alerts render: zone shapes are fetched on-demand fromapi.weather.gov/zones/...and cached in localStorage (TTL 30 days). Click for event, headline, severity / certainty / urgency, effective and expiry windows, full description, and a link to weather.gov. - Hazard Overlays editor subpage — new top-level "Markers and Overlays" section in the editor groups two nav rows: Markers and Hazard Overlays. The Hazard Overlays subpage exposes the wildfire and alerts toggles, their per-overlay knobs, and a 2-column grid of NWS alert-category checkboxes (Tornado, Thunderstorm, Flood, Winter, Tropical, Fire Weather, Heat, Wind, Marine, Other; marine off by default).
- Region-warning utility — surfaces a banner when any US-only feature (wildfires, alerts, NOAA radar) is enabled with
hass.config.country !== 'US'.
Time-range editor (replaces frame_count)
past_minutes/forecast_minutesconfig — source-agnostic time-range fields that work across all radar sources. Editor renders preset dropdowns (20 min, 40 min, 1 h, 2 h, 4 h, 6 h, 12 h, 24 h, 48 h, 72 h, 84 h) filtered by per-source caps. RainViewer caps at 2 h; NOAA caps at 2 h (the API advertises 4 h but frames > 2 h come back empty in practice); DWD caps the editor at 12 h (the API serves 84 h via YAML).- Forecast Duration field appears only on sources with a forecast (currently DWD:
Off / 1 h / 2 h). Hidden in the DOM for RainViewer / NOAA. frame_stride_minutes— YAML-only escape hatch for users who want very large past windows on DWD without the implied frame count.- Auto-migration —
migrateConfigsilently converts legacyframe_counttopast_minutes(using the source's native interval) anddwd_forecast_hourstoforecast_minutes. Existing configs need no changes. Original DWD-only design proposed by @genericJE in #121.
Animation
smooth_overlapconfig knob (0–1) — tunable crossfade overlap whensmooth_animation: true.0= sequential (no brightness dip),1= fully simultaneous (default). Editor exposes this as a 0–1 slider with mutual gating againsttransition_time.
Quality of life
- Loading spinner — small rotating indicator in the centre of the bottom bar while radar tiles fetch; hidden once cached frames are cycling. Honours
prefers-reduced-motion.show_loading_spinner: falsesuppresses. (#124, @genericJE) - "Now" marker on the progress bar — the segment closest to wall clock gets a small amber stripe, a
Nowtooltip, and a(now)suffix on the displayed timestamp. Especially handy with DWD forecast frames where "now" sits in the middle of the timeline. Stripe colour follows HA's--warning-colortheme variable. (#125, @genericJE) - Build timestamp in console signon — startup log now reads
Version X.Y.Z (built YYYY-MM-DD HH:MM:SS UTC)so users can confirm a hard refresh actually loaded the new bundle.
Changed
- WYSIWYG map editing — when the edit dialog is open, every pan/zoom in the live map auto-propagates to the editor's Lat/Long/Zoom fields in real time. The "Save as map center" button is removed entirely.
- Toggle layout standardised across the editor.
- Per-source rate limiters are module-level singletons — survive card teardown (config edits no longer reset the count) and shared across multiple cards.
- Pause when hidden — wildfire and NWS-alerts layers stop refreshing when the card is off-screen or the tab is hidden.
- Dynamic radar tile size — picks 256 / 512 / 1024 / 2048 from
map.getSize(). Empirically cuts load time and rate-limit hits on larger maps. npm run buildregenerates.js.gzso HA can't serve a stale gzipped bundle from a previous build.
Fixed
- Trail on first cycle after editing animation settings —
setConfignow does a full teardown + reinit on any structural config change. View-only back-prop (lat/lon/zoom) is diffed and skipped to avoid interrupting interactive map edits. - Editor-open detection race — back-propagation of map pan/zoom into editor Lat/Long fields used to silently fail on a fresh card opened in HA's edit dialog. Card now consults a global mount counter on connect.
alerts_categories: []now correctly hides everything (was reverting to the default category set).- Popup
[wildfire]race during zone resolution —_zoneFetchescould be left with stale entries on cache hits. - Popup accent colour uses WCAG-style relative luminance — replaces a hardcoded list of hex values.
- Dark / satellite map scale rendered a faint duplicate label behind the main "50 km" text. (#123, @genericJE)
Localization
11 language files updated for all new editor strings (time range, hazard overlays, alert categories, severity levels, region warnings, popup labels, loading spinner, now marker).
Testing
Please install the prerelease via HACS (toggle "Show beta versions") or by manually copying dist/weather-radar-card.js into /config/www/community/weather-radar-card/. Issues to watch for:
- US users: confirm wildfire and NWS-alerts overlays render and refresh; popups show correct content.
- DWD users: confirm the time-range editor caps the past dropdown at 12 h and the forecast row offers
Off / 1 h / 2 h. - All users with existing
frame_countconfigs: confirm the migration topast_minuteshappens silently (one-time deprecation warning in the console, no behaviour change). - Pan / zoom the map in editor mode: Lat/Long fields should update live without restarting the radar loop.
Bug reports → issues.