Profile
Back to NewsBack
GitHub Trending 29 min
Reader Mode
senyo888/humidity-intelligence: Deterministic environmental stabilisation engine for Home Assistant. Stabilises humidity, dew point, air quality, and seasonal comfort with explainable runtime decisions.

senyo888/humidity-intelligence: Deterministic environmental stabilisation engine for Home Assistant. Stabilises humidity, dew point, air quality, and seasonal comfort with explainable runtime decisions.

9 hours ago

!Humidity Intelligence banner

Humidity Intelligence

Domestic Environmental Stabilisation Engine for Home Assistant

Latest Release</a> Project Site</a> HACS — Available in HACS</a> Manifest Version</a> License</a> Sponsor</a> Star Humidity Intelligence</a>

Contents


TL;DR

Humidity Intelligence is a domestic environmental control engine for Home Assistant. It watches the conditions inside a home, decides which environmental problem needs attention first, and explains that decision in plain Home Assistant entities and dashboard text.

It reads humidity, temperature, air quality, condensation, mould-risk, carbon monoxide (CO), presence, time, pause, and override signals, then resolves one explainable control decision per evaluation cycle.

It gives you:

  • season-aware humidity targets
  • deterministic lane priority
  • safe degraded behavior when inputs are missing
  • exported Lovelace Manual-card YAML backed by runtime truth
  • native Home Assistant diagnostics for support and triage
  • services for dashboard export, self-check, diagnostics, pause/resume, and release validation
Current published Stable: v2.1.0, released on 12 October 2026. Stable source in preparation: v2.1.1, not yet published; see the dashboard, trend and support fixes. V2.1 is led by Stability Score, with clearer badge explanations and history, optional output monitoring, reusable monitoring meanings and a simpler status row. Check the version offered in HACS and refresh its repository information if an older version is shown. See Release Notes for V2.1 scope and upgrade steps.

Optional HA Lab evidence is advisory and does not block promotion, tagging, or publication. Canonical tests, review, CI, version governance, and explicit maintainer decisions remain the release authority.

For publication status, installed packages, and release tags, use GitHub Releases and HACS as the user-facing record.


V2.1 — Stability Score

**Stability Score shows how consistently your home has stayed near its environmental targets over the past 72 hours.** It brings together humidity, steadiness, room balance, moisture risk, configured air quality and recovery. It observes conditions without changing HI’s control decisions.

Stability Score 92 Excellent, with System Armed, Manual Auto and Outputs 1/4 on; output monitoring is incomplete.

*Stability Score 92, classified Excellent. Output monitoring remains incomplete, as shown separately below the score.*

Tap the badge for contributions, individual deductions, their total and the calculation: 100 − total deductions = calculated score. The displayed score also reflects backend rounding and safety ceilings: 64.91 rounds to 65; a ceiling of 91 does not raise it. Missing evidence can limit or prevent a score.

Hold the existing badge, or Space while focused, to show Disabled with a distinct violet/indigo glow and LEDs; repeat to restore it. Your choice follows your account and HI entry across sessions. Tap details, calculation, evidence, history and control continue; no extra switch is needed.

The 72-hour score, recent movement and recorded history describe different things. The arc compares the current displayed score with an actual reference from within 60 minutes; its colour shows the latest update. Score history retains ten-minute points and genuine gaps. Restart/reload starts collection again. The Stability guide explains coverage, deductions and ceilings; the calculation contract records the exact rules.

V2.1 includes opt-in output observation, adding read-only diagnostic context and an optional adaptive Outputs view. The adaptive Outputs panel uses an HVAC icon and a compact attention summary; full evidence and existing native controls are available on demand.


Project Site and Search Discovery

The project site introduces HI for search and discovery. Installation, configuration, release notes, diagnostics and runtime guidance remain in this repository and the Wiki; reviewed examples live in ui-gallery/.


Wiki and Support Manual

The Wiki is the practical support manual for setup, services, diagnostics, generated dashboards, and user-safe release checks. It exists early here so users do not have to dig through the README before finding the longer guides.

Useful Wiki pages:

The Wiki is support guidance. Runtime behavior, entity semantics, service schemas, generated dashboard logic, migration requirements, and release state stay owned by the repository source, release notes, GitHub releases, and custom_components/humidity_intelligence/manifest.json.

What Is Humidity Intelligence

Humidity Intelligence is designed to help stabilise the environment inside a home using real sensor telemetry and carefully coordinated smart-home control.

Most Home Assistant dashboards show readings. Humidity Intelligence turns those readings into a single, explainable control decision. It watches humidity, temperature, temperature drift, air quality, condensation risk, mould risk, and seasonal comfort patterns, then uses configured devices to guide the home back toward a more stable state.

With configured sensors, Humidity Intelligence can control devices such as:

  • air purifiers
  • dehumidifiers
  • extractor fans
  • humidifiers
  • ventilation systems
  • smart lighting alerts
The system works as a coordinated environmental control layer for everyday household conditions. For example:
  • rising bathroom humidity can trigger extractor and ventilation behaviour before condensation settles
  • poor air quality from cooking or occupancy can activate configured purification or ventilation zones
  • unstable overnight humidity can be corrected gradually to improve comfort and reduce moisture stress
  • dangerous conditions such as mould-risk humidity or carbon monoxide escalation can trigger higher-priority safety responses
Humidity Intelligence is intentionally deterministic. Decisions follow visible telemetry, environmental rules and priority logic. The aim is lasting environmental stability, comfort and property protection.

You can see why HI is acting, what triggered the response and which zone is active. Seasonal context, comfort targets, alerts and backend reasons stay visible in the UI.

V2 UI Example

See the selected response, environmental conditions and reason together in Current Air Control.

Normal monitoring with environmental readings and Stability score Air-quality response with the selected lane and reason

Earlier candidate captures: normal monitoring · air-quality response. The pictured Autumn 47–58% band and earlier badge layout predate the current 50–60% profile.

Conditions and response

The reason panel explains the observed condition, selected response and any operating gate, so you can see why HI is acting or waiting.

Humidity alert resolved to Zone 2 Automatic control waiting for the operating time gate

Earlier candidate captures: humidity alert · operating time gate. Captured readings and controls are retained; current targets and card layout may differ.

More UI Examples

Browse more operating states and choose a layout in the UI Gallery.


Support Humidity Intelligence

Enjoying Humidity Intelligence?

If you're finding Humidity Intelligence useful, insightful, or just interesting to explore, consider giving the repository a star.

It helps others discover the project, supports ongoing development, and shows that this kind of deterministic, explainable approach to Home Assistant has community value.

⭐ Star Humidity Intelligence on GitHub

Optional sponsorship is also available through GitHub Sponsors:

Support the project on GitHub Sponsors

Sponsorship is optional and separate from support SLAs, private support obligations, feature guarantees, release commitments, and Home Assistant / HACS behavior.


Why Environmental Stability Matters

Homes rarely become damp, dry, stale, or uncomfortable because of one isolated reading. Problems usually build as patterns: a bathroom that stays wet too long, a bedroom that drifts away from the rest of the house, a winter profile that needs a lower humidity target, or an air-quality spike that lingers after cooking.

Humidity Intelligence is built for those patterns. It treats environmental stability as the goal rather than a single perfect number.

The important signal goes beyond "humidity is high" or "humidity is low." It is the shape of the problem:

  • drift
  • imbalance
  • duration
  • recurring spread patterns
That is where environmental control becomes more personal. A house can look fine in the daytime, then become uncomfortable in the evening when real life happens: dinner is cooked, showers run, baths are taken, laundry dries, doors close, bedrooms cool, and every person in the home keeps adding moisture simply by breathing. By the time everyone is trying to sleep, the air can feel heavier, bedding can feel clammy, windows can start to mist, and the room can feel unstable even if the dashboard is only showing a number.

High humidity can make sleep feel broken and heavy. It can also help condensation settle on cold surfaces, support mould and dust-mite conditions, damage finishes, and stress timber or other moisture-sensitive materials over repeated cycles.

Low humidity is quieter, but it can still be uncomfortable. Dry winter air can mean irritated airways, dry throat, coughing, itchy skin, gritty eyes, and natural materials that shrink, creak, or crack as they repeatedly dry out.

Humidity Intelligence is designed for that domestic rhythm. It can see rooms rising or falling away from the active seasonal target, explain the condition, and use configured ventilation, dehumidification, or humidification before short-lived discomfort becomes repeated instability.

For the fuller explanation, including property impact, health comfort, sleep, night-time humidity sources, dry-air effects, plant health, and research context, see the Wiki guide: Why Environmental Stability Matters.


Air Quality and Environmental Stability

Humidity Intelligence is broader than humidity alone. It contributes to environmental stability by surfacing indoor air-quality signals from configured Home Assistant entities and, where users have configured suitable outputs, using available devices such as air purifiers or ventilation fans to respond to poor air-quality conditions.

Air-quality support is telemetry-driven. Humidity Intelligence reflects configured sensors, entities, thresholds, and output devices; the UI and reason panel stay aligned with backend/entity truth.

In V2.1, Stability Score puts those conditions in context over 72 hours. It helps you spot persistent imbalance, repeated moisture risk and slow recovery that one current reading can miss. Configured air-quality evidence contributes alongside humidity and moisture-risk evidence; the detail view shows deductions and coverage so you can see what deserves attention. A high score still leaves individual alerts, missing evidence and output-monitoring gaps visible. See the Stability guide.

The wider air-quality (AQ) telemetry family in the current configuration flow includes indoor air quality (IAQ), fine particulate matter (PM2.5), volatile organic compounds (VOCs), carbon dioxide (CO2), and carbon monoxide (CO), depending on what the user configures.

Where an AQ lane is configured, it remains below safety and moisture-risk alert lanes in the deterministic priority order. Carbon monoxide emergency handling remains the highest-priority runtime lane, while normal AQ responses are deferred when higher-priority alert or zone lanes are active.

Carbon-monoxide safety deserves primary, certified protection. Humidity Intelligence can reflect configured CO telemetry as an additional Home Assistant awareness layer, while certified carbon-monoxide alarms remain the primary detection and alerting system.

Detailed AQ and CO guidance lives in the support manual:


Season-Aware Environmental Control

56% can mean different things.

The same humidity reading can mean different things in January and July. A home that feels stable in summer may be too damp for a cold winter envelope, while an aggressive winter target may be unnecessarily dry in warmer months.

Humidity Intelligence evaluates humidity relative to the active target profile:

  • Winter defaults to a lower comfort band than summer
  • Spring uses 47–58%; autumn uses 50–60% with a 64% high-risk threshold
  • Custom target profiles are supported when configured
Interpretation now follows target-relative states:
  • below_target -> dry for the active profile
  • in_target -> stable band for the active profile
  • above_target -> elevated for the active profile
  • high_risk -> at or above the active profile's danger threshold
For Autumn, 50–60% is in target; above 60% is above target, and 64% or higher meets the humidity-danger threshold. These are HI profile boundaries, not universal safe cutoffs. Custom 50–60% derives a different danger threshold of 67.5%; see profile settings.

Temperature comfort uses the same source-of-truth approach for display, so dashboard colours and chips follow backend comfort sensors rather than card-only assumptions:

  • Automatic mode resolves the active seasonal comfort band and warm boundary
  • Custom mode allows a fixed lower/upper comfort band and derives the warm boundary as custom high + 1.0°C
  • Temperature chips use HI comfort sensors, not card-only thresholds
Default temperature comfort bands:
  • Winter: blue below 20°C, green 20-21°C, yellow 21-21.5°C, red above 21.5°C
  • Spring: blue below 20.5°C, green 20.5-22°C, yellow 22-23.5°C, red above 23.5°C
  • Summer: blue below 21°C, green 21-24°C, yellow 24-26.5°C, red above 26.5°C
  • Autumn: blue below 20°C, green 20-21.5°C, yellow 21.5-23°C, red above 23°C

Design Philosophy

Humidity Intelligence is built around a simple premise: a home works better with one visible environmental controller than with a loose pile of automations competing for control. That controller should read configured telemetry, apply a stable priority hierarchy, and resolve one explainable outcome per evaluation cycle.

The engine is deterministic by design. It avoids guesses and hidden preferences. It evaluates season-aware humidity targets, safety gates, alert conditions, zone demand, air quality state, and humidifier needs through explicit rules so runtime behavior can be inspected, predicted, and explained.

The UI is a truth surface. Current Air Control, chips, diagnostics, and exported cards reflect backend telemetry, entity mappings, runtime mode, and degraded-state reasons. If an input is missing or an output is unavailable, Humidity Intelligence shows that condition and falls back safely without pretending the home is stable.

