ha-mcp-dev 7.5.0.dev526__tar.gz → 7.5.0.dev528__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.5.0.dev526/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.5.0.dev528}/PKG-INFO +1 -1
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/pyproject.toml +1 -1
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_addons.py +25 -8
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/LICENSE +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/README.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/setup.cfg +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/_version.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/client/supervisor_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/settings_ui.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/reference_validator.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/smart_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_code.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_energy.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/data_paths.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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.5.0.
|
|
7
|
+
version = "7.5.0.dev528"
|
|
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"
|
|
@@ -1554,19 +1554,36 @@ async def _call_addon_api(
|
|
|
1554
1554
|
"token has admin rights and try again."
|
|
1555
1555
|
)
|
|
1556
1556
|
elif response.status_code == 403:
|
|
1557
|
+
ports_dict = addon.get("network") or addon.get("ports") or {}
|
|
1558
|
+
# Ingress nginx in peer add-ons typically rejects cross-container
|
|
1559
|
+
# traffic; the direct-port fallback only works if the user mapped
|
|
1560
|
+
# a host port. Detect and call out the unmapped case explicitly.
|
|
1561
|
+
unmapped = sorted(k for k, v in ports_dict.items() if v is None)
|
|
1557
1562
|
result["addon_config"] = {
|
|
1558
1563
|
"options": addon.get("options"),
|
|
1559
|
-
"ports":
|
|
1564
|
+
"ports": ports_dict or None,
|
|
1560
1565
|
"host_network": addon.get("host_network"),
|
|
1561
1566
|
"ingress_port": addon.get("ingress_port"),
|
|
1562
1567
|
}
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
"
|
|
1569
|
-
|
|
1568
|
+
slug = addon.get("slug") or "<slug>"
|
|
1569
|
+
example_proto = unmapped[0] if unmapped else ""
|
|
1570
|
+
example_port = example_proto.split("/", 1)[0] if example_proto else ""
|
|
1571
|
+
if unmapped and example_port.isdigit():
|
|
1572
|
+
addon_label = addon.get("name") or slug
|
|
1573
|
+
result["suggestion"] = (
|
|
1574
|
+
f"Map {example_proto} to a host port in the HA UI "
|
|
1575
|
+
f"('{addon_label}' → Configuration → Network), restart the "
|
|
1576
|
+
f"add-on, then retry with ha_manage_addon(slug='{slug}', "
|
|
1577
|
+
f"path='...', port={example_port})."
|
|
1578
|
+
)
|
|
1579
|
+
else:
|
|
1580
|
+
result["suggestion"] = (
|
|
1581
|
+
"This add-on is blocking direct connections (likely Nginx IP restriction). "
|
|
1582
|
+
"Try using the 'port' parameter to connect to the add-on's direct access port "
|
|
1583
|
+
"(see addon_config.ports above) with 'leave_front_door_open' enabled. "
|
|
1584
|
+
"Example: ha_manage_addon(slug='...', path='...', port=<direct_port>). "
|
|
1585
|
+
"The user may need to change add-on settings in the HA UI and restart the add-on."
|
|
1586
|
+
)
|
|
1570
1587
|
|
|
1571
1588
|
return result
|
|
1572
1589
|
|
|
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
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_entry_flow.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/transforms/lite_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp/utils/kill_signal_diagnostics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.5.0.dev526 → ha_mcp_dev-7.5.0.dev528}/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
|