Releases: senyo888/humidity-intelligence
🚀 v2.0.3 — Easier Setup, Fewer Headaches
This update is all about making Humidity Intelligence easier to install and get working properly, especially if you’re newer to Home Assistant.
A lot of issues people run into aren’t bugs — they’re usually missing or misconfigured frontend dependencies.
👉 v2.0.3 helps guide you through that so things “just work”.
✨ What’s Improved
🧩 Dependencies Are Now Part of Setup
- Dependencies are now a proper step in the setup process
- You can revisit them anytime after install
- Which makes it easier to track what's missing.
🔗 Quick Links to Install What You Need
- Each dependency now includes a direct link to its GitHub page
- Makes it easy to:
- install via HACS
- fix UI issues quickly
📘 Clearer README Instructions
- Improved guidance for installing via HACS
- Better explanation of required frontend components
- Easier to follow from start to finish
🏷️ Cleaner Badges & Compatibility Info
- “Custom Integration” badge is now clearer
- Home Assistant version support is now:
- automatically synced from
manifest.json - so it’s always accurate
- automatically synced from
⚠️ Upgrade Notes
- ✅ No breaking changes
- ✅ No configuration changes needed
- ✅ Safe to update from any v2.0.x version
This is a quality-of-life update.
🙏 Acknowledgements
Huge respect and thanks to the creators of these projects.
Humidity Intelligence builds on top of their work:
Thomas Loven for card-mod and mod-card
Custom Cards Community for button-card
RomRider for apexcharts-card
These tools are foundational to the Home Assistant ecosystem, and this project would not hit the same level without them.
💡 Final Thought
If your dashboard ever looked “off” or didn’t style correctly…
…it probably wasn’t your fault.
It was missing dependencies.
v2.0.3 helps you catch that early — and fix it fast.
v2.0.2 — Season-Aware Semantics & Full Humidity Reasoning
v2.0.2 — Season-Aware Semantics & Full Humidity Reasoning
This release corrects one of the most important aspects of V2:
Humidity is now evaluated relative to the active seasonal target — not a static assumption.
Everything from badge colour to risk modelling and humidifier behaviour now aligns with that principle.
Core Changes
Target-Relative Humidity States
Humidity badge logic now reflects actual environmental intent:
below_target→ too dryin_target→ stableabove_target→ drifting highhigh_risk→ intervention required
for a more accurate interpretation of seasonal expectations.
Active Season Now Visible
The UI now surfaces the active target profile:
- Winter
- Spring
- Summer
- Autumn
- Custom
You can now see why a target exists.
Season-Aware Risk Modelling
Condensation and mould detection now use:
- seasonal thresholds
- deterministic evaluation
- context-aware interpretation
This removes false positives and improves real-world accuracy.
Full Humidifier Reason Telemetry
Humidifier behaviour is now fully explainable:
- active lane scope
- trigger condition
- live values vs thresholds
- recovery / stop logic
Expanded Runtime Debug Logging
Added structured logs for:
- active target profile selection
- seasonal adjustments
- humidity classification
- humidifier trigger + stop events
This makes tuning and diagnostics significantly easier.
Why This Matters
V2 is not a dashboard — it’s a deterministic control engine.
This release brings the UI, logic, and reasoning into full alignment with that model:
- clearer state interpretation
- fewer misreads
- better trust in system decisions
⚠️ After Updating
To avoid stale UI state:
- Refresh the frontend
- Run:
service: humidity_intelligence.refresh_ui
- Rebuild / re-export dashboards if applicable
If badge colours or targets look unchanged — it’s caching, not the runtime.
Compatibility
- No breaking changes
- Fully compatible with existing V2 configurations
Humidity Intelligence V2.0.1
🚀 Humidity Intelligence V2.0.1
Stability Patch — Deterministic Telemetry, Safer Aggregation, Cleaner Runtime
This release focuses on correctness, resilience, and configurability across the full runtime.
V2 introduced a deterministic environmental control engine.
V2.0.1 stabilises real-world edge cases—mixed units, imperfect sensor data, partial configs, and evolving setups.
🧠 Core Improvements
🌡️ Temperature Normalisation (Critical Fix)
- All internal temperature logic is now canonically processed in Celsius
- Fixes incorrect behaviour in:
- averages
- spreads
- deltas
- threshold comparisons
- Mixed-unit environments (°C + °F) now behave predictably and safely
📊 Robust Aggregate Handling
- IAQ / AQ aggregation now:
- ignores invalid states:
unknown,unavailable, non-numeric - only returns
unknownwhen no valid inputs exist
- ignores invalid states:
- Prevents:
- false negatives
- broken UI states
- unstable automation triggers
🔍 Full Transparency Debug Logging
- Aggregation exclusions now log explicit reasons:
unknownunavailablenon_numericunit_mismatch
⚠️ Configuration Safety & Diagnostics
- Duplicate zone mapping detection added:
- setup + options flow warnings
- dedicated diagnostics sensor state
- Prevents silent misconfiguration and overlapping control logic
⚙️ New Runtime Mode
🟡 alert_only_mode
A new operating mode for users without output hardware.
- Disables:
- automation/control lanes
- Keeps:
- monitoring
- alerts
- UI and runtime adapt accordingly
🧩 UI & UX Refinements
🧼 Intelligent UI Pruning
- Unconfigured elements are now fully removed, not just hidden
- Applies to:
- outputs
- controls
- alert-only scenarios
🛠️ Alert-Only UI Fixes
- Fixed edge case with leftover
conditionalblocks - Prevents broken or ghost UI elements after pruning
🧾 Accurate “Current Air Control” Reasoning
- In
alert_only_mode, the system:- reports monitoring/alert context clearly
- no longer implies missing hardware
🔄 Live UI Regeneration
- Changing
alert_only_modenow:- triggers UI refresh/export regeneration
- sends a notification
🔁 Configuration Flow Expansion
✏️ Post-Configuration Editing
- Users can now:
- revisit skipped lanes
- add/edit alerts at any time
🔁 Dynamic Lane Rehydration
- Previously removed lanes can now be re-added cleanly:
- humidifier lanes
- AQ lanes
📜 Telemetry Change Logging
- Lane changes now log explicit actions:
addedupdatedremoved
🚨 Alert System Improvements
💡 Fully Optional Alert Targets
- Light entities are now optional across the entire stack:
- config
- options
- services
- runtime
Alerts still trigger—even with no flash outputs configured
🔐 Hardening & Validation
- Strengthened service validation:
- safe filename checks
- URL/path validation
- layout constraints
- Flash parameters are now bounded and controlled
- Diagnostics:
- sensitive attributes are now redacted
🧭 What This Means
This release strengthens:
- predictability (unit consistency)
- resilience (dirty data handling)
- transparency (debug visibility)
- flexibility (config + runtime modes)
Designed for real-world Home Assistant environments, not perfect lab setups.
📦 Upgrade Notes
- Safe to upgrade from V2.0.0
- No breaking changes
- Existing installs automatically benefit from:
- improved aggregation
- UI pruning
- diagnostics
- validation
⚠️ Migration notes
alert_only_modeis now available in Global Gates (setup and options). Disable it later to restore normal control entities/lane behavior.- new computed sensor:
HI Zone Mapping Duplicates(hi_<entry_id>_zone_mapping_duplicates) exposes duplicate zone mapping status and details. - generated V2 cards now prune unresolved optional control/output entities instead of leaving stale references.
- if your dashboard uses Manual cards, re-copy/paste the latest exported YAML after changing
alert_only_modeso the UI and reason panel match the selected mode.
Humidity Intelligence v2.0.0 — Deterministic Runtime Intelligence Engine
Deterministic Runtime Engine + Config UX + Canonical UI
Humidity Intelligence has been upgraded from v1 to a fully deterministic V2 runtime engine with a first-class configuration and post-configuration experience.
This release formalises the architectural shift from template logic to structured environmental runtime control.
🧠 Runtime Architecture
Deterministic Lane Enforcement
The control engine now resolves lanes in strict priority order:
- CO Emergency
- Alert Lane
- Zone 1 Stabilisation
- Zone 2 Stabilisation
- Air Quality
- Only one control lane drives outputs per evaluation cycle.
- Humidifier lanes remain independent of zone/AQ ordering.
- Global gates are now integrated directly into runtime state resolution.
- Current Air Control UI reflects true runtime state (chips + border sync).
This eliminates race conditions, trigger stacking, and “last automation wins” behaviour.
⚙️ Configuration & User Experience
Expanded configuration flow and options flow:
- Telemetry inputs (humidity, temperature, IAQ, PM2.5, CO₂, CO, VOC)
- Global gates (time, presence, alarm states)
- Zone configuration
- Humidifier configuration
- Air Quality configuration
- Alert & CO triggers
- Temperature slope settings
Safety Guardrails
- Threshold validation for alert/CO triggers
- Fan stage normalization (
auto / 33 / 66 / 100) - Reduced misconfiguration risk through runtime validation
Engine & UI Improvements
- Dynamic entity mapping refined
- Removed hardcoded placeholder UI behaviour
- Runtime state now drives UI truth consistently
🧪 Stability & Regression Coverage
-
Added regression coverage for:
- Lane ordering enforcement
- Runtime state resolution
- Card render/mapping integrity
This release focuses on predictability, stability, and architectural correctness.
🎨 Branding & Documentation
- Integrated canonical header + logo directly into README
- Normalised branding assets for consistent HACS-friendly sizing
- Refined onboarding documentation for V2 configuration flow
- Expanded migration guidance
🔄 Migration Notice (Important)
Before installing or running V2:
-
Remove v1 backend templates/packages:
/config/custom_templates/humidity_intelligence.jinja/config/packages/humidity_intelligence.yaml
-
Remove any legacy v1 YAML dashboards if copied manually.
-
Restart Home Assistant.
-
Install V2 via HACS as an Integration.
UI Compatibility
The classic v1 UI skin remains supported as a presentation layer on top of the V2 runtime engine.
📦 Versioning Note
V2 represents a structural upgrade and should be treated as a major version transition from v1.
v1.1.2 — HACS submission (Packaging + Docs)
This release packages the Advanced Humidity Intelligence backend for smooth installation and updates via HACS (Template).
What’s included
HACS Template support (hacs.json + root .jinja)
Preserved stable entity names for dashboards
humidity_constellation_series passthrough sensor for ApexCharts
Lovelace UI example provided separately (dropdown-mod / Constellation compatible)
Documentation improvements and clearer install/migration notes
Notes
Backend logic remains aligned with the v1.1.0 Advanced Intelligence feature set.
Users must map their own humidity + temperature sensors in the config section.
No vendor integrations assumed.
Advanced Humidity Intelligence
🚀 v1.1.0 — Advanced Intelligence Edition
This release locks in the advanced analysis core of Humidity-Intelligence — the part of the project that turns raw humidity numbers into actionable insight.
v1.1.0 represents the system I actually run at home, and the feature set people most often ask about: dew point awareness, condensation risk, mould scoring, and clear “what should I do now?” guidance.
✨ What’s new in v1.1.0
Advanced environmental intelligence
- Per-room dew point calculation (Magnus formula)
- Condensation spread (temperature vs dew point) per room
- Multi-factor mould risk scoring (humidity + condensation proxy)
- Worst-room detection for both condensation and mould
Actionable guidance
- Plain-language ventilation suggestions based on current conditions
- Seasonal comfort band logic (UK-friendly defaults)
- Clear “too dry / comfortable / too humid” states
House-level awareness
- Dynamic house average humidity
- 7-day drift against historical mean
- Binary danger sensors for UI badges, alerts, and automations
UI-ready backend
- Public, stable entity names designed for dashboards
humidity_constellation_seriessensor for ApexCharts- Integrated support for the dropdown-mod / Constellation UI
🧠 Design philosophy
This release deliberately prioritises clarity over cleverness.
Instead of just reporting values, the system answers:
- Where is the problem?
- How serious is it?
- What should I do right now?
Everything in v1.1.0 exists to support those questions.
🔒 Versioning note
-
v1.0.2 remains available as a stable, simpler baseline.
-
v1.1.0 is the recommended release for users who want full environmental insight.
-
Future v1.2.x releases will build on this advanced backend while introducing:
- dynamic room mapping for all per-room metrics
- tighter coupling to the new UI patterns
⚠️ Breaking / important notes
- Users must map their own humidity and temperature sensors to the provided template entities.
- No vendor-specific integrations are assumed.
- This release is backend-first; UI examples are provided separately.
🙌 Thanks
Thanks to everyone who’s contributed ideas, testing, and discussion around this project.
Special thanks to @coltondick for the UI direction and dynamic configuration work that will shape the next development cycle.
Humidity Intelligence v1.0.0
Humidity Intelligence — v1.0.0
This is the first public release of Humidity Intelligence — a complete, drop-in humidity awareness system for Home Assistant.
Instead of a single humidity number, Humidity Intelligence gives you context:
- what’s happening right now
- which room is becoming risky
- whether humidity is trending up or down
- and when it’s time to ventilate — or relax
🚀 What’s included
✔️ Smart badge row
- Humidity — live house average with dynamic glow
- Condensation — worst-room risk (Watch / Risk / Danger)
- Mould — worst-room risk (Watch / Risk / Danger)
- Drift — 7-day change vs historical mean
✔️ Comfort Band panel
-
Target humidity range (editable)
-
Clear comfort guidance:
- too dry → humidify / reduce extraction
- ideal → maintain steady
- too high → ventilate 10–20 minutes
-
Room call-outs for highest condensation and mould risk
✔️ Drop-down “Humidity Constellation” chart
- 24-hour multi-room humidity chart
- Smooth group-by averaging
- Shaded target band overlay
- Toggled using the floating chevron
✔️ Backend intelligence (no automations needed)
- Average humidity
- 7-day mean and drift
- Per-room risk scoring
- Danger flags to drive UI highlights
🛠️ Installation
Instructions are fully documented in the README:
👉 Packages setup
👉 Dependencies via HACS
👉 Card installation
👉 Entity mapping and customisation
Everything is designed to be beginner-friendly.
🔮 Roadmap
Planned enhancements include:
- per-room drill-down view
- seasonal comfort presets
- combined temperature + humidity overview
- HACS distribution support
Community suggestions are welcome.
🙏 Thanks
Thanks to everyone testing, giving feedback and watching this evolve.
If you find Humidity Intelligence useful:
⭐ Star the repository
🖼️ Share a screenshot
🐞 Report issues or ideas in Discussions / Issues