Stability Score applies the same explainability to environmental patterns. Its backend-owned score, deductions and evidence coverage help you judge consistency and recovery over time. It remains observational: lane selection and output control follow their existing rules, and incomplete evidence is shown explicitly.

The architectural preference is calm regulation over automation chaos:

  • one selected ventilation lane per evaluation cycle
  • CO emergency and alert hierarchy before comfort correction
  • humidifier lanes kept independent from ventilation resolution
  • global gates and overrides visible when they suppress control
  • exported Manual-card YAML aligned with backend truth only
  • safe degraded behavior before blind output writes
The result should feel steady in a domestic environment: readable, conservative, and accountable when conditions change.

Architecture Overview

Humidity Intelligence operates across three defined layers. Each layer has a clear job: turn readings into meaning, decide which lane has authority, and show the result without inventing extra logic.

1) Intelligence Layer - Environmental Physics

This layer turns raw telemetry into structured environmental signals:

  • dynamic house average humidity
  • 7-day mean and drift tracking, using the canonical sensor.house_humidity_mean_7d statistics dependency
  • Magnus dew point calculation
  • condensation spread (temperature - dew_point)
  • mould risk normalization
  • worst-room detection
  • binary danger states
  • observational Stability Score, combining valid backend samples over 72 hours
with explained deductions, evidence coverage and safety ceilings

New V2 installs also need the House Humidity Mean 7d Statistics helper for drift; an existing helper can be retained. Until real history is ready, drift remains not ready or unavailable.

This layer models risk and environmental consistency. Stability Score supplies context for review; it is never an input to lane selection or output writes. Control happens in the deterministic priority engine.

2) Control Layer - Deterministic Priority Engine

This layer decides which single lane gets control authority during the current evaluation cycle.

Canonical runtime order:

  1. CO Emergency: highest-priority safety lane
  2. Humidity Danger
  3. Mould Danger
  4. Mould Risk
  5. Condensation Danger
  6. Condensation Risk
  7. Zone 1
  8. Zone 2
  9. Air Quality
  10. Normal
Alert lanes resolve the originating sensor to a configured room/zone, then use that zone's boost fan level as the single deterministic control path. Once an actionable alert is selected, HI holds that boost path until the originating alert clears unless a higher-priority alert appears.

If an alert candidate cannot be mapped to a safe zone output, HI skips blind boosts. The reason panel reports the unmapped/degraded alert and automation continues to the next eligible priority.

Built-in humidity, mould, and condensation risk states are treated as alert candidates when they can be traced back to telemetry. This keeps zone boost behavior and the companion alert chip aligned even if a matching explicit alert row has not been added.

Humidity Danger alerts follow the active target profile's high-risk threshold at runtime. Legacy saved humidity threshold values are ignored for that alert type, so seasonal/custom profile changes immediately affect alert evaluation.

Custom trigger entities and custom binary sensors are not part of the alert flow. Optional alert configuration is for enabling HI alert handling and adding visual indicator rules only; the alert source remains HI's deterministic intelligence layer.

Boost settings should normally be higher than the standard zone fan level. Zone control handles normal correction; boost is reserved for danger escalation such as condensation, mould risk, or humidity danger.

Humidifier lanes operate independently where safe.

Manual override hands ordinary output ownership to the user or external automation. HI cancels pending non-CO control work and leaves existing fan, switch, humidifier, and visual-alert output states unchanged. Its mode and reason surfaces report that handover directly, while humidifier diagnostics retain observed state as manual_hold without claiming HI selected it. CO emergency remains the only exception and can still force its configured ventilation outputs to 100%. Turning Manual off triggers a fresh deterministic evaluation and restores normal AUTO ownership. This does not add temporary manual operation while AUTO remains enabled.

Humidifier demand and output truth are intentionally separate. The existing downstairs/upstairs humidifier-active helpers mean HI is requesting humidification after global, pause, presence/time, telemetry, manual-override, and alert gates have been applied. Humidifier-output isolation is evaluated after demand, so testing can show truthful requested demand while suppressing service calls.

