From 94ac8965e6b88d2545f68f429191162c0a239b29 Mon Sep 17 00:00:00 2001 From: Home Assistant Version Control Date: Thu, 1 Oct 2026 23:47:09 +0000 Subject: [PATCH] .ha_mcp/logs/mcp_usage.jsonl, automations.yaml --- .ha_mcp/logs/mcp_usage.jsonl | 1 + automations.yaml | 18 +++++++----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 66f54a9d..db91ad56 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -3807,3 +3807,4 @@ {"timestamp": "2026-10-01T17:27:39.469591+00:00", "tool_name": "ha_get_app", "parameters": {"source": "installed", "slug": "f5588468_ha_opencode", "include_stats": false, "repository": null, "query": null}, "execution_time_ms": 10.255098342895508, "success": true, "error_message": null, "response_size_bytes": 18485, "user_context": null} {"timestamp": "2026-10-01T17:29:02.306993+00:00", "tool_name": "ha_manage_app", "parameters": {"slug": "f5588468_ha_opencode", "path": null, "method": "GET", "body": null, "debug": false, "port": null, "offset": 0, "limit": null, "websocket": false, "wait_for_close": true, "message_limit": null, "message_offset": 0, "summarize": true, "python_transform": null, "options": null, "network": null, "boot": null, "auto_update": null, "watchdog": null, "array_patch": null, "request_headers": null, "action": "restart", "repository": null}, "execution_time_ms": 865.3573989868164, "success": false, "error_message": "Cancelled via cancel scope 25df40e43a0 by .run_stateless_server() running at /usr/local/lib/python3.14/site-packages/ha_mcp/_vendor/mcp/server/streamable_http_manager.py:245> cb=[TaskGroup._spawn..task_done() at /usr/local/lib/python3.14/site-packages/anyio/_backends/_asyncio.py:821]>", "response_size_bytes": null, "user_context": null} {"timestamp": "2026-10-01T23:45:54.917067+00:00", "tool_name": "ha_config_get_automation", "parameters": {"identifier": "automation.3d_print_early_layers_snapshot"}, "execution_time_ms": 246.60921096801758, "success": true, "error_message": null, "response_size_bytes": 4293, "user_context": null} +{"timestamp": "2026-10-01T23:47:07.102911+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": null, "identifier": "automation.3d_print_early_layers_snapshot", "python_transform": "config['triggers'] = [\n {'above': 5, 'entity_id': 'sensor.sparkx_i7_print_progress', 'trigger': 'numeric_state'},\n {'above': 25, 'entity_id': 'sensor.sparkx_i7_print_progress', 'trigger': 'numeric_state'},\n {'above': 50, 'entity_id': 'sensor.sparkx_i7_print_progress', 'trigger': 'numeric_state'},\n {'above': 75, 'entity_id': 'sensor.sparkx_i7_print_progress', 'trigger': 'numeric_state'},\n]\nvars_block = config['actions'][0]\nif 'variables' in vars_block:\n vars_block['variables']['milestone'] = \"{% set above = trigger.get('above', 0) | int(0) %}{% if above >= 75 %} 75% complete{% elif above >= 50 %} 50% complete{% elif above >= 25 %} 25% complete{% elif above >= 5 %} 5% complete{% else %} Print progress {{ above }}%{% endif %}\"\n vars_block['variables']['tag'] = \"p{{ trigger.get('above', 0) | int(0) }}\"\n", "config_hash": "dfee78ad53e9bab4", "take_control_of_blueprint": false, "category": null, "wait": true, "enabled": null, "run_actions": false, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 1468.022346496582, "success": true, "error_message": null, "response_size_bytes": 79747, "user_context": null} diff --git a/automations.yaml b/automations.yaml index c89eb770..f9fb8dd5 100644 --- a/automations.yaml +++ b/automations.yaml @@ -3545,8 +3545,8 @@ bedroom lamp only if they are currently off, then restores whatever state they were in before capturing. triggers: - - above: 1 - entity_id: sensor.sparkx_i7_position_z + - above: 5 + entity_id: sensor.sparkx_i7_print_progress trigger: numeric_state - above: 25 entity_id: sensor.sparkx_i7_print_progress @@ -3563,15 +3563,11 @@ state: printing actions: - variables: - milestone: '{% set source = trigger.get(''entity_id'', '''') %} {% set tstate - = trigger.get(''to_state'') %} {% set value = tstate.state | float(0) if tstate - else 0 %} {% if source == ''sensor.sparkx_i7_position_z'' %} First layers - (Z {{ value }} mm) {% elif source == ''sensor.sparkx_i7_print_progress'' %} - {% if value >= 75 %} 75% complete {% elif value >= 50 %} 50% complete {% else - %} 25% complete {% endif %} {% else %} Manual test {% endif %}' - tag: '{% set source = trigger.get(''entity_id'', '''') %} {% if source == ''sensor.sparkx_i7_position_z'' - %} z1 {% elif source == ''sensor.sparkx_i7_print_progress'' %} p{{ trigger.get(''above'', - 0) | int }} {% else %} test {% endif %}' + milestone: '{% set above = trigger.get(''above'', 0) | int(0) %}{% if above + >= 75 %} 75% complete{% elif above >= 50 %} 50% complete{% elif above >= 25 + %} 25% complete{% elif above >= 5 %} 5% complete{% else %} Print progress + {{ above }}%{% endif %}' + tag: p{{ trigger.get('above', 0) | int(0) }} - variables: bedroom_needs_light: '{{ not is_state(''light.bedroom_lamp_2'', ''on'') }}' message: '{% set file = state_attr(''sensor.sparkx_i7_print_status'', ''file'')