ha-mcp-dev 7.2.0.dev363__tar.gz → 7.2.0.dev364__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ha_mcp_dev-7.2.0.dev363/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.2.0.dev364}/PKG-INFO +1 -1
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/pyproject.toml +1 -1
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_history.py +2 -2
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/README.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/setup.cfg +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/smart_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/tests/test_env_manager.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "7.2.0.
|
|
7
|
+
version = "7.2.0.dev364"
|
|
8
8
|
description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
|
@@ -194,7 +194,7 @@ class HistoryTools:
|
|
|
194
194
|
period: Annotated[
|
|
195
195
|
str,
|
|
196
196
|
Field(
|
|
197
|
-
description='Aggregation period: "5minute", "hour", "day", "week", "month". Default: "day". Ignored when source="history"',
|
|
197
|
+
description='Aggregation period: "5minute", "hour", "day", "week", "month", "year". Default: "day". Ignored when source="history"',
|
|
198
198
|
default="day",
|
|
199
199
|
),
|
|
200
200
|
] = "day",
|
|
@@ -580,7 +580,7 @@ async def _fetch_statistics(
|
|
|
580
580
|
))
|
|
581
581
|
|
|
582
582
|
# Validate period
|
|
583
|
-
valid_periods = ["5minute", "hour", "day", "week", "month"]
|
|
583
|
+
valid_periods = ["5minute", "hour", "day", "week", "month", "year"]
|
|
584
584
|
if period not in valid_periods:
|
|
585
585
|
raise_tool_error(create_error_response(
|
|
586
586
|
ErrorCode.VALIDATION_INVALID_PARAMETER,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/resources/skills-vendor/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_entry_flow.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev363 → ha_mcp_dev-7.2.0.dev364}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|