Skip to content

[BUG] Dashboard screenshot tool not working #1683

Description

@Morrismanski

💬 What Happened?

📋 Bug Description

ha_config_get_dashboard(include_screenshot=True) blijft "Screenshot requested but dashboard screenshot mode is disabled" rapporteren, ook nadat enable_beta_features én enable_dashboard_screenshot beide bevestigd true staan (via /api/settings/features, origin "file"), de Puppet screenshot-engine draait en bereikbaar is, en dashboard_screenshot_engine_url correct is ingesteld en bevestigd opgeslagen (origin "file") in /api/settings/advanced. Probleem persisteert na meerdere add-on restarts en zelfs na het starten van een volledig nieuwe MCP-sessie/gesprek.

🔄 Steps to Reproduce

  1. Add-on installatie van ha-mcp (versie 7.8.1) naast de "Puppet" screenshot-add-on (balloob/home-assistant-addons, slug 0f1cc410_puppet, versie 2.5.0, status started)
  2. In de ha-mcp web-settings UI: zet master toggle "Enable beta features" aan
  3. Zet sub-toggle "Enable dashboard screenshot mode (beta)" aan
  4. Klik "Save advanced settings", klik daarna "Restart"
  5. Stel dashboard_screenshot_engine_url in op http://0f1cc410-puppet:10000 via POST /api/settings/advanced (bevestigd opgeslagen, origin: "file", restart_required: true)
  6. Restart de add-on (zowel via de web-UI als via ha_manage_addon(action="restart"))
  7. Roep ha_config_get_dashboard(url_path="<dashboard>", include_screenshot=True) aan

✅ Expected vs ❌ Actual Behavior

Expected:
Een gerenderde PNG van het dashboard wordt teruggegeven, of een foutmelding die wijst op een daadwerkelijk verbindingsprobleem met de Puppet-engine (bijv. timeout, auth-fout), niet dat de feature uitstaat.

Actual:
Tool retourneert consistent:

📋 Copy-Paste from Conversation

ondanks dat `GET /api/settings/features` bevestigt:

"enable_beta_features": {"value": true, "origin": "file", ...},
"enable_dashboard_screenshot": {"value": true, "origin": "file", ...}

en `GET /api/settings/advanced` bevestigt:

"dashboard_screenshot_engine_url": {"value": "http://0f1cc410-puppet:10000", "origin": "file", ...}


Volgens `docs/beta.md`: "Graceful by design — with one deliberate exception. If the feature is off, both include_screenshot and return_screenshot return the dashboard config / write result with a warnings entry." We krijgen dus consistent de "feature is off" pad, nooit de Puppet-engine fout-pad (timeout/auth), wat erop wijst dat de check die deze tool uitvoert een andere/verouderde waarde leest dan wat `/api/settings/features` rapporteert.

## 💬 Triggering Prompt & Tool Call

**User prompt:** "kijk maar" (gebruiker vroeg te onderzoeken waarom dashboard-screenshots niet werkten ondanks ingeschakelde beta-feature)

**Tool call(s):**
```## 🔧 Environment

- **ha-mcp Version:** 7.8.1
- **Installation Method:** HA Add-on (Supervisor)
- **MCP Transport:** HTTP via add-on ingress
- **MCP Client:** claude-ai 0.1.0
- **AI Model:** Claude Sonnet 4.6 (Anthropic)
- **Operating System:** Home Assistant OS / Supervisor host
- **Home Assistant Version:** 2026.3.2
- **Connection Status:** Connected
- **Entity Count:** 1173

## ⚙️ ha-mcp Configuration

- **enable_websocket:** `True`
- **enable_dashboard_partial_tools:** `True`
- **enable_tool_search:** `False`
- **enable_yaml_config_editing:** `False`
- **enable_code_mode:** `False`
- **enabled_tool_modules:** `all`
- **enable_beta_features:** `True` (origin: file)
- **enable_dashboard_screenshot:** `True` (origin: file)
- **dashboard_screenshot_engine_url:** `http://0f1cc410-puppet:10000` (origin: file)

## 💡 Additional Context

- Gerelateerde HACS-repair was zichtbaar in het systeem rond dezelfde periode: `restart_required` voor `ha_mcp_tools` — mogelijk gerelateerd aan een pending update die de feature-detectie beïnvloedt.
- Puppet add-on (versie 2.5.0) draait en is bereikbaar, met een access_token al geconfigureerd in zijn eigen add-on-opties.
- We komen consistent niet voorbij de "feature disabled" check — nooit een Puppet-specifieke fout (bv. auth/timeout), wat suggereert dat dit vroeg in de tool-flow faalt, vóór de engine ooit wordt aangeroepen.
- Workaround geprobeerd zonder succes: meerdere add-on restarts, nieuwe MCP-sessie/gesprek starten.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingissue-analyzedDeep Claude analysis completeneeds-infoAwaiting clarification from reporterpriority: mediumMedium priority featureruntime-bugBug occurring during normal operationtriaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions