ha-mcp-dev 7.5.0.dev556__tar.gz → 7.5.0.dev557__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.
Files changed (111) hide show
  1. {ha_mcp_dev-7.5.0.dev556/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.5.0.dev557}/PKG-INFO +1 -1
  2. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/pyproject.toml +1 -1
  3. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/server.py +3 -2
  4. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_yaml_config.py +5 -3
  5. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
  6. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/LICENSE +0 -0
  7. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/MANIFEST.in +0 -0
  8. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/README.md +0 -0
  9. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/setup.cfg +0 -0
  10. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/__init__.py +0 -0
  11. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/__main__.py +0 -0
  12. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/_pypi_marker +0 -0
  13. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/_version.py +0 -0
  14. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/auth/__init__.py +0 -0
  15. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/auth/consent_form.py +0 -0
  16. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/auth/provider.py +0 -0
  17. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/client/__init__.py +0 -0
  18. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/client/rest_client.py +0 -0
  19. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/client/supervisor_client.py +0 -0
  20. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/client/websocket_client.py +0 -0
  21. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/client/websocket_listener.py +0 -0
  22. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/config.py +0 -0
  23. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/errors.py +0 -0
  24. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/py.typed +0 -0
  25. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  26. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  27. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  28. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  29. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  30. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  31. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  32. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  33. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  34. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  35. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  36. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  37. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  38. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  39. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  40. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  41. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  42. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  43. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  44. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  45. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/settings_ui.py +0 -0
  46. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/smoke_test.py +0 -0
  47. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/__init__.py +0 -0
  48. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/backup.py +0 -0
  49. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  50. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/device_control.py +0 -0
  51. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/enhanced.py +0 -0
  52. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/helpers.py +0 -0
  53. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/reference_validator.py +0 -0
  54. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/registry.py +0 -0
  55. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/smart_search.py +0 -0
  56. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_addons.py +0 -0
  57. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_areas.py +0 -0
  58. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  59. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  60. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_calendar.py +0 -0
  61. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_camera.py +0 -0
  62. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_categories.py +0 -0
  63. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_code.py +0 -0
  64. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  65. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  66. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
  67. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  68. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_scenes.py +0 -0
  69. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  70. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_energy.py +0 -0
  71. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_entities.py +0 -0
  72. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  73. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_groups.py +0 -0
  74. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_hacs.py +0 -0
  75. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_history.py +0 -0
  76. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_integrations.py +0 -0
  77. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_labels.py +0 -0
  78. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
  79. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_registry.py +0 -0
  80. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_resources.py +0 -0
  81. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_search.py +0 -0
  82. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_service.py +0 -0
  83. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_services.py +0 -0
  84. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_system.py +0 -0
  85. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_todo.py +0 -0
  86. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_traces.py +0 -0
  87. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_updates.py +0 -0
  88. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_utility.py +0 -0
  89. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  90. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/tools_zones.py +0 -0
  91. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/tools/util_helpers.py +0 -0
  92. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/transforms/__init__.py +0 -0
  93. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/transforms/categorized_search.py +0 -0
  94. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/transforms/lite_docstrings.py +0 -0
  95. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/__init__.py +0 -0
  96. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/config_hash.py +0 -0
  97. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/data_paths.py +0 -0
  98. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/domain_handlers.py +0 -0
  99. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  100. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/kill_signal_diagnostics.py +0 -0
  101. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/operation_manager.py +0 -0
  102. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/python_sandbox.py +0 -0
  103. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp/utils/usage_logger.py +0 -0
  104. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  105. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  106. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  107. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  108. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  109. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/tests/__init__.py +0 -0
  110. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/tests/test_constants.py +0 -0
  111. {ha_mcp_dev-7.5.0.dev556 → ha_mcp_dev-7.5.0.dev557}/tests/test_env_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.5.0.dev556
3
+ Version: 7.5.0.dev557
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -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.dev556"
7
+ version = "7.5.0.dev557"
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"
@@ -452,7 +452,7 @@ class HomeAssistantSmartMCPServer(EnhancedToolsMixin):
452
452
  ),
453
453
  "ha_config_set_yaml": (
454
454
  "edit yaml configuration.yaml packages template sensor "
455
- "binary_sensor command_line rest mqtt platform yaml-only "
455
+ "binary_sensor command_line rest mqtt knx platform yaml-only "
456
456
  "config file modify add remove replace"
457
457
  ),
458
458
  "ha_manage_addon": (
@@ -608,7 +608,8 @@ class HomeAssistantSmartMCPServer(EnhancedToolsMixin):
608
608
  "ha_config_set_script, ha_config_set_scene, "
609
609
  "ha_config_set_helper) cover almost every use case and "
610
610
  "should be preferred. Use this only for YAML-only "
611
- "integrations (command_line, rest, shell_command, notify) "
611
+ "integrations (command_line, rest, shell_command, notify), "
612
+ "YAML-heavy integrations like knx (in packages/*.yaml), "
612
613
  "or registering YAML-mode dashboards via "
613
614
  "`lovelace.dashboards.<url_path>`. Most edits require a "
614
615
  "full HA restart; template, mqtt, and group support "
@@ -107,8 +107,9 @@ def register_yaml_config_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
107
107
  Field(
108
108
  description=(
109
109
  "Top-level YAML key to modify. Only a narrow allowlist of "
110
- "YAML-only integration keys is accepted (e.g., 'command_line', "
111
- "'rest', 'shell_command', 'notify'). For YAML-mode dashboards, "
110
+ "YAML-only or YAML-heavy integration keys is accepted (e.g., "
111
+ "'command_line', 'rest', 'shell_command', 'notify', 'knx'). "
112
+ "For YAML-mode dashboards, "
112
113
  "use the dotted form 'lovelace.dashboards.<url_path>' where "
113
114
  "<url_path> is lowercase, hyphenated, and not a reserved HA "
114
115
  "route. No other dotted paths are supported. Not for template "
@@ -174,7 +175,8 @@ def register_yaml_config_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
174
175
 
175
176
  Intended for YAML-only integrations with no config-flow or API
176
177
  equivalent (command_line, rest, shell_command, notify platforms),
177
- and for registering YAML-mode dashboards via
178
+ for integrations with significant YAML-only configuration (knx
179
+ entities in package files), and for registering YAML-mode dashboards via
178
180
  ``lovelace.dashboards.<url_path>`` (no other ``lovelace.*`` keys).
179
181
  Check ``post_action`` in the response: most keys need a full HA
180
182
  restart; template, mqtt, and group support reload. Preserves YAML
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.5.0.dev556
3
+ Version: 7.5.0.dev557
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT