Skip to content

Persistent Memory for Smarter Updates

Latest

Choose a tag to compare

@danishru danishru released this 24 Jun 20:33

💽 The Next Step Is Persistent Memory

Because truly smart management should not forget everything after a Home Assistant restart.

The v0.4.1 release continues the direction introduced in previous SMART updates.

In v0.4.0, SILAM Pollen became better at understanding available datasets, choosing the right source, and avoiding unnecessary requests.

In v0.4.1, the integration can now keep the last successfully loaded data in persistent storage and safely reuse it when appropriate. This makes startup more reliable, helps sensors recover faster, improves behavior during temporary SILAM service issues, and further reduces the number of requests sent to the SILAM service.

Also as part of v0.4.1, service actions were improved, SILAM/NCSS validation became stricter, diagnostics were expanded, Home Assistant Repairs warnings were added, SMART mode behavior after options changes was improved, and translations were updated with the help of AI.

If you are a native speaker and notice inaccurate or unnatural wording in any translation, corrections are very welcome.


SILAM Pollen v0.4.1 Release Notes

🚀 What’s New

  • 💽 Persistent memory for SILAM Pollen

    • The integration can now remember the last successfully loaded data after Home Assistant restarts.
    • This allows SILAM Pollen to recover faster instead of starting from an empty state.
    • Cached data is only reused when it matches the current integration configuration.
  • Faster startup after Home Assistant restart

    • Sensors and forecasts should become available faster when suitable saved data exists.
    • This helps reduce empty or unavailable states immediately after restart.
  • 📶❌ Offline fallback

    • If SILAM or the network is temporarily unavailable, the integration can continue using the last known valid data.
    • This improves stability during short service outages or temporary connection problems.
    • Diagnostics now show when data was restored from cache.
  • 🌿 Fewer requests to the SILAM service

    • By keeping successfully loaded data in persistent memory, SILAM Pollen can avoid some repeated requests after restart.
    • This continues the work started in earlier SMART updates to make the integration more efficient and reduce unnecessary load on the upstream SILAM service.
  • 🔄 New and updated update services

    • Added a new silam_pollen.full_refresh service for forcing a strict live data refresh.
    • The existing manual_update service was updated according to newer Home Assistant service recommendations.
    • Existing automations and scripts using the old targets payload remain supported for compatibility.
  • 🧭 SILAM root catalog manager

    • The integration now uses the SILAM/THREDDS root catalog to check service availability and published datasets.
    • If the root catalog is unavailable or invalid, the integration avoids unnecessary runs catalog and NCSS requests.
    • SMART mode can now skip datasets that are no longer published in the root catalog.
  • 🩺 New service status diagnostic sensor

    • Added a new service_status diagnostic sensor.
    • It reports the online status of the SILAM service separately from local cache usage.
    • Attributes include details about the root catalog, selected dataset, runs catalog, and SMART filtering.
  • 🔎 Last NCSS request diagnostics

    • The fetch_duration diagnostic sensor now exposes the latest SILAM data request URLs.
    • The latest index and main NCSS request URLs are shown separately.
    • This makes it easier to debug forecast horizon, dataset coverage, and SMART behavior.
  • 🛠 Home Assistant Repairs for problematic states

    • If a manually selected dataset is no longer published in the SILAM root catalog, Home Assistant Repairs will show a dedicated issue.
    • If the deprecated legacy index sensor is still present, Repairs will show a warning.
    • The legacy index sensor will be removed in future updates, so users should disable it and update automations, scripts, templates, and dashboards to use the new SILAM Pollen weather forecast entity.
  • 🧠 Improved SMART behavior after options changes

    • When switching from a manually selected dataset to SMART mode, the options dialog no longer waits for network probing or a full data refresh.
    • Config entry reload now runs in the background.
    • SMART mode can backfill missing forecast points from other suitable datasets after a full fetch.
  • 🌐 AI-assisted translation updates

    • Translation files were updated for new diagnostics, services, Repairs, setup messages, and options flow text.
    • Existing translations were preserved where possible, while missing or significantly changed strings were added.
    • All newly added translation updates were prepared with the help of AI.
    • If you are a native speaker and notice inaccurate or unnatural wording, corrections are very welcome.

🔄 Changes

  • Improved startup behavior when valid local data is already available.
  • Improved recovery after Home Assistant restarts.
  • Improved handling of temporary SILAM catalog or network failures.
  • Reduced unnecessary full reloads when the active SILAM data has not changed.
  • Added the new full_refresh service for strict live refreshes.
  • Updated manual_update according to newer Home Assistant service recommendations.
  • manual_update now uses SILAM Pollen service/device selection in the UI.
  • Legacy manual_update target payloads are still accepted to avoid breaking existing automations and scripts.
  • full_refresh is intended for forced live refreshes and does not use cache fallback.
  • SILAM catalog handling was moved into a dedicated catalog layer.
  • runs_catalog.py is kept as a compatibility shim for older imports.
  • Root catalog is now used as an early check before runs catalog and NCSS requests.
  • service_status now represents the online status of the SILAM service, not whether cached data is being used.
  • Options Flow no longer blocks on SMART probing when saving settings.
  • Config entry reload after options changes now runs in the background.
  • SMART missing-time backfill can now run after a full fetch.
  • Manual/fixed dataset behavior remains unchanged.
  • Updated localization strings for new diagnostics, services, Repairs, setup messages, and options flow text.
  • Added missing translation strings with AI assistance while keeping existing translations unchanged where possible.

🐞 Fixes / Stability

  • Reduced the chance of empty sensors after restarting Home Assistant.
  • Improved resilience during temporary SILAM service outages.
  • Improved long-term stability of the update flow.
  • Improved compatibility for existing automations and scripts using the older manual_update payload format.
  • Reduced the risk of breaking user automations when moving the service UI from entity targets to SILAM Pollen service/device selection.
  • Improved troubleshooting behavior by adding a dedicated strict full_refresh service.
  • Fixed a case where an NCSS HTTP 200 response could be treated as successful even if the body was empty, invalid, or did not contain useful data.
  • NCSS XML responses are now additionally validated for a useful stationFeature payload.
  • Improved handling of empty response bodies with HTTP 200.
  • Improved handling of HTML/error XML returned by THREDDS/NCSS.
  • Fixed full_refresh behavior where network errors could fail without being clearly returned to the user.
  • Improved resilience during temporary SILAM root catalog outages.
  • Improved diagnostics for cases where data or a specific dataset is unavailable.
  • Improved localization coverage for new service actions, diagnostics, Repairs, and setup/options messages.

GitHub DownloadsDynamic JSON Badge

Full Changelog:
v0.4.0...v0.4.1