Skip to content

Remove Assist tools from PowerLLM API - #7

Merged
Shulyaka merged 1 commit into
masterfrom
ha_2026.8_compatibility
Sep 5, 2026
Merged

Shulyaka merged 1 commit into
masterfrom
ha_2026.8_compatibility

Conversation

@Shulyaka

@Shulyaka Shulyaka commented Sep 5, 2026 •

Copy link
Copy Markdown
Owner

Home Assistant 2026.08 has updated the way LLM tools are managed.
To keep compatibility, this PR removes core Assist tools from PowerLLM API.

This is a breaking change.

What it means for the user:

  1. For every conversation agent that have PowerLLM selected, the user would probably want to select both PowerLLM and Assist APIs.
  2. No ability to enable/disable individual Assist tools. We consider this a minor regression because modern models can handle much more tools and select them much more wisely
  3. No ability to disable the exposed-entity overview in the prompt. This may have consequences for really large setups, but overall it is also a minor regression, because modern models have much larger context windows
  4. Assist returns standard intent results, without PowerLLM’s enriched matched/unmatched states: additional attributes, aliases, area/floor, and time since the last state change. I have plans to bring this functionality to Core. Also, the PowerLLM HassGetState tool remains available and allows both device discovery and rich output formatting.
  5. The standard Assist entity overview prompt does not have Entity IDs. They are only really needed for the Script tool, so when this tool is enabled, it will add a separate mapping for entity_id.
  6. HTTP API consumers must be aware of the separation and prepare to get tools from both /api/powerllm/powerllm and /api/powerllm/assist. Or migrate to the core MCP Server integration, which provides similar functionality in a standard way, except the ability to select HA user and device.

Fixes #6

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The HACS minimum version excludes Home Assistant 2026.8.0, conflicting with the stated compatibility fix.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Removes core Assist tools from PowerLLM while preserving PowerLLM-specific tooling and detailed state queries.

Changes:

  • Separates PowerLLM and Assist APIs.
  • Adds entity-ID context, option migration, and Probatio schemas.
  • Updates tests, documentation, dependencies, and runtime requirements.
File summaries
File Summary
tests/tools/test_web_scrape.py Removes an obsolete workaround.
tests/tools/test_script.py Tests entity-ID prompt mappings.
tests/tools/test_python_code.py Removes an obsolete workaround.
tests/tools/test_get_state.py Tests detailed state queries.
tests/test_llm_tools.py Updates schema and state-format tests.
tests/test_http.py Tests separated HTTP APIs.
tests/test_config_flow.py Tests option migration and removal.
tests/test_api.py Tests separate and merged APIs.
tests/snapshots/test_http.ambr Removes an obsolete Assist-tool snapshot.
tests/const.py Updates option and tool fixtures.
tests/conftest.py Supplies conversation assistant context.
setup.py Requires Python 3.14.
setup.cfg Removes Python 3.13 environments.
requirements_test_all.txt Adds a test dependency.
README.md Documents API separation and upgrade steps.
hacs.json Raises the minimum Home Assistant version, excluding 2026.8.0 despite the stated compatibility scope.
custom_components/powerllm/translations/en.json Updates English configuration text.
custom_components/powerllm/tools/script.py Adds exposed entity-ID prompt mappings.
custom_components/powerllm/tools/memory.py Migrates schema validation to Probatio.
custom_components/powerllm/tools/get_state.py Adds detailed state-query functionality.
custom_components/powerllm/tools/duckduckgo.py Migrates schema validation to Probatio.
custom_components/powerllm/strings.json Updates configuration text.
custom_components/powerllm/recursive_data_flow.py Migrates validation to Probatio.
custom_components/powerllm/llm_tools.py Removes Assist wrappers and state logic.
custom_components/powerllm/http.py Uses Probatio OpenAPI conversion.
custom_components/powerllm/config_flow.py Removes retired configuration options.
custom_components/powerllm/api.py Limits the API to PowerLLM-specific tools.
custom_components/powerllm/__init__.py Migrates retired options.
.github/workflows/powerllm.yml Tests Python 3.14 only.
Review details
  • Files reviewed: 29/29 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread hacs.json Outdated
@Shulyaka
Shulyaka force-pushed the ha_2026.8_compatibility branch from 0c2a649 to 5a39d25 Compare September 5, 2026 18:46
@Shulyaka
Shulyaka merged commit 6c6f927 into master Sep 5, 2026
2 of 6 checks passed
@Shulyaka
Shulyaka deleted the ha_2026.8_compatibility branch September 5, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PowerLLM is not working with Home Assistant 2026.8.0

2 participants