🛡️ H.A.C.A — Continuous Config Audit, Auto-Fix & Health Scoring for Home Assistant (HACS)

Looks like script variables are being flagged as missing / non-existent entities.

Thanks for your feedback.
Will be fixed in the last release.

I am on 2026.3.4 and yes, I am an admin.

Ok, So in the last release, I will add debug. By checking the logs you should be able to tell me what’s blocking it

1 Like

A suggestion for the next (or a future) release: add an option to turn off alerts and notifications. Right now, the tool is very noisy posting notifications and warnings about the same innocuous issues with every scan.

Curently you can disable :

  • Automatic scan
  • Scan on startup
  • Scan after change
  • Disable severals issues from the scan
  • Disable Repairs sync
  • Disable Battery notifications

So, why not add the option to disable notifications, but if we disable them all, HACA may no longer be very useful.

Ah, I see the options now to disable various scans and alerts. All good.

OK. I turned on debug and tried to delete my first db orphan. Here is the log I received.

This error originated from a custom integration.

Logger: custom_components.config_auditor.websocket
Source: custom_components/config_auditor/websocket.py:683
integration: H.A.C.A (documentation, issues)
First occurred: 13:21:41 (1 occurrence)
Last logged: 13:21:41

[HACA Purge] Executor error: (MySQLdb.IntegrityError) (1451, ‘Cannot delete or update a parent row: a foreign key constraint fails (homeassistant.states, CONSTRAINT states_ibfk_1 FOREIGN KEY (old_state_id) REFERENCES states (state_id))’) [SQL: DELETE FROM states WHERE metadata_id = %s] [parameters: (6440,)] (Background on this error at: Error Messages — SQLAlchemy 2.0 Documentation)

Ok. Apparently you’re using MySQL as your database instead of the default SQLite database for Home Assistant.
MySQL is much more restrictive.
So I’ve modified the purge system for MySQL in the next release.
I hope it will be online tomorrow.

Yes. I am using MariaDB. Thanks. I’ll report back when I see the update.

Hi,
I just released version 1.6.3
V1.6.3 - 2026-03-27 - - Auto-generated dashboard, trigger rate fix, script rename fix, template variable fix, purge fix

Added

  • Auto-generated HACA dashboard — New “Create Dashboard” button (Configuration tab). Instantly creates/updates a full dashboard via WebSocket (no restart). Includes score gauge, issue counters, alerts, 7-day history, and quick access panel. Translated in 13 languages
  • Severity filters — Toggle visibility of High / Medium / Low issues in Configuration. Translated in 13 languages
  • Dashboard button relocation — Moved to a dedicated section in Configuration to prevent accidental clicks
  • Full dashboard i18n — All dashboard texts now use translation keys (panel.dashboard.*), no hardcoded strings

Fixed

  • Trigger rate false positives removed — Unreliable _analyze_trigger_rate disabled; structural loop detection remains
  • Renamed scripts flagged as unused — Now resolves real entity_id via entity registry instead of YAML slug
  • Template variables misdetected as entities — Jinja templates are now ignored via entity ID validation
  • Silent failure on purge orphans — Fixed JS toast call + added SQLAlchemy session fallback
  • Blueprint duplicate false positives — Blueprint automations excluded from duplicate detection
  • Zombie entity false positives — Invalid IDs (e.g. device hashes) now filtered out.
1 Like

Wanted to report back. It has taken me a while because I had A LOT of orphans from 2 years of experimenting apparently. But the purge does seem to be working now.

The only other issue I have at the moment is these errors that say there is nothing in the group, but the group is created in yaml and does in fact have entities. I would love to move them to the UI groups, but I can’t group person or input_boolean entities through the UI yet. Hopefully one day.

Will be fixed in the 1.7.0.
Hope, it will be released today.

HACA 1.7.0 is released.

HACA [1.7.0] — 2026-04-01 — Integration Monitor

Added

  • Integration Monitor tab — new tab listing all installed integrations with type badges (HACS violet, Core blue, Custom orange, Card rose, Theme green, App gold), in-use/unused status, version, entity count, install age, and documentation links
  • Supervisor add-ons — apps are detected via hassio_supervisor_info and shown with badge APP and color rgb(241,196,71)
  • Orphan detection — integrations with entities but no active config entry are flagged with an orange “Orphan” badge
  • AI analysis — “Ask AI” button on unused/orphan integrations opens the chat with a structured dependency-check prompt
  • Export CSV / MD — full integration list exportable as CSV or as a formatted Markdown report grouped by type
  • Dashboard stat card — clickable “Integrations” card (violet) on the main dashboard, links to the tab
  • Pagination — 25 items per page with navigation controls
  • Search & sort — filter by name/domain, sort by name/type/entities/age

Changed

  • unknown_state check — now context-aware: domains where unknown is normal (button, event, tts, etc.) are excluded; other domains only flagged if referenced by automations
  • Blueprint AI prompts — instructions now explicitly tell the AI to use ha_create_blueprint() instead of explaining how to do it manually
  • Translation placeholders — fixed {CATÉGORIE}/{KATEGORIE}/etc.{CATEGORY} in all 12 non-English languages (HA validation requires identical placeholders)

HACA [1.6.4] (Not Released) — 2026-03-28 — Issue ID system, AI Fix batch, issue catalog

Added

  • Unique issue IDs — every detected issue now has a stable, human-readable identifier in the format HACA-{CATEGORY}-{TYPE}-{HASH6} (e.g. HACA-AUTO-NO_ALIAS-a3f2c1). IDs are displayed in all issue listings (main tabs + compliance table) with click-to-copy. The hash is derived from the entity_id to guarantee uniqueness when multiple entities share the same issue type
  • haca_list_issue_catalog tool — new MCP/LLM tool that returns the complete HACA issue catalog: all 10 categories with short codes (AUTO, SCRIPT, SCENE, BP, ENT, HELPER, PERF, SEC, DASH, COMPL), all issue types per category (76 types), severity levels, fixable status, and live counts from the current scan
  • haca_fix_batch tool — new MCP/LLM tool for single or bulk issue fixes. Accepts issue_id for single fix, or category + type + severity filters for batch. Always dry_run=true by default (preview mode), requires explicit dry_run=false after user confirmation
  • AI Fix Reference panel — new section in the MCP/AI tab showing the ID format, all category codes, severity levels, and 5 example AI prompts users can copy. Translated in 13 languages
  • Fixable badge — issues that can be auto-fixed now display a green “FIXABLE” badge next to their title in all issue listings
  • Fix workflow in LLM prompt — the system prompt injected into AI agents now includes the fix workflow (catalog → list → preview → apply). Translated in 13 languages

Changed

  • Issue IDs in haca_get_issues response — each issue now includes category code and the new HACA-* format ID (backward-compatible: legacy entity_id|type format still accepted)
  • haca_get_issues category filter — now accepts helper and blueprint categories (previously missing from enum)
  • Tool count corrected — 67 tools (was incorrectly displayed as 65)
  • MCP system prompt updated — added FIX SINGLE, FIX BATCH, and CATALOG workflow lines

Fixed

  • _find_issue_by_id backward compatibility — accepts new HACA-* format, legacy entity_id|type pipe format, raw entity_id, and alias lookup

1 Like

Got a question, is it intentional the performance issues ignore the ignore label? I’ve got a few entities who are known to change a lot. Thus, get marked as possible performance issue. Adding the haca ignore label doesn’t make them get ignored.

Running 1.7.0

Yes, haca_ignore is exclude from Performances issues.

Can you tell me what type of issue is not ignored with haca_ignore ?
Have you installed the latest version 1.7.1?

Just checked, I’m using 1.7.1. My solar panel / inverter is one device. I have added the haca_ignore label to that. But the individual entities show up with the performance tab.

Inside of HACA:

Ok. Will fix that in the 1.7.2.

1 Like

HACA 1.7.3 new release is online.