For each configured humidifier, fan, or switch output, HI compares aggregated lane demand with the Home Assistant-observed state. An off output during active demand receives one immediate turn-on request and at most two delayed retries; an output still mismatched after the final confirmation window is fault-latched instead of being hammered. Output state events request coalesced reevaluation, and the normal engine interval is the periodic safety net. Shared outputs use OR ownership, so one lane recovering cannot turn off an output still demanded by another lane.

Using a blocking Home Assistant service call would only wait for the service handler; it would not confirm device actuation or moisture output. HI therefore keeps dispatch non-blocking and establishes truth from later observed state with bounded retries.

NORMAL remains a valid ventilation mode while humidifier demand is active: it means no ventilation lane won the deterministic ventilation hierarchy. V2 chips report humidifier Requested, On, Idle, Isolated, Retrying, Stopping, Unknown, Degraded, or Fault truth; reason text and diagnostics retain the full backend reconciliation detail. Chip label On is the concise presentation of backend output_on. A generic output on state—and any optional vendor/platform action attribute—is Home Assistant evidence only and does not prove physical moisture production.

Each evaluation cycle:

  1. global gates evaluated
  2. lanes resolved top-down
  3. first valid lane wins
  4. lower lanes remain blocked
Only one comfort/control lane drives outputs at a time.

This keeps control ownership explicit and prevents lower-priority comfort responses from fighting safety or risk responses.

3) Presentation Layer - Clear, Truthful Status

This layer explains what HI is doing:

  • the selected ventilation response
  • any gate, pause, or override limiting control
  • the reason for the decision
  • humidifier demand and the output state Home Assistant can observe
  • Stability Score, its evidence and deductions, recent movement and recorded history
HI decides; the cards explain that decision.

The Air Control Reason entity supplies the final wording shown by V2 cards. The cards display that backend-authored text instead of rebuilding control logic in the dashboard. When the text is missing or the card uses an older format, it falls back to the existing reason and ultimately shows Reason unavailable. Older cards and existing integrations can continue using the original reason state and supporting details. The technical format and fallback rules are documented in ARCHITECTURE.md.

The selected ventilation response, humidifier demand, and output seen by Home Assistant are reported separately. A humidifier chip labelled Requested confirms demand only. HI reports separately whether it sent a command and whether Home Assistant sees the output as on. Entity state alone leaves physical moisture unverified. If information is missing or unmatched in the setup, the UI shows Unknown, Unavailable, or Degraded instead of an all-clear.

Red control-row styling is reserved for a selected alert or CO response. Other environmental warnings remain visible in the reason text without being presented as the active control response.

Public Architecture Contract

The tracked public architecture contract lives in ARCHITECTURE.md. It records the durable runtime, UI-truth, Home Assistant compatibility, and release authority rules used for public review.

Maintainer-only planning notes may exist locally, but public contributor correctness must be reviewable from tracked repository files.


Current Release Highlights

V2.1 improvements — published Stable v2.1.0.

  • Stability Score: an explained view of 72-hour environmental consistency,
with deductions, evidence coverage, safety ceilings and recorded history.
  • Clearer badge details: Humidity, Condensation, Mould and 7 Day Drift explain
their readings and available history; compact Ready, Zone and AQ badges keep their detail and history routes. See badge interactions.
  • Recent movement and display choice: the Stability arc compares actual scores
within 60 minutes, while colour reflects the latest update. Hold the badge to save or restore its display preference; collection, details and control continue.
  • Optional output monitoring: the Outputs panel shows reported conditions and
monitoring gaps, with reusable custom meanings for configured rules. Home Assistant state and command evidence leave physical device performance unverified.
  • Simpler control status and configuration: a compact Current Air Control row,
clearer output detail, and Save/Cancel handling for monitoring configuration.
  • Autumn refinement: the built-in target band is 50–60%, with humidity danger
still at 64%. Other seasons and custom profile rules retain their existing behavior.

Published v2.1.0 uses UI revision 9 in both V2 layouts, superseding revisions 1–8. Run refresh_ui, export with view_cards or dump_cards, replace the complete YAML in older saved cards, then refresh the frontend. Revision-9 cards from v2.1.0-rc.1 remain compatible; the final version bump does not require another card refresh. The V1 Mobile Drift correction also requires replacement YAML; that layout has no revision indicator. An authorized package update requires a full Home Assistant restart. Restart/reload starts Stability history collection again. See HACS and Updates for package, card and rollback steps.


