• v0.4.1 e6221964ba

    v0.4.1
    All checks were successful
    Auto Tag Release / Tag release from pyproject.toml version (push) Successful in 3s
    Test & Build / Run Tests (push) Successful in 26s
    Test & Build / Build & Push Docker Images (push) Successful in 25s
    Test & Build / Create Forgejo Release (push) Successful in 2s
    Stable

    tim released this 2026-09-06 21:14:36 +00:00 | 0 commits to main since this release

    Fixed

    • Capped mcp[cli] to <2 (was unbounded >=1.28.1). The mcp 2.x release renamed FastMCP to MCPServer and moved the module, which app/server.py's except ImportError fallback silently treated as "SDK not installed" and swapped in a no-op stub server (tools/resources/prompts became inert, mcp.run() a no-op). Since neither the Dockerfile nor CI pin dependency versions, fresh builds were silently resolving mcp==2.1.1 and shipping a non-functional server.
    • Added PLR0917 to the ruff ignore list (new rule in ruff 0.16.x, same rationale as the existing PLR0913 ignore for the multi-parameter HA API tool functions)

    Dependencies

    • Pinned mcp[cli] to >=1.28.1,<2
    • Upgraded dev tooling floors: ruff 0.15.22 -> 0.16.6, mypy 2.3.0 -> 2.3.1 (and matching .pre-commit-config.yaml revs, which had drifted from the floors)
    • Regenerated requirements-lock.txt against the capped mcp constraint
    • Removed unused uv.lock (stale since the initial commit; the project uses pip/Taskfile.yml, never uv)

    Container Image

    Docker image available on Forgejo:
    https://git.timstoop.nl/tim/-/packages/container/hass-mcp/

    docker pull git.timstoop.nl/tim/hass-mcp:0.4.1
    
    Downloads
  • v0.4.0 3e8cae7c84

    v0.4.0 Stable

    timstoop released this 2026-07-22 08:35:36 +00:00 | 8 commits to main since this release

    Added

    • search_logbook: search logbook entries by pattern (string or regex) with scoped time range, entity/domain filters, lean output, and response size cap
    • get_energy_dashboard: read the Home Assistant energy dashboard configuration (sources, device consumption)
    • save_energy_dashboard: write the Home Assistant energy dashboard configuration
    • list_config_entries: list Home Assistant integrations (config entries) with optional search filter
    • reload_integration: reload an integration by its config entry ID
    • reload_entity_integration: look up which integration manages a given entity, then reload it
    • get_server_info: return MCP server build timestamp
    • get_entity_from_registry: get entity registry details for an entity (name, icon, area, disabled/hidden state, platform, unique_id)
    • update_registry_entity: update entity registry fields: rename friendly name, rename entity_id, assign area, set icon, disable or hide entity
    • docker-build task in Taskfile for local image builds

    Changed

    • Renamed tools to drop _tool suffix: search_entities_tool -> search_entities, domain_summary_tool -> domain_summary, call_service_tool -> call_service, delete_config_tool -> delete_config, get_logbook_tool -> get_logbook, search_error_log_tool -> search_error_log, list_bluetooth_devices_tool -> list_bluetooth_devices
    • Compacted tool docstrings to reduce context window usage
    • Release process: merging to main now auto-tags via CI based on the pyproject.toml version (.forgejo/workflows/auto-tag.yml); manual tagging is no longer required

    Dependencies

    • Re-added httpx (required for config entry reload, which has no WebSocket equivalent)
    • Upgraded mcp[cli] 1.25.0 -> 1.28.1, websockets 14.0 -> 16.1.1, httpx -> 0.28.1
    • Upgraded dev/test tooling: pytest -> 9.1.1, pytest-asyncio -> 1.4.0, coverage -> 7.15.2, bandit -> 1.9.4, ruff -> 0.15.22
    • Upgraded mypy 1.20.2 -> 2.3.0 (major version bump; no code changes required, all checks still pass)

    Container Image

    Docker image available on Codeberg:
    https://git.timstoop.nl/tim/-/packages/container/hass-mcp/

    docker pull git.timstoop.nl/tim/hass-mcp:0.4.0
    
    Downloads
  • v0.3.0 4e05f6b3bf

    v0.3.0 Stable

    timstoop released this 2026-04-28 21:44:50 +00:00 | 30 commits to main since this release

    Added

    • list_bluetooth_devices tool: discover and monitor Bluetooth devices via WebSocket subscription

    Changed

    • Replaced REST/httpx transport with WebSocket (websockets library) for all Home Assistant API calls
    • Python version bumped to 3.13.9

    Fixed

    • Bluetooth advertisement subscription now handles HA 2026.x batch event format ({"add": [...]}) alongside the legacy per-device format
    • Message loop reworked so WebSocket events arriving before or after the result confirmation both work correctly

    Dependencies

    • Removed httpx
    • Bumped ruff, mypy, pytest, pytest-cov to current releases

    Container Image

    Docker image available on Codeberg:
    https://git.timstoop.nl/tim/-/packages/container/hass-mcp/

    docker pull git.timstoop.nl/tim/hass-mcp:0.3.0
    
    Downloads
  • v0.2.1 18c5f56e7c

    v0.2.1 Stable

    timstoop released this 2026-03-07 15:10:41 +00:00 | 43 commits to main since this release

    Fixed

    • call_service_tool Pydantic validation error when Home Assistant returns a list of affected entities instead of a dict
    • MCP prompts failing with "Could not convert prompt result to message" due to invalid system role (MCP only supports user and assistant roles)

    Changed

    • Automated release pipeline: pushing a vX.Y.Z tag now automatically creates a Forgejo release with the relevant CHANGELOG section

    Container Image

    Docker image available on Codeberg:
    https://git.timstoop.nl/tim/-/packages/container/hass-mcp/

    docker pull git.timstoop.nl/tim/hass-mcp:0.2.1
    
    Downloads