Skip to content

Releases: TerraLyra/ha-ignis

0.26.3 — Replayed track identities

Choose a tag to compare

@janosbali janosbali released this 15 Sep 17:24
9cdfaea

0.26.3 — Replayed track identities

Older observations replayed outside the matching window could create another
retained record with the same deterministic track ID. Reuse the stored identity
without emitting another new-incident event or incrementing its history.

Presentation now lists unique source track IDs. Duplicate records cannot multiply
corroborating-detection counts for the same track/provider/satellite combination.
Stored records and Recorder history are preserved; no deletion is required.

875 local tests passed, including old-observation replay and duplicated source
records. Install v0.26.3 through HACS and restart Home Assistant. Keep the existing
backup. After refresh, source track count should equal the unique displayed IDs;
this count is not the number of independent satellites. Optimization remains paused.

0.26.2 — Location-specific minimum distance

Choose a tag to compare

@janosbali janosbali released this 15 Sep 16:32

0.26.2 — Location-specific minimum distance

A California incident now uses California for both its current distance and its
minimum observed distance. Previously the historical minimum could still refer
to Home even though the current map distance referred to another location.

Minima are stored per location and survive restart. Changing reference coordinates
starts a new minimum. Merged incidents combine only values for the same location.
Legacy Home-based records and existing history are preserved, not relabelled.
If no location-specific observations exist yet, the minimum is omitted. New minima
cover observations since this tracking began, not the full pre-upgrade lifetime.

Validation: 873 local tests passed; all PR #23 GitHub checks passed, including
HACS, Hassfest, full pytest/coverage, security and Linux ARM64/x86-64 tests.

In HACS, download v0.26.2 and restart Home Assistant. Keep the
existing backup and integration configuration. No history deletion is required.
After a fresh observation, inspect an incident belonging to a non-Home location.
Optimization remains paused.

0.26.1 — NSW report update times (prerelease)

Choose a tag to compare

@janosbali janosbali released this 15 Sep 09:35
a0c6d08

0.26.1 — NSW report update times (prerelease)

NSW RFS reports with corroborated update timestamps now appear as timed calendar
entries instead of all-day entries, allowing chronological display alongside
satellite observations. The timestamp means report update, not ignition or a
satellite association. A one-minute slot is used only for display.

JSON pubDate is interpreted as UTC only when its Sydney-local date and minute
match UPDATED. Missing or inconsistent timestamps retain the all-day fallback.
Report identities and stored history are preserved. No extra feed is fetched.

Validation: 70 affected tests passed locally, including standard/daylight-saving
offsets, inconsistent timestamps and calendar query boundaries.

In HACS, allow prereleases, select v0.26.1, download and restart Home Assistant.
Keep the existing backup. Queensland remains opt-in. This release does not fix
upstream fire-risk forecast availability. Optimization remains paused.

0.26.0 — Queensland reports (prerelease)

Choose a tag to compare

@janosbali janosbali released this 14 Sep 22:26

0.26.0 — Queensland reports (prerelease)

Adds an optional, disabled-by-default Queensland QFD report calendar. Incident
points and warning areas remain distinct, with explicit source-time uncertainty,
bounded geometry processing and stale-data handling. No automatic satellite
association or persistent Queensland archive is introduced.

Also fixes map location-match labels and refreshes next-update estimates without
additional provider requests. Existing entity identities and history are preserved.

Validation

PR #21 passed all GitHub checks: pytest/config-flow coverage, HACS, Hassfest,
CodeQL, security/dependency checks and Linux ARM64/x86-64 geometry/decoder tests.
The local suite passed 867 tests. Live Home Assistant validation remains pending;
this release is intentionally marked as a prerelease.

Installation

In HACS, enable prerelease versions for TerraLyra IGNIS and select v0.26.0.
Keep a current backup including history, download, then restart Home Assistant.
The integration version should read 0.26.0 after restart.

Enable the Queensland report calendar explicitly to use it; see
QFD calendar. Existing monitored locations are used for filtering.
Elapsed source expiry is not proof that a fire has ended. Warning polygons are
not fire perimeters. This change does not address upstream forecast-date outages.

For code rollback, redownload v0.25.0 and restart without removing the integration
or deleting its history. Optimization remains paused.

0.25.0 — NSW RFS regional fire reports

Choose a tag to compare

@janosbali janosbali released this 14 Sep 16:01
18066e5

NSW RFS regional reports

A new, disabled-by-default Reports — NSW RFS fires calendar uses the official current-incidents GeoJSON feed. Reports are filtered by enabled monitored-location radii; overlapping circles do not duplicate incidents. Publisher types, statuses and alert levels remain visible.

Explicitly planned burns, non-fire reports and unmapped LGA placeholders are omitted. All-day entries represent the publisher update date, not ignition time or fire duration. Point filtering is not perimeter intersection.

Reliability and limits

