Releases: Ecronika/ha_hcl
Releases · Ecronika/ha_hcl
Release list
v0.5.0-beta2
Fix v0.5.0-beta2: Startup Race Condition & Diagnostics
v0.5.0-beta1
[0.5.0-beta1] - 2026-02-04
Added
- Scenario Engine: New
select.hcl_modeentity allows robust switching between modes. - Fixed Scenarios:
- Pro Modes: Focus (5500K/100%), Relax (2700K/40%), Cleaning (4000K/100%).
- Guest Mode: Pauses HCL updates completely, allowing manual control without fighting back.
- Sleep Mode: Turns lights off, but allows manual override.
- Frontend Upgrade:
hcl-curve-cardnow features "Chip" selectors for modes and visualizes the active scenario with a horizontal line in the chart. - Persistence: Active mode is saved and restored after Home Assistant restarts.
v0.4.1
[0.4.1] - 2026-02-04
Changed
- Manual Preview Mode: Dragging points in the graph no longer sends immediate updates to lights. This prevents "Time Paradox" flickering and reduces network traffic.
- Visual Feedback: The "PREVIEW" button now highlights (Yellow/Asterisk) to indicate unsaved changes.
- Documentation: Corrected the description of "Manual Override" behavior in README (it is per-light, not global).
Fixed
- Revert Logic: The "REVERT" button now correctly and immediately resets the curve in the UI to the last saved state.
- UI Consistency: Renamed "VORSCHAU" button to "PREVIEW" to match the rest of the interface.
v0.4.0
[0.4.0] - 2026-02-02
Added
- Interactive Dashboard Card: A fully interactive, touch-friendly Lovelace card (
custom:hcl-curve-card) allowing drag-and-drop adjustment of Brightness and Color Temperature curves. - Visual Editor: Integrated directly into the Dashboard card. Features include:
- Presets: 12-point scientifically inspired profiles (Default, Focus, Relax, Early Bird, Night Owl).
- Validation Engine: Real-time feedback on curve plausibility (e.g., "Night too bright") with visual warning zones.
- Live Preview: "Test" button to temporarily apply the curve to lights without saving.
- Undo/Redo: "Revert" button to discard unsaved changes.
- Smart Onboarding: Detects new installations and automatically creates a "Repair Issue" with a one-click guide to add the dashboard card.
- Localization: Full English and German translations for Configuration, Options, and Onboarding flows.
Changed
- Interpolation Engine: Upgraded to PCHIP (Piecewise Cubic Hermite Interpolating Polynomial) for smoother, overshoot-free transitions between points.
- Performance:
- Smart Traffic Control: Reduced Zigbee/Z-Wave traffic by ~90% via intelligent debouncing and delta-checks.
- Frontend Optimization: Hardware-accelerated rendering and efficient state synchronization to prevent UI lag.
- Theming & Accessibility:
- Light & Dark Mode: Full support for Home Assistant themes with correct contrast handling.
- Accessibility: High-contrast chart elements and full keyboard navigation (Arrow keys) with ARIA support.
Fixed
- Stability: Resolved multiple race conditions during Home Assistant startup and dashboard navigation.
- Memory: Backend logic includes automated zombie-listener cleanup to prevent memory leaks after reload.
- Smart Override: Improved detection of manual light changes to effectively pause HCL when a user intervenes via wall switch or app.
v0.3.0
[0.3.0] - 2026-01-30
"Dynamic & Customizable" Release
This major release empowers users to tailor the HCL curve to their specific daily schedule while improving stability and supporting multiple independent instances.
🌟 Major Features
- User-Customizable Schedule:
- Dynamic Anchors: Define your own
Wake Time,Midday (Dip), andSleep Time. The curve automatically stretches and adapts to your rhythm. - Shift Work Support: Handles schedules that wrap around midnight (e.g., Sleep at 01:00 AM) seamlessly.
- Elastic Intervals: Intelligent math prevents "impossible" curves if times are set too close together.
- Dynamic Anchors: Define your own
- Custom Instance Naming:
- Assign unique names (e.g., "HCL Living Room", "HCL Kids") during setup for easier identification in the Device Registry.
- Refined Default Curve:
- Tuned the default generation logic to match the popular, natural profile of v0.2.1:
- Centered Midday Dip: The configured "Midday" time is now the lowest point of the dip (4000K).
- Simpler Phases: Removed complex "Social Evening" offsets in favor of a smooth, linear wind-down.
- Tuned the default generation logic to match the popular, natural profile of v0.2.1:
🛠️ Improvements & Fixes
- Stability:
- Brightness Ping-Pong: Fixed a rounding issue where brightness would oscillate by ±1%.
- Shared State Isolation: Critical fix ensuring multiple HCL instances do not leak curve data to each other.
- Null Safety: Hardened
OverrideManageragainst startup race conditions.
- Translations: Added full English and German translations for all new configuration options.
- Math: Improved Midnight wrapping logic to effectively handle day crossings.
v0.2.1
[0.2.1] - 2026-01-28
"Architecture & Intelligence" Release
This major release marks the transition from MVP to a production-grade HCL system. It introduces a modular architecture, an intelligent "Manual Override" detection system, and "Instant-On" low-latency performance.
🌟 Major Features
- Smart Override 2.0: The system detects when you manually adjust lights and automatically releases control.
- Divergence Detection: Distinguishes between natural HCL transitions and manual interventions (trajectory analysis).
- Color Support: Now detects manual color changes (e.g., Blue, Red) via XY/RGB divergence check.
- Steep Slope Tolerance: Intelligent logic prevents false positives during the aggressive 12:15 PM HCL dip.
- "Instant-On" Performance:
- Fast-Path HCL: Lights receive their correct HCL settings immediately upon turning on, bypassing the "Color Flash" artifact.
- Zero Latency: Optimization of task scheduling ensures commands hit the network instantly.
- Smart Traffic Control:
- Dynamic Thresholds: Updates are only sent if values change significantly (>100K or >2%), reducing Zigbee/WiFi traffic by ~90%.
- Timezone Awareness: All calculations now strictly follow Local Time to prevent circadian drift.
🏗️ Architecture & Internal
- Modular Codebase: Split monolithic code into specialized logic modules (
hcl_math,light_controller,override_manager). - Resilient Update Loop: Parallel execution (asyncio) ensures one failing light doesn't block others.
- Memory Safety: Automated cache pruning prevents long-term memory leaks.
- Concurrency: Guarded update loops prevent race conditions during rapid state changes.
🐛 Bug Fixes & Polish
- Group Safety: Automatic filtering of Zigbee/Hue groups to prevent "Double Control" conflicts.
- Zombie Cleanup: Strict timer management prevents ghost updates after reloads.
- Capability 2.0: Enhanced auto-detection of light capabilities (XY vs CT) with safe caching.
v0.1.0 - Initial Release
[0.1.0] - 2026-01-24
Added
- Initial release of HCL Lighting integration
- Automatic brightness and color temperature adjustment based on time of day
- Cubic Hermite spline interpolation for smooth, natural transitions
- Support for DIN SPEC 67600 inspired HCL curve with key phases:
- Morning activation (warm-up to 6500K)
- Midday regeneration dip (12:30 PM)
- Afternoon re-activation
- Evening wind-down
- Flexible targeting system:
- Individual entities
- Devices
- Areas
- Groups (with automatic expansion)
- Smart compatibility features:
- Automatic light capability detection
- Extended warm white simulation using XY color for low Kelvin values
- Optional "Smart Transition" mode for incompatible lights
- Configurable brightness limits (min/max)
- Instant HCL application when lights turn on (prevents color flash)
- Periodic updates every 5 minutes with smart delta detection
- State restoration after Home Assistant restart
- Full UI configuration (no YAML required)
- German and English translations
Technical Details
- Update interval: 5 minutes
- Default transition duration: 60 seconds
- Delta thresholds: 2% brightness, 50K color temperature
- Interpolation: Cubic Hermite splines with periodic boundary conditions