Repository navigation
v0.5.0
0.5.0 is the NAAD sunset release. rss.naad-adna.pelmorex.com retires around late September and takes the two-host GeoRSS union with it. If you run ECCC with streaming on, the default, nothing here changes how alerts reach you. Everything else is what the alphas carried since 0.4.1, plus superseded_by from rc.1.
Nothing in the integration changed since rc.1, only the version number. It soaked on my instance from September 5 with no cap_alerts tracebacks, and nobody reported a problem against it.
ECCC entries exposed by the sunset get a repair
Two configurations depend on the retiring host. With streaming off you poll the GeoRSS index, and after the sunset that's rss.alertready.ca alone. It has never carried every live alert, every sample of my host-gap probe since July 30 has shown gaps. Pinning the feed source to pelmorex is worse, every fetch fails once the host is gone.
Both now raise a repair in Settings → Repairs, per entry. Submit applies the fix (streaming back on, or feed source back to auto). If polling is deliberate, Ignore it. There's no sunset detection, the recommendation is already correct today.
Streaming recovers what it missed while disconnected
Socket downtime was streaming's one blind spot. Over 7.5 days I measured 6 reconnects, 32.7 s offline and one missed alert. Every NAAD heartbeat lists the last ten alerts, and cap.alertready.ca serves any of them by reference for 48 hours. The entry now fetches whatever it hasn't seen, so a reconnect gap no longer depends on the index.
Polling got cheaper too. The alertready host honors ETags since August 25, so an unchanged feed costs a header exchange instead of a ~6 MB download.
CAM warnings match and draw on the threat polygon
ECCC's Convective Alert Modernization went live August 11. Severe thunderstorm and tornado warnings now carry a forecaster-drawn threat polygon next to the legacy zone polygons. GPS and tracker mode used to match on the zones, so you got warnings for storms that weren't at your location. The threat polygon is the location test now, and it's the geometry the entity publishes. Province mode is unchanged.
Endings fire once, and name the successor
ECCC publishes every update twice, English-first and then bilingual under a fresh identifier. An area group ending across that pair fired incident_removed twice on streaming. The store follows CAP identifier lineage now, so that's one removal.
incident_removed with removal_reason: superseded also carries superseded_by, the successor's CAP identifier. It matches the successor entity's identifier attribute. Expect it absent more often than present though. Of 27 transitions I measured, 18 named a document NAAD never published. Details in docs/events.md.
Smaller
GPS fields prefill from the HA home location. NWS GPS mode is validated against /points/ at setup instead of failing on the first poll. Every config menu has a back option. On multi-language WMO and MeteoAlarm bodies, the alternate <info> block prefers English. The GDACS tracker mode listed below already shipped in 0.4.1.
Upgrading
HACS, restart, done. No config migration and no entity ids change. If a repair shows up after restart, read it before dismissing it.
Found something? Open an issue with a diagnostics download attached, it carries the version and the filters in effect.
Changelog since 0.4.1
Added
- Prefill GPS fields from the HA home location (#128) (#159) (97b5376…)
- Validate NWS GPS mode against /points/ at setup (#161) (e39c25f…)
- Add a back option to every menu (#140) (#162) (418d6e7…)
- Raise a repair for ECCC entries that lose NAAD coverage at the sunset (#163) (#165) (15aeb23…)
- Recover alerts missed during socket downtime from the NAAD repository (#164) (#167) (f58b4b7…)
- Add a device-tracker mode to GDACS (#171) (#173) (04fa243…)
- Revalidate the NAAD GeoRSS feed with conditional GET (#182) (19705be…)
- Add superseded_by to incident_removed for ECCC transitions (#191) (281832e…)
Documentation
Fixed
- Prefer an English block as the alternate (#154) (#168) (e555790…)
- Match GPS mode on CAM threat polygons, not legacy zones (#176) (f9a056c…)
- Publish the CAM threat polygon as the alert geometry (#178) (#180) (52e553d…)
- Follow CAP identifier lineage to dedupe reissued endings (#188) (ba97e25…)
Maintenance
- Add verify.sh, one command for every CI gate (#166) (b4407b7…)
- Add a feed vocabulary probe and its scheduled workflow (#174) (8b57992…)
- Track only catalog-backed vocabulary in the feed probe (#179) (60bd3e9…)
- Name the alerts behind each feed vocabulary drift (#184) (#186) (93ca898…)
- Probe feed vocabulary daily, read NWS history, dedupe comments (#187) (38725cd…)
- Bump test pins to HA 2026.9.0, ruff 0.16.6, mypy 2.3.1 (#193) (3008e20…)
- Accept MeteoAlarm resource digest/size vocabulary (#198) (7f2ae26…)