Installation

Option A - HACS (Recommended)

Requires Home Assistant 2026.5.1 or newer.

Open your Home Assistant instance and open Humidity Intelligence inside the Home Assistant Community Store.</a>

The button opens Humidity Intelligence in HACS; it does not install automatically. Select Download in HACS, then continue with the restart and integration setup steps below.

The repository uses the conventional HACS integration layout under custom_components/humidity_intelligence/. HACS installs that package directory only; repository documentation, tests, scripts, site files, legacy material, and UI Gallery examples are not included in the Home Assistant integration payload.

  1. Open HACS in Home Assistant.
  2. Search for Humidity Intelligence, filtering by Integration if needed.
  3. Open the repository entry and select Download.
  4. Restart Home Assistant.
  5. Go to Settings -> Devices & services -> Add integration.
  6. Search for Humidity Intelligence and complete setup.

Option B - Manual package upgrade

Keep rollback copies outside custom_components. Another directory declaring the HI domain can interfere with integration discovery. After startup, verify Home Assistant's loaded integration version and confirm entities and services are available. Use the loader identity fields in native diagnostics; HI's own disk-backed version field alone is insufficient.

Use the exact contents of custom_components/humidity_intelligence/ from the chosen release or candidate and replace the complete existing directory at:

/config/custom_components/humidity_intelligence/

Follow the manual package update guide for backup, full-restart and rollback steps.


Dashboard add-ons

Humidity Intelligence runs fully at the backend level. The richer dashboard experience depends on a small set of frontend cards.

You can complete setup without them, but if you want the full visual system (badges, charts, reason panel, mobile/tablet layouts), these are strongly recommended.

Core Recommendation

Install via HACS before anything else.

Optional frontend cards

The following projects power the visual layer of Humidity Intelligence:

Advanced styling engine used for dynamic visuals, glow states, and conditional UI rendering. Core building block for badges, status indicators, and interactive UI elements. Structural wrapper used to apply styling cleanly across complex card layouts. Powers historical graphs, trend analysis, and environmental visualisation.

Installation Notes

  • All frontend dependencies can be installed via HACS (Frontend section).
  • After installing, hard refresh your browser or use a new session to avoid caching issues.
  • If you skip these, the system still runs, but UI elements may not render correctly.

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 give the dashboard layer its polish.

Suggested Setup Approach

If you are unsure:

  1. Install HACS
  2. Install the frontend dependencies above
  3. Continue with the configuration flow
Or:
  • Skip for now
  • Complete backend setup first
  • Add the UI layer afterwards

Configuration Method

Recommended: staged setup. Add a small core sensor set first, complete setup, save the integration, then return through Options to add the remaining sensors, rooms, zones, air-quality inputs, humidifiers, alerts, and dashboard exports. This gives you a saved baseline before the configuration grows.

Advanced: full setup. If your sensor layout is already mapped, add every sensor during first setup and continue through the whole flow in one pass.


Migration Guide - v1 to v2

V1 was template-based. V2 is a structured integration with configuration flow and runtime validation.

Migration is required. Follow the preserved V1-to-V2 migration guide for HACS setup, V1 cleanup, the drift helper and dashboard checks.


Full Configuration Flow

First install follows a staged setup path. Essentials stay visible first; expert controls sit inside live Show advanced tuning sections so normal setup stays approachable.

Setup shape:

  1. Welcome and setup strategy
  2. Dashboard add-ons
  3. Operating schedule & limits
  4. Sensors
  5. Temperature change settings
  6. Zones
  7. Humidifiers
  8. Air Quality
  9. Alerts and CO Emergency
  10. UI Cards
Key setup guidance:
  • add humidity and temperature telemetry for active levels
  • use the first-run welcome page as the high-level setup strategy: save the smallest
useful initial sensor set, then return through Options for detailed tuning
  • assign telemetry to stable, readable rooms and levels
  • review any Home Assistant Area/Label setup suggestions before saving them as
explicit HI room or level values; Area and Label metadata is advisory only
  • let HI calculate temperature trends from configured temperature sensors unless you
