ha-mcp-dev 7.3.0.dev391__tar.gz → 7.3.0.dev392__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 (101) hide show
  1. {ha_mcp_dev-7.3.0.dev391/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.3.0.dev392}/PKG-INFO +2 -2
  2. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/README.md +1 -1
  3. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/pyproject.toml +1 -1
  4. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_groups.py +17 -5
  5. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392/src/ha_mcp_dev.egg-info}/PKG-INFO +2 -2
  6. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/LICENSE +0 -0
  7. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/MANIFEST.in +0 -0
  8. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/setup.cfg +0 -0
  9. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/__init__.py +0 -0
  10. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/__main__.py +0 -0
  11. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/_pypi_marker +0 -0
  12. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/__init__.py +0 -0
  13. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/consent_form.py +0 -0
  14. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/provider.py +0 -0
  15. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/__init__.py +0 -0
  16. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/rest_client.py +0 -0
  17. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/websocket_client.py +0 -0
  18. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/websocket_listener.py +0 -0
  19. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/config.py +0 -0
  20. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/errors.py +0 -0
  21. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/py.typed +0 -0
  22. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  23. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  24. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  25. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  26. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  27. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  28. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  29. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  30. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  31. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  32. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  33. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  34. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  35. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  36. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  37. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  38. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  39. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  40. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  41. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  42. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/server.py +0 -0
  43. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/smoke_test.py +0 -0
  44. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/__init__.py +0 -0
  45. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/backup.py +0 -0
  46. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  47. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/device_control.py +0 -0
  48. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/enhanced.py +0 -0
  49. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/helpers.py +0 -0
  50. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/registry.py +0 -0
  51. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/smart_search.py +0 -0
  52. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_addons.py +0 -0
  53. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_areas.py +0 -0
  54. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  55. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  56. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_calendar.py +0 -0
  57. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_camera.py +0 -0
  58. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_categories.py +0 -0
  59. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  60. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  61. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
  62. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  63. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  64. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_entities.py +0 -0
  65. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  66. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_hacs.py +0 -0
  67. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_history.py +0 -0
  68. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_integrations.py +0 -0
  69. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_labels.py +0 -0
  70. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
  71. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_registry.py +0 -0
  72. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_resources.py +0 -0
  73. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_search.py +0 -0
  74. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_service.py +0 -0
  75. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_services.py +0 -0
  76. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_system.py +0 -0
  77. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_todo.py +0 -0
  78. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_traces.py +0 -0
  79. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_updates.py +0 -0
  80. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_utility.py +0 -0
  81. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  82. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  83. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_zones.py +0 -0
  84. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/util_helpers.py +0 -0
  85. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/transforms/__init__.py +0 -0
  86. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/transforms/categorized_search.py +0 -0
  87. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/__init__.py +0 -0
  88. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/config_hash.py +0 -0
  89. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/domain_handlers.py +0 -0
  90. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  91. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/operation_manager.py +0 -0
  92. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/python_sandbox.py +0 -0
  93. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/usage_logger.py +0 -0
  94. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  95. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  96. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  97. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  98. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  99. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/tests/__init__.py +0 -0
  100. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/tests/test_constants.py +0 -0
  101. {ha_mcp_dev-7.3.0.dev391 → ha_mcp_dev-7.3.0.dev392}/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.3.0.dev391
3
+ Version: 7.3.0.dev392
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
@@ -205,7 +205,7 @@ Spend less time configuring, more time enjoying your smart home.
205
205
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
206
206
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
207
207
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
208
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
208
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
209
209
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
210
210
 
211
211
  <!-- TOOLS_TABLE_END -->
@@ -176,7 +176,7 @@ Spend less time configuring, more time enjoying your smart home.
176
176
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
177
177
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
178
178
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
179
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
179
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
180
180
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
181
181
 
182
182
  <!-- TOOLS_TABLE_END -->
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "7.3.0.dev391"
7
+ version = "7.3.0.dev392"
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"
@@ -245,10 +245,17 @@ class GroupTools:
245
245
  ] = True,
246
246
  ) -> dict[str, Any]:
247
247
  """
248
- Create or update a Home Assistant entity group.
248
+ Create or update a service-based Home Assistant entity group via the group.set service.
249
249
 
250
- Uses the group.set service to create a new group or update an existing one.
251
- Groups are useful for organizing entities and controlling them together.
250
+ **When NOT to use:** for typical "combine these entities into one controllable group"
251
+ requests, prefer `ha_config_set_helper(helper_type="group", ...)`. Config-entry-backed
252
+ groups are registered in the entity registry, so `ha_set_entity` can assign them to
253
+ areas and they are deletable via `ha_delete_config_entry`.
254
+
255
+ **When to use:** compatibility with existing groups already configured via group.set
256
+ or YAML, or the rare case where entity-registry membership is explicitly unwanted.
257
+ Groups created here are only removable via `ha_config_remove_group` — neither
258
+ `ha_config_remove_helper` nor `ha_delete_config_entry` will find them.
252
259
 
253
260
  **For NEW groups:** Provide object_id and entities (required).
254
261
  **For EXISTING groups:** Provide object_id and any fields to update.
@@ -333,9 +340,14 @@ class GroupTools:
333
340
  ] = True,
334
341
  ) -> dict[str, Any]:
335
342
  """
336
- Remove a Home Assistant entity group.
343
+ Remove a service-based Home Assistant entity group via the group.remove service.
344
+
345
+ **When NOT to use:** for groups created through `ha_config_set_helper(helper_type="group", ...)`,
346
+ use `ha_delete_config_entry`. Those config-entry-backed groups are not reachable via the
347
+ group.remove service, and `ha_config_remove_helper` does not support helper_type="group".
337
348
 
338
- Uses the group.remove service to delete the group.
349
+ **When to use:** removing groups created with `ha_config_set_group` or defined in YAML
350
+ via `group:` configuration. Config-entry-backed deletion tools cannot find these.
339
351
 
340
352
  EXAMPLES:
341
353
  - Remove group: ha_config_remove_group("living_room_lights")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.3.0.dev391
3
+ Version: 7.3.0.dev392
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
@@ -205,7 +205,7 @@ Spend less time configuring, more time enjoying your smart home.
205
205
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
206
206
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
207
207
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
208
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
208
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
209
209
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
210
210
 
211
211
  <!-- TOOLS_TABLE_END -->