25 lines
20 KiB
JSON
25 lines
20 KiB
JSON
{"timestamp": "2026-07-16T01:51:24.833520+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "input_boolean", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 265.3963565826416, "success": true, "error_message": null, "response_size_bytes": 2297, "user_context": null}
|
|
{"timestamp": "2026-07-16T01:51:24.844401+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "input_select", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 234.4343662261963, "success": true, "error_message": null, "response_size_bytes": 472, "user_context": null}
|
|
{"timestamp": "2026-07-16T01:51:24.849852+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "input_number", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 281.5418243408203, "success": true, "error_message": null, "response_size_bytes": 640, "user_context": null}
|
|
{"timestamp": "2026-07-16T01:51:25.011117+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "timer", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 184.76414680480957, "success": true, "error_message": null, "response_size_bytes": 465, "user_context": null}
|
|
{"timestamp": "2026-07-16T01:51:25.012519+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "counter", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 186.4025592803955, "success": true, "error_message": null, "response_size_bytes": 826, "user_context": null}
|
|
{"timestamp": "2026-07-16T01:51:27.603591+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "input_boolean", "area_filter": null, "search_types": null, "limit": 10, "offset": 10, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 78.72748374938965, "success": true, "error_message": null, "response_size_bytes": 818, "user_context": null}
|
|
{"timestamp": "2026-07-16T14:58:34.806520+00:00", "tool_name": "ha_list_floors_areas", "parameters": {"fields": null, "area_fields": null}, "execution_time_ms": 34.44170951843262, "success": true, "error_message": null, "response_size_bytes": 3757, "user_context": null}
|
|
{"timestamp": "2026-07-16T15:17:46.049602+00:00", "tool_name": "ha_get_overview", "parameters": {"detail_level": "minimal", "domains": null, "limit": null, "offset": 0, "max_entities_per_domain": null, "include_state": null, "include_entity_id": null, "include_notifications": true, "include_dismissed_repairs": false, "fields": null}, "execution_time_ms": 1456.7010402679443, "success": true, "error_message": null, "response_size_bytes": 14815, "user_context": null}
|
|
{"timestamp": "2026-07-16T15:20:28.060870+00:00", "tool_name": "ha_search", "parameters": {"query": null, "domain_filter": "automation", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 113.4181022644043, "success": true, "error_message": null, "response_size_bytes": 2476, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:05:20.540787+00:00", "tool_name": "ha_search", "parameters": {"query": "office lamp", "domain_filter": "light", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 151.7007350921631, "success": true, "error_message": null, "response_size_bytes": 911, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:05:26.978049+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"actions": [{"action": "light.turn_on", "target": {"entity_id": "light.office_lamp"}}], "alias": "Office Lamp On at 6PM", "description": "Turn on the office lamp every day at 6:00 PM", "mode": "single", "triggers": [{"at": "18:00:00", "trigger": "time"}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 844.0155982971191, "success": true, "error_message": null, "response_size_bytes": 59574, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:06:27.496061+00:00", "tool_name": "ha_search", "parameters": {"query": "entryway motion", "domain_filter": "binary_sensor", "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 113.06405067443848, "success": true, "error_message": null, "response_size_bytes": 779, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:06:38.734934+00:00", "tool_name": "ha_search", "parameters": {"query": "entryway motion", "domain_filter": null, "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": false, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 7804.042100906372, "success": true, "error_message": null, "response_size_bytes": 4501, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:07:02.132122+00:00", "tool_name": "ha_config_get_automation", "parameters": {"identifier": "automation.entryway_lamp_temporary"}, "execution_time_ms": 86.78007125854492, "success": true, "error_message": null, "response_size_bytes": 633, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:07:06.747984+00:00", "tool_name": "ha_config_get_automation", "parameters": {"identifier": "automation.office_lamp_on_at_6pm"}, "execution_time_ms": 103.78479957580566, "success": true, "error_message": null, "response_size_bytes": 413, "user_context": null}
|
|
{"timestamp": "2026-07-23T19:07:15.081115+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": null, "identifier": "automation.office_lamp_on_at_6pm", "python_transform": "config['triggers'].append({'trigger': 'state', 'entity_id': ['binary_sensor.entryway'], 'to': ['on'], 'id': 'entryway_motion'})\nconfig['description'] = 'Turn on the office lamp every day at 6:00 PM, or whenever motion is detected in the entryway'", "config_hash": "5f51e207357bbf3f", "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 350.6944179534912, "success": true, "error_message": null, "response_size_bytes": 59968, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:37:16.865894+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"alias": "MCP Backup Test", "description": "Testing ha-direct backup functionality", "triggers": [{"trigger": "time", "at": "12:00:00"}], "actions": [{"action": "notify.persistent_notification", "data": {"title": "Backup Test", "message": "This is the ORIGINAL message"}}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 242.6166534423828, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"INTERNAL_ERROR\",\n \"message\": \"An unexpected error occurred\",\n \"details\": \"Task <Task pending name='mcp.server.lowlevel.server.Server._handle_message' coro=<Server._handle_message() running at /usr/local/lib/python3.14/site-packages/mcp/server/lowlevel/server.py:696> cb=[TaskGroup._spawn.<locals>.task_done() at /usr/local/lib/python3.14/site-packages/anyio/_backends/_asyncio.py:821]> got Future <Future pending cb=[shield.<locals>._outer_done_callback() at /usr/local/lib/python3.14/asyncio/tasks.py:993]> attached to a different loop\",\n \"suggestion\": \"Check automation configuration format\",\n \"suggestions\": [\n \"Check automation configuration format\",\n \"Ensure required fields: alias, triggers, actions\",\n \"Use entity_id format: automation.morning_routine or unique_id\",\n \"Use ha_search(domain_filter='automation') to find automations\",\n \"Use ha_get_skill_guide for automation examples\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"identifier\": null\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:37:32.732069+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"alias": "MCP Backup Test", "description": "Testing ha-direct backup functionality", "triggers": [{"at": "12:00:00", "trigger": "time"}], "actions": [{"action": "notify.persistent_notification", "data": {"title": "Backup Test", "message": "This is the ORIGINAL message"}}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 170.91965675354004, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"INTERNAL_ERROR\",\n \"message\": \"An unexpected error occurred\",\n \"details\": \"Event loop is closed\",\n \"suggestion\": \"Check automation configuration format\",\n \"suggestions\": [\n \"Check automation configuration format\",\n \"Ensure required fields: alias, triggers, actions\",\n \"Use entity_id format: automation.morning_routine or unique_id\",\n \"Use ha_search(domain_filter='automation') to find automations\",\n \"Use ha_get_skill_guide for automation examples\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"identifier\": null\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:37:42.738041+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"actions": [{"action": "notify.persistent_notification", "data": {"message": "This is the ORIGINAL message", "title": "Backup Test"}}], "alias": "MCP Backup Test", "description": "Testing ha-direct backup functionality", "triggers": [{"at": "12:00:00", "trigger": "time"}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 878.2968521118164, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"INTERNAL_ERROR\",\n \"message\": \"An unexpected error occurred\",\n \"details\": \"Task <Task pending name='mcp.server.lowlevel.server.Server._handle_message' coro=<Server._handle_message() running at /usr/local/lib/python3.14/site-packages/mcp/server/lowlevel/server.py:696> cb=[TaskGroup._spawn.<locals>.task_done() at /usr/local/lib/python3.14/site-packages/anyio/_backends/_asyncio.py:821]> got Future <Future pending cb=[shield.<locals>._outer_done_callback() at /usr/local/lib/python3.14/asyncio/tasks.py:993]> attached to a different loop\",\n \"suggestion\": \"Check automation configuration format\",\n \"suggestions\": [\n \"Check automation configuration format\",\n \"Ensure required fields: alias, triggers, actions\",\n \"Use entity_id format: automation.morning_routine or unique_id\",\n \"Use ha_search(domain_filter='automation') to find automations\",\n \"Use ha_get_skill_guide for automation examples\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"identifier\": null\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:37:54.548003+00:00", "tool_name": "ha_search", "parameters": {"query": "test", "domain_filter": null, "area_filter": null, "search_types": null, "limit": 1, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 4240.346431732178, "success": true, "error_message": null, "response_size_bytes": 3195, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:37:58.917978+00:00", "tool_name": "ha_manage_backup", "parameters": {"scope": "edits", "action": "list", "name": null, "backup_id": null, "restore_database": false, "confirm": false, "domain": null, "entity_id": null, "backup_name": null, "older_than_days": null, "limit": 200, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 35.64810752868652, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"COMPONENT_NOT_INSTALLED\",\n \"message\": \"The installed ha_mcp_tools custom component is too old: the get_caller_token bootstrap service is not registered (pre-0.5.0). This ha-mcp release requires >= 1.2.0. Update via HACS and restart Home Assistant.\",\n \"suggestion\": \"HACS \\u2192 Integrations \\u2192 HA-MCP Custom Component \\u2192 Update\",\n \"suggestions\": [\n \"HACS \\u2192 Integrations \\u2192 HA-MCP Custom Component \\u2192 Update\",\n \"Restart Home Assistant after update completes\",\n \"Then retry the operation\"\n ]\n }\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:45:30.099411+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"alias": "MCP Backup Test", "description": "Test automation to verify ha-direct backup functionality", "triggers": [{"trigger": "state", "entity_id": "sun.sun", "to": "above_horizon"}], "actions": [{"action": "notify.notify", "data": {"title": "MCP Test", "message": "Automation created via ha-direct!"}}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 154.10923957824707, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"INTERNAL_ERROR\",\n \"message\": \"An unexpected error occurred\",\n \"details\": \"Task <Task pending name='mcp.server.lowlevel.server.Server._handle_message' coro=<Server._handle_message() running at /usr/local/lib/python3.14/site-packages/mcp/server/lowlevel/server.py:696> cb=[TaskGroup._spawn.<locals>.task_done() at /usr/local/lib/python3.14/site-packages/anyio/_backends/_asyncio.py:821]> got Future <Future pending cb=[shield.<locals>._outer_done_callback() at /usr/local/lib/python3.14/asyncio/tasks.py:993]> attached to a different loop\",\n \"suggestion\": \"Check automation configuration format\",\n \"suggestions\": [\n \"Check automation configuration format\",\n \"Ensure required fields: alias, triggers, actions\",\n \"Use entity_id format: automation.morning_routine or unique_id\",\n \"Use ha_search(domain_filter='automation') to find automations\",\n \"Use ha_get_skill_guide for automation examples\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"identifier\": null\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:45:48.819203+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": {"alias": "MCP Backup Test", "description": "Test automation to verify ha-direct backup functionality", "triggers": [{"trigger": "state", "entity_id": "sun.sun", "to": "above_horizon"}], "actions": [{"action": "notify.notify", "data": {"title": "MCP Test", "message": "Automation created via ha-direct!"}}]}, "identifier": null, "python_transform": null, "config_hash": null, "category": null, "wait": true, "MandatoryBPS": false, "BestPracticeKey": null}, "execution_time_ms": 140.55800437927246, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"INTERNAL_ERROR\",\n \"message\": \"An unexpected error occurred\",\n \"details\": \"Task <Task pending name='mcp.server.lowlevel.server.Server._handle_message' coro=<Server._handle_message() running at /usr/local/lib/python3.14/site-packages/mcp/server/lowlevel/server.py:696> cb=[TaskGroup._spawn.<locals>.task_done() at /usr/local/lib/python3.14/site-packages/anyio/_backends/_asyncio.py:821]> got Future <Future pending cb=[shield.<locals>._outer_done_callback() at /usr/local/lib/python3.14/asyncio/tasks.py:993]> attached to a different loop\",\n \"suggestion\": \"Check automation configuration format\",\n \"suggestions\": [\n \"Check automation configuration format\",\n \"Ensure required fields: alias, triggers, actions\",\n \"Use entity_id format: automation.morning_routine or unique_id\",\n \"Use ha_search(domain_filter='automation') to find automations\",\n \"Use ha_get_skill_guide for automation examples\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"identifier\": null\n}", "response_size_bytes": null, "user_context": null}
|
|
{"timestamp": "2026-07-24T19:47:37.323022+00:00", "tool_name": "ha_manage_backup", "parameters": {"scope": "edits", "action": "list", "name": null, "backup_id": null, "restore_database": false, "confirm": false, "domain": null, "entity_id": null, "backup_name": null, "older_than_days": null, "limit": 200, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 24.805784225463867, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"COMPONENT_NOT_INSTALLED\",\n \"message\": \"The installed ha_mcp_tools custom component is too old: the get_caller_token bootstrap service is not registered (pre-0.5.0). This ha-mcp release requires >= 1.2.0. Update via HACS and restart Home Assistant.\",\n \"suggestion\": \"HACS \\u2192 Integrations \\u2192 HA-MCP Custom Component \\u2192 Update\",\n \"suggestions\": [\n \"HACS \\u2192 Integrations \\u2192 HA-MCP Custom Component \\u2192 Update\",\n \"Restart Home Assistant after update completes\",\n \"Then retry the operation\"\n ]\n }\n}", "response_size_bytes": null, "user_context": null}
|