What's New in 3.0
Alpha release — functional and tested but not yet through the full testing matrix. Please report issues.
Added
- NOAA/NWS radar source — US-only experimental mode using MRMS base reflectivity via
mapservices.weather.noaa.gov - Show Snow option — includes or excludes snow in RainViewer precipitation tiles
- Rate-limit banner — visible indicator when the API tile quota is temporarily exhausted
- Save map center in edit mode — pan/zoom the card while editing and click the overlay button to write
center_latitude,center_longitude, andzoom_levelback to config without manually entering coordinates - Marker icon options —
default,entity_picture, and MDI icon types configurable per device (desktop / mobile)
Changed
- Breaking: Leaflet is now bundled.
leaflet.js,leaflet.css,leaflet.toolbar.min.js, andleaflet.toolbar.min.cssare no longer distributed as separate files — they are compiled intoweather-radar-card.js. Delete the old files fromwww/community/weather-radar-card/when upgrading. - Breaking: iframe removed. The card is now a native LitElement / Shadow DOM component. No srcdoc, no opaque origin workarounds, proper HA theming integration.
- Leaflet.Toolbar2 replaced by a native
L.Controlimplementation — removes the external toolbar dependency entirely. - Animation engine replaced: frame switching is now driven by JavaScript opacity writes with CSS
transitionfor crossfades, replacing the previous CSS@keyframesengine. More reliable across all browsers in Shadow DOM context. - Map auto-selects
Light(CARTO) for English-language HA instances andOSMfor all other languages. - Marker defaults to HA home location (
hass.config.latitude/longitude) rather than the card'scenter_latitude— changing the map center no longer moves the marker. - Navigation settle delay reduced from 500 ms to 100 ms.
Fixed
- Animation flash-on-load caused by duplicate
_initRadarruns sharing the same frame generation counter _updateRadarcrash when the RainViewer API returns an empty frame list_updateRadarmutations continuing after card teardown (missing generation guard)once('load')callback in_updateRadarrunning afterclear()with no teardown guardresolveCoordinatetreating coordinate0(equator / Prime Meridian) as falsy and substituting the fallback value- Mobile marker icon defaulting to
entity_picturewhen not explicitly configured visibilitychangelistener accumulating ondocumentacross card reinitializations (never removed)- Worker Blob URL never revoked on
clear() - Editor direct mutation of
@stateconfig viadeleteinstead of spreading to a new object
Installation (manual)
Copy these files to www/community/weather-radar-card/ in your HA config directory:
weather-radar-card.jshome-circle-dark.svghome-circle-light.svgpause.png,play.png,recenter.png,skip-back.png,skip-next.pngradar-colour-bar-universalblue.png
Upgrading from v2: delete leaflet.js, leaflet.css, leaflet.toolbar.min.js, and leaflet.toolbar.min.css — they are bundled into weather-radar-card.js and the old files are no longer used.
Add to Lovelace resources:
resources:
- url: /local/community/weather-radar-card/weather-radar-card.js
type: module