Skip to content

Releases: kayl-codes/homeassistant-comexio

Comexio v0.8.1

Choose a tag to compare

@kayl-codes kayl-codes released this 19 Jun 01:11
8518483

downloads

This release fixes several stability issues in the statistics unit migration, suppresses a spurious aiohttp session warning on HA restart, and improves the extension offline detection with a proper HA Repair notification.

🚀 New Features & Enhancements

  • Extension Offline Repair Issue: When an extension module goes offline during runtime, a HA Repair notification is now created listing the affected module(s) — it auto-resolves once all modules are back online. Modules that are already offline at startup are logged at INFO level only, so intentionally decommissioned hardware no longer generates a spurious alert. (#11)

✨ Improvements & Fixes

  • Statistics unit migration reliability: Detection now uses the correct statistics_unit_of_measurement key (HA 2024+), and the guard condition is tightened to not stored_unit — the migration no longer re-runs on every restart once it has already completed. (#9)
  • Bootstrap deadlock eliminated: async_block_till_done() replaced with asyncio.sleep() in the background statistics-fix task — HA startup no longer stalls for up to 5 minutes when the recorder queue is active. (#9)
  • Offline extension orphan guard: Entity IDs of offline extension IOs are snapshotted before the cleanup loop and excluded from orphaned-statistics detection, preventing false Repair issues from reappearing on every restart. (#9)
  • aiohttp session warning suppressed: ComexioAPI.close() is now a no-op — async_create_clientsession manages the session lifecycle, so HA no longer warns about the integration closing a managed session on full restart. (#10)
  • unit_class deprecation resolved: async_update_statistics_metadata now passes new_unit_class=None (universally valid), eliminating the deprecation warning scheduled to break in HA 2026.11. (#9)
  • max=0 override fixed: A falsy-check bug in number.py caused a valid max value of 0 on analog IO outputs to be silently replaced with 100.0. Fixed by checking is not None instead. (#9)

⚠️ Requirements & Notes

  • Full HA restart recommended after updating (coordinator behaviour change for extension offline handling; new translation keys for the Repair notification).

Comexio v0.8.0

Choose a tag to compare

@kayl-codes kayl-codes released this 16 Jun 01:15

downloads

This release introduces a proper reconfigure flow for connection credentials, replaces the polling interval slider with a curated dropdown, and adds automatic offline extension detection.

🚀 New Features & Enhancements

  • Reconfigure Flow: Host, username, admin password, API user/pass are now editable via ⋮ → Reconfigure — no re-setup needed. Blank password fields keep the existing value; a login test runs before saving.
  • Polling Interval Dropdown: Free-range slider replaced by a curated list: 1 / 5 / 10 / 15 / 30 / 45 / 60 / 120 / 300 / 600 / 1440 min.
  • Offline Extension Detection: Extension modules that go offline are detected automatically on every coordinator poll — their entities and sub-device are removed from HA until the module comes back online.
  • Diagnostic Sensor — Offline Extensions: New sensor on the hub device shows the count of currently offline extensions and lists them via the extensions state attribute.
  • Orphaned Statistics Repair on Startup: Detection now runs immediately after entity cleanup instead of waiting up to 15 min for the next scheduled poll.

✨ Improvements & Fixes

  • Options flow cleanup: Credential fields removed from the options form — connection details live exclusively in config_entry.data and are managed via the new reconfigure flow.
  • Coordinator credential source: Credentials now read directly from entry.data, preventing stale options values from overriding a reconfigure.
  • Recorder stability: state_class returns None for sensors of offline extensions, preventing recorder unit-mismatch warnings when a module goes offline with an incomplete $ioTypes map.
  • Transition logging: Coordinator now logs which extensions went offline or came back online on each state change.
  • async_migrate_entity_ids() extracted as a shared coordinator helper (used by both the repair flow and the migration button).

📖 Documentation

  • New CONFIGURATION.md: Bilingual (EN + DE) guide with all UI screenshots and field descriptions — covers setup, settings, reconfigure, WebIO sync, and repair flow.
  • README: Updated configuration section with reconfigure tip, options note, and link to the new guide.

⚠️ Requirements & Notes

  • Full HA restart required after updating (new translation keys for the reconfigure step and polling dropdown).
  • Existing entries: Credentials stored in config_entry.options from the old options flow are cleaned up automatically the first time you save via Reconfigure.

Version 0.7.5

Choose a tag to compare

@kayl-codes kayl-codes released this 22 May 02:33
e73f166

This is a massive under-the-hood update that significantly improves the performance, stability, and robustness of the Comexio integration. It also introduces new features based on community feedback.

🚀 New Features & Enhancements

  • Customizable Cover Keywords: You can now define your own comma-separated keywords (e.g., shutter, volet, rolladen) for automatic cover detection. This can be configured during the initial setup or later in the integration's options.
  • New Translations: The integration is now fully translated into French and Spanish.

✨ Improvements & Fixes

  • Major Performance Boost: The logic for parsing the Comexio configuration has been completely rewritten. It now uses compiled patterns and optimized lookups, which significantly speeds up the background audit process.
  • Improved UI State Consistency: Switches and sliders in the Home Assistant UI will now more reliably reflect the actual state of the device, especially after a failed API call.
  • Smarter Password Handling: The options dialog no longer pre-fills password fields, enhancing security and improving the user experience on validation errors.

🔒 Under-the-Hood: Security & Robustness

This release includes a huge number of fixes that make the integration "bulletproof" against unexpected server responses and network conditions:

  • Hardened the API client against various connection errors, invalid JSON data, and malformed responses from the Comexio server.
  • Fixed several race conditions that could occur during data updates and sync processes.
  • Improved handling of Home Assistant's lifecycle for reloads and setup retries, preventing session leaks.
  • Made the integration more robust in complex network environments, including full support for IPv6 and offline scenarios.

Version 0.7.1

Choose a tag to compare

@kayl-codes kayl-codes released this 14 May 03:32

🚀 New Features & Improvements

  • Custom Naming Schemas: Users can now define custom naming patterns for IOs and Markers via the integration options menu (e.g. {ExtName} {IoId} {IoTitle}).
  • Core-Compliant Entity IDs: Removed the server alias from the default naming schema to fully leverage Home Assistant's native device-name prefixing (has_entity_name = True). This prevents duplicate server names in the entity_id while keeping the UI friendly name perfectly readable.
  • Stable Unique IDs: Standardized and hardened the unique_id generation across all platforms (e.g., comexio_iosrv1_ud1_q4). This ensures long-term database stability and prevents orphaned entities, even if entity types change in the future.
  • Safe Dictionary Formatting: Implemented a SafeDict fallback to prevent the integration from crashing if a user provides an invalid variable in the custom naming schema.

Version 0.7.0

Choose a tag to compare

@kayl-codes kayl-codes released this 12 May 00:41

🐛 Bug Fixes & Improvements

  • Web-IO Device Creation: Radically overhauled the API payload for creating Web-IO devices to strictly match Comexio requirements. Fixed missing identifiers and authentication bugs.
  • Authentication Flag: Fixed the form_login attribute in the Web-IO template and device creation. It is now correctly set to 2 ("Never") to prevent Comexio from blocking webhook execution.
  • Payload Variables: Fixed a crash during device recreation where an undefined variable (new) was referenced instead of base_id.
  • Sync Error Handling: Introduced a dedicated sync_error state. The UI button and sync sensor will now reliably display an error state if the Delta-Sync or upload process fails, rather than reverting to "Idle".

🎉 This release marks a massive stability upgrade for the Web-IO interface between Comexio and Home Assistant!

Version 0.6.4

Choose a tag to compare

@kayl-codes kayl-codes released this 07 May 23:05

🏷️ Entity Naming Standardization & Diagnostic Sensors

This release heavily focuses on aligning the integration's internal architecture with strict Home Assistant Core standards.

🚀 Enhancements

  • Entity Naming Standard: All platforms (Sensors, Switches, Numbers, Binary Sensors) now strictly adhere to the modern HA naming standard (has_entity_name = True). This guarantees clean, uniform, and predictable entity_id generation for all current and future Comexio devices.
  • New Sync Status Sensor: Added a dedicated Web-IO Sync Status sensor. You can now easily track the current sync mode, progress (in %), and the exact active step directly from your dashboard or the device view.
  • Diagnostic Grouping: System-level entities (like the Sync buttons and the new Status sensor) are now properly grouped under the Diagnostic section of the Home Assistant device page to keep your primary controls clean.
  • Unified Notifications: Standardized all backend-generated UI pop-ups to English to bypass global localization limitations in Home Assistant Core.

🐛 Bugfixes

  • Fixed a string termination syntax error in the sensor.py platform.

Version 0.6.3

Choose a tag to compare

@kayl-codes kayl-codes released this 06 May 23:24

✨ Auto-Discovery & Dynamic IP Updates

This release brings major Quality-of-Life improvements to the setup process and long-term maintenance of the integration!

🚀 New Features

  • Smart Auto-Discovery: Setting up the integration is now easier than ever. When adding a new Comexio server, the integration will automatically scan your local network for known Comexio DNS hostnames (like comexio, comexio.local, comexio.fritz.box, etc.). If found, the IP address will be instantly pre-filled in the setup dialog.
  • Dynamic Host / IP Updates: Did your router assign a new IP address to your Comexio server? No problem! You can now easily change the Host/IP address directly via the integration's Configure menu (Settings -> Devices & Services -> Comexio -> Configure) without having to delete and reinstall the integration. The coordinator will seamlessly reconnect in the background.

🐛 Bugfixes & Maintenance

  • Fixed a minor evaluation bug in the config_flow initialization step.
  • Cleaned up the codebase by extracting hardcoded fallback IPs into a centralized constant (DEFAULT_HOST).

Version 0.6.2

Choose a tag to compare

@kayl-codes kayl-codes released this 06 May 22:00

🧹 Code Quality & Maintenance Update

This release focuses entirely on "under the hood" improvements to make the integration more robust and future-proof. There are no functional changes or breaking changes in this update, so your existing setup will continue to work exactly as before!

🛠️ Technical Changes

  • Static Type Hints: Added comprehensive Python type annotations across all entity platforms (sensor, binary_sensor, switch, number, and button).
  • Core Readiness: This aligns the codebase much closer to the strict code quality and typing standards required by the official Home Assistant Core repository.
  • Developer Experience: Significantly improves code readability and IDE autocompletion, laying a solid and clean foundation for future feature development.

feat: Add local brand images for new HA UI

Choose a tag to compare

@kayl-codes kayl-codes released this 05 May 22:24

🎨 Local Brand Images Support

Following the recent architectural changes announced by the Home Assistant team regarding the Brands Proxy API, this release introduces native support for local brand images.

Changes:

  • Added a new brand/ subdirectory inside the integration folder (custom_components/comexio/brand/).
  • Moved icon.png and logo.png into this new directory.

Home Assistant (starting with 2025.3) will now automatically serve these local images directly in the UI, eliminating the need to submit logos to the official external HA brands repository.

Release 0.6.0: Initial HACS Support

Pre-release

Choose a tag to compare

@kayl-codes kayl-codes released this 05 May 01:39

🎉 Initial Public Release

This is the first official release of the custom Comexio integration for Home Assistant, now fully compatible with HACS (Home Assistant Community Store)!

✨ Features & Changes

  • HACS Support: Refactored the entire folder structure (custom_components/comexio/) and added hacs.json to allow easy installation via HACS custom repositories.
  • Security Enhancement: Removed hardcoded default credentials from config_flow.py to prevent accidental credential leaks. Users now start with clean, empty input fields during setup.
  • Code Quality: Enforced Unix (LF) line endings across all Python and JSON files to ensure native compatibility with Home Assistant Core running on Linux.
  • Documentation: Added a comprehensive, bilingual README.md (English & German) including a step-by-step installation guide.

🚀 How to install

Please follow the instructions in the README to add this repository to HACS and install the integration.