The BOM Radar Was Still There. I Put It Back in Home Assistant
When the endpoint behind an established Home Assistant card disappeared, I rebuilt the missing bridge to BOM's new tiled map and kept it working.
By Ashton
On this page, 7 sections
I wanted the BOM rain radar on the Home Assistant screen in my house.
Not a generic weather forecast. Not a Windy iframe. The actual Australian radar, centred on home and animating without me opening another website.
That should have been easy. It was not.
Australians have a weird relationship with the rain radar.
It is a weather tool, but it is also something people keep open while a storm rolls in, check before hanging out the washing and refresh to see whether the rain will miss them by one suburb. The Bureau of Meteorology now calls watching it a favourite national pastime.
BOM launched its rebuilt website in October 2025. The new site was meant to be more accessible, secure, resilient and usable across phones and desktops. It made one national interactive weather map the default rain view, while older specialist pages remained elsewhere.
People hated parts of it.
The look was only part of it. In a long public thread about the launch, people described old radar bookmarks breaking, fewer familiar place names and more clicks to reach the same local loop or compact observations. One rural user said that mattered on a slow mobile connection, where every extra page had a delay. The ABC reported what that meant in practice: a commercial fisherman could no longer see the wind speed and direction he used to decide whether to go out, while a farmer trying to protect freshly shorn sheep found current observations difficult to locate as storms approached.
The changed colours became the most visible complaint. BOM’s acting chief executive apologised for the challenges caused by the change, the Bureau restored the familiar reflectivity colours after nine days and the map kept changing in response to feedback.
By December, the Bureau said it had received more than 400,000 pieces of feedback and added a radar shortcut to the homepage. An April update added desktop mouse zoom, clearer legends, postcode search and radar coverage. In June, BOM added about 600 more place names and fewer clicks to Doppler-wind and estimated-rainfall radar images. As late as 29 July 2026, clickable radar sites, quick links, range rings and bookmarkable radar URLs were still listed as work to come.
I do not think the entire new map is rubbish. The national mosaic is useful, works across screen sizes, corrects several kinds of radar contamination and is designed to survive the traffic spikes that come with severe weather. BOM had real reasons to rebuild it.
The part people missed was simpler: open the radar you care about and understand it immediately. That was the experience I wanted in Home Assistant, so I built BOM Radar Card.
The Old Home Assistant Card Died Too
The Home Assistant problem arrived soon after the website changed.
An established Home Assistant card depended on api.weather.bom.gov.au/v1/radar/capabilities. I could not find an official notice saying that endpoint had been retired. What I can prove is narrower: on 4 December 2025, a user reported that it was returning 404, with no usable CORS permission for the browser. The card stopped rendering, and the old URL still returned 404 when I checked on 31 August 2026.
When I checked on 31 August, the breakage issue was still open with 105 comments.
The issue filled with workarounds. People embedded Windy. They rolled back to an old RainViewer version. They pulled GIFs from BOM’s anonymous FTP service. One replacement used a Playwright browser, a local caching service, Docker and a Home Assistant integration just to get radar back onto the dashboard.
Those were reasonable workarounds, but none gave me what I wanted: BOM’s newer radar imagery, directly in an interactive Home Assistant card, without a proxy service or another weather provider in the middle.
At the start of March 2026, I released my own version.
It was basic. The first release had four weather layers, a dark map, a home marker and up to nine animated frames. Home Assistant supplied the location. The browser loaded the same kind of BOM image tiles used by the new map.
Near the end of March, somebody in the old card’s issue asked whether another integration existed. Another user linked mine. The reply was short: “this one works”.
Three days later, another user described it as the best replacement so far, with fast updates and better fidelity than the RainViewer options. In my own issue tracker, I explained that I had made it for personal use and then mostly forgotten about it.
After that, user reports started shaping the releases.
The Useful Part of the New BOM Platform
Underneath it is a tiled mapping system. Each radar frame is made from transparent 256-by-256 PNG images. A tile URL identifies the weather product, timestamp, zoom level, row and column. BOM also publishes basemaps, boundaries, radar coverage and other reference tiles.
My card uses those browser-facing WMTS and MapServer tiles directly. It does not scrape the BOM website, capture screenshots or send the imagery through my server. Each Home Assistant browser requests the tiles from BOM and Leaflet puts them in the right place.
The path is roughly:
BOM weather and map tiles ↓Leaflet layers in the browser ↓one Home Assistant dashboard cardBOM data and BOM basemaps do not require the user to configure an API key. Optional third-party basemaps use their own credentials, kept separate from one another.
I am careful about how I describe that service. BOM does not present it as a supported public developer API with a stability promise. It is part of the Bureau’s own browser map, and it can change. The card has to be easy to update when it does.
The installation stays simple. Add it through HACS, put this on a dashboard, and it uses the location already configured in Home Assistant:
type: custom:bom-radar-cardNo Docker sidecar. No local radar cache. No separate BOM integration.
Four Layers Became 34
The first version covered rain rate, reflectivity and one-hour and 24-hour rainfall accumulation.
The v1.11.1 card has 34 observed and forecast BOM layers across rain, wind, waves, temperature, humidity, UV and significant weather. It can show radar reflectivity, rainfall accumulation, wind speed and direction, air temperature, frost, snow and other products from the same map stack.
The number could have been higher. During one API review, BOM advertised 41 weather products. Seven were stale or unreliable, with their latest data stuck in 2023 or 2024, so I left them out. I temporarily removed the 24-hour accumulation layer for the same reason; it returned after later timing work. Existing in metadata is not the same as being safe to put in front of users.
It also has the things I wanted from a radar I would leave on a wall dashboard:
- pan, zoom, playback, timeline scrubbing and a button to return home;
- a built-in layer switcher and a BOM-style qualitative colour strip for rain rate and reflectivity;
- an automatic light or dark BOM basemap based on Home Assistant’s sun state;
- optional state borders, forecast districts, lakes and radar-network coverage;
- optional local lightning strikes from the Home Assistant Blitzortung integration;
- a visual editor as well as full YAML configuration;
- a one-to-nine-frame setting without inventing frames for shorter daily products.
By 30 March, the card was already public and I was reviewing two issues and three pull requests from users. In the next 48 hours I fixed playback timing and the light basemap, added closer framing, recentering, the colour strip and layer switcher, then hardened the card when Home Assistant detached and reattached it.
One user wanted the map to change automatically between day and night. They sponsored the work, and it became version 1.7. Another contributor added the first Blitzortung lightning overlay, which became version 1.10. A later pull request added CARTO key support.
A user wanted to zoom further into their city. BOM’s weather tiles stop at their native zoom level, so I added optional overzoom without pretending it creates more radar detail. It enlarges the existing tiles. The view gets closer and the image gets softer. That is the honest tradeoff.
Another user noticed that radar moved relative to the map while zooming. Others found controls colliding, blank maps after returning to a dashboard, extra whitespace under the card, lost sizing inside card-mod, and a home marker that appeared briefly before vanishing behind the tile layers.
Home Assistant Was Harder Than the Map
Getting the first radar image on screen was not the difficult part.
Keeping it there through Home Assistant’s lifecycle was.
A dashboard is a single-page application. Home Assistant can create a card while it is hidden, tell it about configuration before attaching it to the page, disconnect it when somebody changes tabs and reconnect the same element later. A sections view can briefly report that the map is zero pixels wide. A resize callback can arrive after the old map has already been removed.
Leaflet expects a map container with a real size and a fairly normal lifetime. Home Assistant does not always provide either.
In May, a user reported that the card loaded once, then sat on Loading radar… after leaving the dashboard and coming back.
The embarrassing part was that a lifecycle-hardening change I had shipped caused it. An internal initialized flag was being set before the card was properly connected. Home Assistant later brought the same element back, saw the flag and left it permanently loading.
I marked the two affected releases as deprecated instead of deleting the evidence. Fixing the bug properly meant treating every attachment as a new generation of the card. Old asynchronous work is no longer allowed to update a newer map. Disconnecting clears timers, observers, lightning layers and half-built Leaflet state. Reconnecting waits until the card is attached and has both Home Assistant state and configuration. Resize handling waits for a visible, non-zero container before asking Leaflet to remeasure.
In July, another issue exposed a narrower version of the same problem. A card constrained with card-mod would come back wider after switching tabs, or calculate its map size while hidden and keep the wrong framing. The fix was tested across desktop, mobile, fractional display scaling and several resize paths, with the previous release kept as a positive control to prove the test could reproduce the bug.
None of that changed the screenshot, but it stopped the card breaking after a dashboard tab change.
BOM Does Not Publish Every Frame at Once
Radar animation introduced a different reliability problem.
Most observed products move in five-minute steps. Forecasts and daily products use other schedules. BOM has a capabilities document that describes layers and available times, but a Home Assistant browser cannot reliably fetch and read it.
I confirmed the split again on 31 August. A server request without a browser origin returned the XML. The same request with an Origin header returned 403. A normal image request still returned a 256-by-256 PNG. JavaScript could not read the cross-origin metadata, while Leaflet could load a weather frame as an ordinary image without needing to read its response.
I changed the timing code over several releases as that boundary became clear. Version 1.0 generated five-minute timestamps locally. Version 1.3 tried BOM’s advertised times. When those metadata requests proved stale or browser-blocked, version 1.6.6 removed the runtime XML dependency. Each layer now has a known cadence and direction, and the card builds the expected timeline itself.
There was still a five-minute rollover problem. The clock could say a new frame was ready while BOM was partway through publishing it, leaving the animation with a blank edge. Version 1.11 added small tile probes at the first and last timestamps. It shifts the window only when a replacement is confirmed, and keeps the last valid radar visible while refreshes or layer changes are still loading.
Release tooling can still compare the layer registry with BOM’s current metadata and test representative live image tiles. The Home Assistant card does not need that metadata request to draw a map.
What I Actually Maintain Now
As of 31 August 2026, the card had 21 public releases in its first six months.
The current version at that point, v1.11.1, bundles Leaflet in the card instead of downloading it from a third-party CDN.
For this post, I reran the automated and upstream checks on the exact release:
- all 82 automated tests passed;
- release metadata and the committed production bundle matched;
- the upstream check passed all 34 configured BOM layers and 38 representative PNG tile requests.
The tagged release also records a Chromium check of the marker, map attribution and playback controls.
Those are checks on a dated release, not a guarantee about the next BOM change.
The card still uses BOM’s national mosaic. It can centre and zoom to look roughly like an old 64, 128 or 256-kilometre local view, but it cannot pin itself to a fixed station product or draw that station’s exact range rings. That remains an open feature request. It also cannot show the 90-minute radar forecast that BOM currently keeps in its mobile app.
The project is unofficial and not endorsed by the Bureau. It is a visualisation, not an emergency warning system. BOM warnings and advice still take priority, whether or not a radar frame looks quiet.
You can install BOM Radar Card through HACS, use the visual editor or configure it in YAML. The source, releases and issue tracker are all public.
I wanted one dependable local BOM view on the screen I already use for the house. That is still the job.
Sources Checked
- BOM’s October 2025 website launch
- BOM’s response to the initial radar feedback
- BOM’s December 2025 website and radar update
- BOM’s April 2026 radar and search update
- BOM’s June 2026 place-name and specialist-radar update
- BOM’s July 2026 radar roadmap
- BOM’s current rain radar and weather map explainer
- ABC News on the launch complaints and user reaction
- The Guardian on BOM’s apology after the launch
- ABC News on the rain-radar colour reversion
- The original Home Assistant card’s API-breakage issue
- BOM Radar Card v1.11.1
- BOM copyright and data-access conditions