.ha_mcp/logs/mcp_usage.jsonl, automations.yaml
This commit is contained in:
@@ -4460,3 +4460,5 @@
|
||||
{"timestamp": "2026-10-12T16:29:38.717387+00:00", "tool_name": "ha_eval_template", "parameters": {"template": "{{ (states('input_number.sparkx_i7_filament_g_cm') | float) }} | {{ (1992.9 * (states('input_number.sparkx_i7_filament_g_cm') | float)) | round(1) }} | {{ (((1992.9 * (states('input_number.sparkx_i7_filament_g_cm') | float)) | round(1)) * (states('input_number.filament_price_per_kg') | float(25)) / 1000) | round(2) }}", "condition": null, "variables": null, "strict": false, "timeout": 3, "report_errors": true}, "execution_time_ms": 19.358396530151367, "success": true, "error_message": null, "response_size_bytes": 537, "user_context": null}
|
||||
{"timestamp": "2026-10-12T16:31:06.568338+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": null, "identifier": "1791477238762", "python_transform": "stack = [config]\nfor _ in range(500):\n if not stack:\n break\n node = stack.pop()\n if isinstance(node, dict):\n for k in list(node.keys()):\n if isinstance(node[k], str) and \"split(' ')\" in node[k]:\n node[k] = node[k].replace(\"split(' ')\", \"split('_')\")\n elif isinstance(node[k], (dict, list)):\n stack.append(node[k])\n elif isinstance(node, list):\n for i in range(len(node)):\n if isinstance(node[i], str) and \"split(' ')\" in node[i]:\n node[i] = node[i].replace(\"split(' ')\", \"split('_')\")\n elif isinstance(node[i], (dict, list)):\n stack.append(node[i])", "config_hash": "ea2dd4d9f2623a01", "take_control_of_blueprint": false, "category": null, "wait": true, "enabled": null, "run_actions": false, "MandatoryBPS": false, "BestPracticeKey": null}, "execution_time_ms": 105.04531860351562, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"SERVICE_CALL_FAILED\",\n \"message\": \"Automation modified since last read (conflict)\",\n \"suggestion\": \"Call ha_config_get_automation() again\",\n \"suggestions\": [\n \"Call ha_config_get_automation() again\",\n \"Use the fresh config_hash from that response\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide() to read SKILL.md, then the reference file its table points to, before retrying.\"\n ]\n },\n \"action\": \"python_transform\",\n \"identifier\": \"1791477238762\"\n}", "response_size_bytes": null, "user_context": null}
|
||||
{"timestamp": "2026-10-12T16:31:14.057677+00:00", "tool_name": "ha_config_get_automation", "parameters": {"identifier": "1791477238762"}, "execution_time_ms": 357.1889400482178, "success": true, "error_message": null, "response_size_bytes": 5672, "user_context": null}
|
||||
{"timestamp": "2026-10-12T16:31:21.696328+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": null, "identifier": "1791477238762", "python_transform": "stack = [config]\nfor _ in range(500):\n if not stack:\n break\n node = stack.pop()\n if isinstance(node, dict):\n for k in list(node.keys()):\n if isinstance(node[k], str) and \"split(' ')\" in node[k]:\n node[k] = node[k].replace(\"split(' ')\", \"split('_')\")\n elif isinstance(node[k], (dict, list)):\n stack.append(node[k])\n elif isinstance(node, list):\n for i in range(len(node)):\n if isinstance(node[i], str) and \"split(' ')\" in node[i]:\n node[i] = node[i].replace(\"split(' ')\", \"split('_')\")\n elif isinstance(node[i], (dict, list)):\n stack.append(node[i])", "config_hash": "67883587a6616a08", "take_control_of_blueprint": false, "category": null, "wait": true, "enabled": null, "run_actions": false, "MandatoryBPS": false, "BestPracticeKey": null}, "execution_time_ms": 1297.755241394043, "success": true, "error_message": null, "response_size_bytes": 7691, "user_context": null}
|
||||
{"timestamp": "2026-10-12T16:31:26.410364+00:00", "tool_name": "ha_reload_core", "parameters": {"target": "automations", "entry_id": null}, "execution_time_ms": 198.5642910003662, "success": true, "error_message": null, "response_size_bytes": 122, "user_context": null}
|
||||
|
||||
+4
-4
@@ -4634,16 +4634,16 @@
|
||||
use_weight: '{{ grams | float(0) }}'
|
||||
- if:
|
||||
condition: template
|
||||
value_template: '{{ old_slot.split('' '')[-1] in [''1'', ''2'', ''3'',
|
||||
value_template: '{{ old_slot.split(''_'')[-1] in [''1'', ''2'', ''3'',
|
||||
''4''] }}'
|
||||
then:
|
||||
- action: input_number.set_value
|
||||
target:
|
||||
entity_id: input_number.sparkx_i7_slot_{{ old_slot.split(' ')[-1]
|
||||
entity_id: input_number.sparkx_i7_slot_{{ old_slot.split('_')[-1]
|
||||
}}_grams
|
||||
data:
|
||||
value: '{{ (states(''input_number.sparkx_i7_slot_'' ~ old_slot.split(''
|
||||
'')[-1] ~ ''_grams'') | float(0)) + (grams | float) }}'
|
||||
value: '{{ (states(''input_number.sparkx_i7_slot_'' ~ old_slot.split(''_'')[-1]
|
||||
~ ''_grams'') | float(0)) + (grams | float) }}'
|
||||
default:
|
||||
- action: notify.persistent_notification
|
||||
data:
|
||||
|
||||
Reference in New Issue
Block a user