One shared 30-minute cache, bounded HTTP reads and worker-based parsing. Fetch failures retain clearly marked stale snapshots. This version has no persistent NSW archive and no automatic satellite matching or alerts. Follow current official advice for personal safety.

Verification

785 local tests passed; all 13 GitHub checks passed before merge. The parser was also checked against the official live feed.

Update

Update IGNIS to 0.25.0 in HACS and restart Home Assistant. Enable Reports — NSW RFS fires in the integration entity list, then add the actual calendar entity to your calendar card. An enabled monitored circle must include an NSW report location. Existing settings and history need no migration.

Setup and limitations

© State of New South Wales (NSW Rural Fire Service). For current information go to www.rfs.nsw.gov.au.

0.24.12 — Faster persistent incident tracking

Choose a tag to compare

@janosbali janosbali released this 13 Sep 21:03
3808078

Performance

Persistent incident tracking now shortlists nearby candidates using Earth-centred spatial cells instead of comparing every current cluster with all historical tracks. Existing nearest-match rules, equal-distance ordering and one-match-per-snapshot behavior are preserved.

Tracking still runs on the Home Assistant main loop: this release reduces candidate-search work; it does not make all processing asynchronous.

Verification

All 750 local tests pass. New tests cover multi-cycle equivalence with exhaustive matching, poles, the date line, delayed observations, zero-radius ties, and a 2400-track case requiring only 2400 exact distance comparisons. Actual deployed timing depends on the data and hardware.

Update

Update in HACS and restart Home Assistant. After a completed update cycle, download fresh integration diagnostics to compare the tracking_and_location_matches stage. No configuration changes, cache clearing or history deletion are needed.

0.24.11 — Incident-family performance fix

Choose a tag to compare

@janosbali janosbali released this 13 Sep 20:11
2ea5af8

Performance and responsiveness

  • Spatially shortlist incident-family candidates while preserving existing temporal, diameter, ordering and stable-ID rules.
  • Move both consolidation passes off the Home Assistant event loop into executor workers using private copies.
  • Keep processing-stage diagnostics for post-update verification.

Verification

All 745 tests pass locally, including new equivalence, comparison-count and event-loop responsiveness regressions. A synthetic 2400-track benchmark produced identical results in 0.078 seconds versus 4.922 seconds. Actual improvement depends on hardware and data and must be checked after deployment.

Update

Update TerraLyra IGNIS in HACS and restart Home Assistant. After a completed processing cycle, download fresh integration diagnostics to compare processing duration and frontend responsiveness. No cache or history purge is required.

This targets incident-family processing stalls; it does not claim to resolve unrelated network or provider outages.

0.24.10 — Processing-stage diagnostics

Choose a tag to compare

@janosbali janosbali released this 13 Sep 19:46
0ea33cb

Diagnostic release for investigating intermittent Home Assistant stalls. This is not yet a confirmed connection-loss fix.

  • Adds elapsed and coordinator-thread CPU timings for eleven processing stages.
  • Keeps the last completed run across unchanged-product skips.
  • No detection, alert, or polling behavior changes.

After updating through HACS and restarting Home Assistant, allow an actual processing cycle to finish, then download IGNIS diagnostics. Inspect active_fire.performance.last_completed_processing. Wall time includes asynchronous waits; thread CPU across awaits may include other HA tasks and does not alone prove continuous blocking.

Validation: all 740 tests pass locally.

0.24.9 — Clear FRMv3 date-availability warnings

Choose a tag to compare

@janosbali janosbali released this 13 Sep 09:45
e3567e7

Fixes

  • Distinguish unavailable FRMv3 forecast dates from generic service failures using the official Risk date catalogue.
  • Display localized date information and safe error summaries instead of raw upstream XML.
  • Preserve bounded automatic retries and clear warnings after recovery.
  • Prevent retry arithmetic overflow during prolonged outages.

Important

This release does not restore missing upstream forecasts. Older forecasts are not presented as today’s data, and satellite active-fire monitoring remains independent.

Validation

740 local tests passed, with 100% config-flow coverage; all 13 pull-request checks passed.

Update

Update TerraLyra IGNIS in HACS and restart Home Assistant.

Full changes: #16

0.24.8 — GOES executor cleanup fix

Choose a tag to compare

@janosbali janosbali released this 11 Sep 14:34
9370489

Fix GOES temporary-product cleanup for the Future returned by Home Assistant’s executor. Previously, cleanup could raise TypeError and discard a successful decode or mask the original failure. Shielded cleanup is preserved.

Validation: 725 local tests passed, configuration-flow coverage 100%, all 13 GitHub checks passed. Tests cover coroutine and Future executors, success, invalid downloads, decoder errors and cancellation.

Update through HACS and restart Home Assistant, then check NOAA GOES source health. This fixes a reproduced compatibility defect; live recovery still needs verification. Missing future fire-risk forecast dates are a separate investigation.

Changes: #15