diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 105d5be1..89327d45 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -3608,3 +3608,4 @@ {"timestamp": "2026-09-07T15:13:05.531824+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "cards = config['views'][0]['sections'][1]['cards']; cards[2].update({\"primary\": \"Elapsed\", \"multiline_secondary\": True, \"secondary\": \"{% set s = states('sensor.octoprint_elapsed') | float(0) %}{% set h = (s / 3600) | int %}{% set m = ((s % 3600) / 60) | int %}{% if h %}{{ h }} hr {{ m }} min{% else %}{{ m }} min{% endif %}\"}); cards[3].update({\"primary\": \"Remaining\", \"multiline_secondary\": True, \"secondary\": \"{% set s = states('sensor.octoprint_time_left') | float(-1) %}{% if s <= 0 %}No estimate{% else %}{% set h = (s / 3600) | int %}{% set m = ((s % 3600) / 60) | int %}{% if h %}{{ h }} hr {{ m }} min{% else %}{{ m }} min{% endif %}{% endif %}\"}); cards[5].update({\"primary\": \"Layer\", \"multiline_secondary\": True, \"secondary\": \"{% set c = states('sensor.octoprint_layer_progress') | int(0) %}{% set t = state_attr('sensor.octoprint_layer_progress', 'total') | int(0) %}{{ c }} of {{ t }}\"})", "config_hash": "e6c76696b845b123", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 317.64841079711914, "success": true, "error_message": null, "response_size_bytes": 1501, "user_context": null} {"timestamp": "2026-09-07T15:13:11.968986+00:00", "tool_name": "ha_config_get_dashboard", "parameters": {"url_path": "printer-stats", "list_only": false, "force_reload": false, "entity_id": "sensor.octoprint_elapsed", "card_type": null, "heading": null, "include_config": false, "include_screenshot": false, "view_path": "print", "mode": null, "query": null}, "execution_time_ms": 179.40640449523926, "success": true, "error_message": null, "response_size_bytes": 737, "user_context": null} {"timestamp": "2026-09-07T15:13:18.011791+00:00", "tool_name": "ha_config_get_dashboard", "parameters": {"url_path": "printer-stats", "list_only": false, "force_reload": false, "entity_id": null, "card_type": null, "heading": null, "include_config": false, "include_screenshot": false, "view_path": "print", "mode": null, "query": null}, "execution_time_ms": 38.87462615966797, "success": true, "error_message": null, "response_size_bytes": 11723, "user_context": null} +{"timestamp": "2026-09-07T15:14:00.280113+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "cards = config['views'][0]['sections'][1]['cards']; c = cards[4]; c.clear(); c.update({\"type\": \"custom:mushroom-template-card\", \"primary\": \"Est. Finish\", \"secondary\": \"{% set finish = states('sensor.octoprint_approximate_completion_time') | as_datetime %}{% if finish %}{{ (as_local(finish)).strftime('%I:%M %p').lstrip('0') }}{% else %}—{% endif %}\", \"multiline_secondary\": True, \"icon\": \"mdi:clock-outline\", \"grid_options\": {\"columns\": 6}})", "config_hash": "fd0f3f693eca1be5", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 141.3254737854004, "success": true, "error_message": null, "response_size_bytes": 1041, "user_context": null} diff --git a/.storage/lovelace.printer_stats b/.storage/lovelace.printer_stats index 587ad7aa..a485ad23 100644 --- a/.storage/lovelace.printer_stats +++ b/.storage/lovelace.printer_stats @@ -149,8 +149,11 @@ "secondary": "{% set s = states('sensor.octoprint_time_left') | float(-1) %}{% if s <= 0 %}No estimate{% else %}{% set h = (s / 3600) | int %}{% set m = ((s % 3600) / 60) | int %}{% if h %}{{ h }} hr {{ m }} min{% else %}{{ m }} min{% endif %}{% endif %}" }, { - "type": "markdown", - "content": "{% set finish = states('sensor.octoprint_approximate_completion_time') | as_datetime %}{% if finish %} **Est. finish:** {{ (as_local(finish)).strftime('%I:%M %p').lstrip('0') }}{% else %} **Est. finish:** —{% endif %}", + "type": "custom:mushroom-template-card", + "primary": "Est. Finish", + "secondary": "{% set finish = states('sensor.octoprint_approximate_completion_time') | as_datetime %}{% if finish %}{{ (as_local(finish)).strftime('%I:%M %p').lstrip('0') }}{% else %}—{% endif %}", + "multiline_secondary": true, + "icon": "mdi:clock-outline", "grid_options": { "columns": 6 }