already have trusted slope entities; if the collapsed Advanced source list submits empty, HI falls back to the configured/saved temperature sources instead of inventing a hidden source or re-rendering a confusing validation error
  • optionally set Level 1 / Level 2 display labels from Zones before Zone 1 / Zone 2 setup; labels are display-only and fall back to Level 1 / Level 2
  • keep zone labels and output mappings clear enough for reason text and diagnostics
  • use recommended thresholds first, then tune from options after observing behavior
  • keep AQ and CO telemetry grounded in configured Home Assistant entities
  • use zone boost levels for alert escalation where alerts resolve to a mapped zone
  • use the generated dashboard export after setup or option changes
The default first UI export is v2_tablet. show_output_entity_details is display-only and controls whether generated cards include the expandable output details panel. Level display labels are also display-only. Changing them updates generated-card/config-flow/support text after options are saved and cards are refreshed. Entity IDs, helpers, levels, zones, outputs, and runtime lanes keep their existing identities.

Home Assistant Area and Label setup assistance is read-only. HI may suggest room or level defaults from registry metadata, and diagnostics may report sanitized mismatch counts, but runtime control keeps using saved HI telemetry, zone, AQ, humidifier, and alert mappings.

Detailed manual:


UI Gallery

The browseable UI Gallery lives in the Wiki:

Canonical YAML, preview assets, and contribution rules remain versioned in this repository: The Wiki is a visual navigation layer. Repository files remain the source of truth for dashboard YAML, generated-card compatibility, entity semantics, and contribution review.

For new gallery submissions, open a repository pull request. Do not treat Wiki-only YAML as canonical install guidance.


Post-Configuration Workflow

When modifying options:

  1. change one section at a time
  2. choose Save changes on the main settings menu to persist the staged changes
  3. run humidity_intelligence.refresh_ui or export cards where the current release guidance calls for it
  4. verify Current Air Control mode, gate chips, reason text, and output behavior
Sensor Keep sensor changes and monitoring-rule confirmation stage edits only. Keep editing on the close confirmation returns to the originating sensor form with entered values retained. Close without saving abandons the unsaved session. Home Assistant's own close button also discards the unsaved session.

Common post-configuration areas:

  • Sensors: add, edit, or delete telemetry rows; Area/Label suggestions are
advisory defaults only and become HI truth only if saved into explicit fields
  • Operating schedule & limits: edit time, presence, alert-only, and target-profile behavior
  • Zones: edit display-only Level 1 / Level 2 labels before Zone 1 / Zone 2 configuration
  • Comfort and thresholds: review comfort mode and zone thresholds
  • Humidifier control: add or edit per-level humidifier lanes
  • Air quality control: add or edit AQ lanes, triggers, outputs, and thresholds
  • Dashboard add-ons: inspect optional frontend-card availability
  • Temperature change settings: configure temperature-trend calculation and source overrides
  • Output monitoring: configure optional reporting and exact source rules; use
Keep changes and return, then Save changes to persist them. See the output-monitoring guide for discard and recovery details; includes reusable meanings and optional guidance
  • UI: run humidity_intelligence.dump_cards and replace Manual-card YAML
after visibility, template, mapping or generated-card option changes. Revision footer: UI compatibility and separate HACS-reported updates

Detailed manual:


How to Use Services

Open Developer Tools -> Actions and select the humidity_intelligence domain. Use refresh_ui to refresh the rendered card cache, then dump_cards or view_cards to export YAML for a Manual card. External export, control, cleanup and snapshot services require an authenticated admin context.

The Services Reference contains examples, entry scoping, file locations, permissions and cleanup rules. Use Generated Dashboards for the complete card workflow and Release Validation for Users for support checks.


Support, Diagnostics, and Issue Triage

For bugs or configuration help, include your HI and Home Assistant versions, the symptom and what you tried. Native Home Assistant diagnostics are the preferred attachment: **Settings -> Devices & services -> Humidity Intelligence -> Download diagnostics**. Review the complete file before uploading it to a public issue; user-configured display and level labels may remain. Self-check and release reports may contain entity IDs and should stay private until reviewed or sanitized.

Start with Getting Help and Diagnostics and Support Bundle. They cover issue selection, diagnostics, privacy review and the optional browser-local Support Bundle Inspector. For ideas and wider changes, use the Community Ideas & Proposals issue form.


