Skip to content

v1.4.0

Choose a tag to compare

@moehrem moehrem released this 20 Feb 20:45
9f91acc

DiveraControl v1.4.0 - webhooks incoming!

With this update we proudly present webhook support!
You are now able to configure a unit specific API-enpoint to be used as webhook address within Divera 24/7. Divera will call that endpoint upon any new alert, thus reducing response times of DiveraControl to an abolute minimum.

New users just use the new option while setting up the integration. Existing users may activate webhook support by reconfiguring existing units.

🚀 Highlights

  • Added optional webhook support alongside polling.
  • Expanded and stabilized the configuration and reconfiguration flows.
  • Improved diagnostics with integration-specific in-memory log output.
  • Fixed multiple issues around URL resolution, update interval behavior, and translations.

✨ New

  • Implemented webhook endpoint handling to trigger targeted coordinator refreshes.
  • Added config flow steps for webhook setup, including info and error screens.
  • Extended reconfigure flow to update:
    • API key
    • Update intervals
    • Base API URL
    • Webhook usage
  • Refactored form schemas into a dedicated structure for better maintainability.

🛠 Improvements

  • Webhook URL generation now prefers Home Assistant Cloud URL, then external URL fallback.
  • Added explicit error handling when no external/cloud URL is available.
  • Optimized duplicate detection in config flow to avoid duplicate cluster entries.
  • Reworked dynamic update interval switching (alarm vs. normal state).
  • Expanded DE/EN translations for webhook, reconfigure, and error messaging.
  • Improved diagnostics output with recent in-memory integration logs.

🐞 Fixes

  • Fixed webhook URL generation for non-internal/cloud scenarios.
  • Corrected translation placeholders and language string issues.
  • Fixed diagnostics/log-handler integration issues.
  • Applied follow-up fixes for update interval logic and related tests.

✅ Tests, CI, and Release Automation

  • Added/updated tests for webhook handling, diagnostics, data normalization, and config flow.
  • Consolidated CI testing to Python 3.13.
  • Updated test dependencies for aiodns/pycares compatibility on Python 3.13.
  • Added release workflow to build and upload ZIP release assets.

📚 Docs and Maintenance

  • Updated German and English README documentation.
  • Standardized license files to Apache 2.0 naming/layout.
  • Removed committed coverage/build artifact files from the repository.

Upgrade notes

  • Existing installations are migrated forward; new config fields (such as webhook usage) are added automatically.
  • Webhooks require a publicly reachable Home Assistant URL (Cloud or external URL).
  • If enabling webhooks, verify the generated webhook URL in setup and update it in Divera as needed.
  • Reconfigure changes (API key, URL, intervals, webhook mode) trigger entry reload behavior.

Known limitations

  • If no external or cloud URL is configured, webhook mode cannot be enabled; polling remains the fallback.
  • Diagnostics redact API/access keys, but may still contain operational cluster/alarm context and should be handled as sensitive.
  • After translation/diagnostics updates, UI text consistency may require a reload/restart depending on local cache state.

What's Changed

  • v1.4.0-beta.1 Webhooks incoming by @moehrem in #108
  • bugfix: set external or cloud url by @moehrem in #109
  • bugfix: fix webhook URL generation for non-internal or cloud access by @moehrem in #110
  • updated url generation to cloud first, then external, and added error… by @moehrem in #111
  • [WIP] Update to address feedback on config flow refactor by @Copilot in #113
  • Use TextSelectorType.PASSWORD enum instead of raw string in TextSelectorConfig by @Copilot in #114
  • Use TextSelectorType.PASSWORD enum instead of string literal in schemas.py by @Copilot in #115
  • Hoist existing_ucr_ids computation out of loop in config flow by @Copilot in #116
  • refactored config flow: by @moehrem in #112
  • workflow, bugfixes by @moehrem in #117

New Contributors

  • @Copilot made their first contribution in #113

Full Changelog: v1.3.2...v1.4.0