Runtime Simulation Validation

Maintainer runtime validation includes a backend-consumed fake telemetry harness for HI Air Control Mode and HI Air Control Reason truth. It is test-only: no Home Assistant helpers, services, dashboards, automations, or fake fan output writes are created by default.

Run it from the repository root:

python3 "tests 2/test_air_control_mode_simulation.py"

The harness covers normal, telemetry unavailable, zone pressure, AQ pressure, disabled/manual/global gates, baseline-clear CO telemetry, and explicit opt-in CO emergency pressure. Details are in Runtime Simulation Validation.


Release Notes

v2.1.1 (Stable source preparation)

!Humidity Intelligence v2.1.1 — single-level cards and clearer update status

Single-level exports and self-check counts follow saved Options. Configured-unavailable inputs and genuine mapping failures remain visible.

  • HACS update evidence stays separate from UI compatibility and loaded-code identity.
Outputs text/percentages and issue-summary privacy filtering are hardened.
  • Calculated trends use each minute's latest reading. Weighting can change slope-based
decisions; lane priority and CO protection remain.
  • Revision 13, schema/generator 1 remain compatible with beta.4/RC.1 cards.
Older cards need fresh exports and complete replacement. Install the full package and restart; no configuration/entity migration. Restart clears Stability history.

Final source preserves RC.1 runtime and cards; manifest/guidance give a new package identity. Complete notes cover #129, validation and upgrade/rollback. V2.1.0 remains published Stable.

v2.1.0 (Current Published Stable)

!Humidity Intelligence V2.1 Stability Score release header

V2.1 introduces Stability Score, its evidence and deduction breakdown, recorded history and hold-to-disable presentation. It adds clearer badge explanations, optional output monitoring, reusable monitoring meanings and a compact Current Air Control row. See the V2.1 overview and complete change history.

as a non-prerelease GitHub Release from the reviewed v2.1.0 tag.
  • Uses a rolling 72-hour window, explicit evidence coverage and safety ceilings.
Recent movement compares actual scores within 60 minutes; LED colour shows the latest change. Improving scores can coexist with poor current conditions.
  • Sets built-in autumn humidity targets to 50–60%, with humidity danger at
64%. Other seasons, custom derivation, lane ordering and CO precedence remain.
  • Includes the RC review corrections for recovery without routine AQ, event-loop
Diagnostics publication, Drift snapshots, monitoring setup and display-preference errors. Loading or unavailable preferences keep the backend-rendered badge visible.
  • Retains touch/keyboard detail controls and hold-to-disable. Both V2 layouts use
revision 9, stamp schema/generator 1 and Stability schema 3/formula 4.
  • Requires no V2 configuration or entity migration. Install the complete package and
restart Home Assistant; restart/reload clears in-memory Stability history. Run refresh_ui, export with view_cards or dump_cards, and replace the complete YAML in older V2 cards, plus V1 Mobile for its Drift correction. Refresh the client. Existing v2.1.0-rc.1 revision-9 cards remain compatible; final version metadata does not make them stale.
  • Preserves the reviewed runtime and generated-card bytes from v2.1.0-rc.1. The final package
has its own manifest identity; v2.1.0-rc.1 installation evidence is recorded separately from final-package registration. Publication does not establish that an existing Home Assistant installation has loaded the final package.

Previous Releases

v2.1.1-rc.1 (Earlier unpublished candidate)

Consolidated the dashboard and hardening fixes, then corrected self-check Options counts. PR #132 merged the RC into develop with revision 13 unchanged. See RC history.

v2.1.1-beta.4 (Earlier unpublished candidate)

Introduced the quiet no-update footer and right-aligned ↑ Update available cue, retaining skipped, progress and unverified states. Both layouts advanced to revision 13 with schema/generator 1. Its package and saved-card replacement requirements remain in the historical candidate notes.

v2.1.1-beta.3 (Earlier unpublished candidate)

Adds a separate HACS update status beside the existing UI revision LED. Green still means UI current; the software label reports an update, no update, a skipped release, progress or unverified information. Open the footer for both version details and View update in Home Assistant.

  • HACS is optional. HI reads its reported state without new network polling or
automatic installation; downloaded and running code remain separate claims.
  • Both V2 layouts advanc
... (README truncated for length)
Chat with me