diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 204a36a..ad8b2fa 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -991,3 +991,4 @@ {"timestamp": "2026-08-08T03:13:30.722499+00:00", "tool_name": "ha_config_list_dashboard_resources", "parameters": {"include_content": false, "limit": 100, "offset": 0}, "execution_time_ms": 1.554250717163086, "success": true, "error_message": null, "response_size_bytes": 8178, "user_context": null} {"timestamp": "2026-08-08T03:13:35.304788+00:00", "tool_name": "ha_get_state", "parameters": {"entity_id": ["sensor.octoprint_filament_daily", "sensor.octoprint_filament_weekly", "sensor.octoprint_filament_monthly", "sensor.octoprint_filament_used_total"], "fields": ["entity_id", "state", "attributes"], "attribute_keys": null}, "execution_time_ms": 18.41592788696289, "success": true, "error_message": null, "response_size_bytes": 1928, "user_context": null} {"timestamp": "2026-08-08T03:14:15.721951+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": "history", "mode": null, "query": null}, "execution_time_ms": 3.9975643157958984, "success": true, "error_message": null, "response_size_bytes": 4019, "user_context": null} +{"timestamp": "2026-08-08T03:14:27.382862+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "config['views'][1]['sections'][1]['cards'].append({\"type\": \"custom:apexcharts-card\", \"header\": {\"show\": True, \"title\": \"Filament Usage (30 days)\", \"show_states\": True, \"colorize_states\": True}, \"graph_span\": \"30d\", \"apex_config\": {\"chart\": {\"type\": \"bar\", \"height\": 300}, \"plotOptions\": {\"bar\": {\"columnWidth\": \"50%\"}}, \"dataLabels\": {\"enabled\": False}, \"yaxis\": {\"tickAmount\": 4, \"labels\": {\"minWidth\": 40}}}, \"series\": [{\"entity\": \"sensor.octoprint_filament_daily\", \"name\": \"Used (mm)\", \"color\": \"#26c6da\", \"type\": \"column\", \"group_by\": {\"func\": \"last\", \"duration\": \"1d\", \"start_with_last\": True}}, {\"entity\": \"sensor.octoprint_filament_used_total\", \"name\": \"Total (mm)\", \"color\": \"#ab47bc\", \"type\": \"line\", \"curve\": \"straight\", \"group_by\": {\"func\": \"last\", \"duration\": \"1d\", \"start_with_last\": True}}], \"grid_options\": {\"columns\": \"full\"}, \"span\": {\"end\": \"day\"}})", "config_hash": "73f6c2148585a2e4", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 7.647037506103516, "success": true, "error_message": null, "response_size_bytes": 1458, "user_context": null} diff --git a/.storage/lovelace.printer_stats b/.storage/lovelace.printer_stats index 0d2a248..34f7265 100644 --- a/.storage/lovelace.printer_stats +++ b/.storage/lovelace.printer_stats @@ -637,6 +637,67 @@ "span": { "end": "day" } + }, + { + "type": "custom:apexcharts-card", + "header": { + "show": true, + "title": "Filament Usage (30 days)", + "show_states": true, + "colorize_states": true + }, + "graph_span": "30d", + "apex_config": { + "chart": { + "type": "bar", + "height": 300 + }, + "plotOptions": { + "bar": { + "columnWidth": "50%" + } + }, + "dataLabels": { + "enabled": false + }, + "yaxis": { + "tickAmount": 4, + "labels": { + "minWidth": 40 + } + } + }, + "series": [ + { + "entity": "sensor.octoprint_filament_daily", + "name": "Used (mm)", + "color": "#26c6da", + "type": "column", + "group_by": { + "func": "last", + "duration": "1d", + "start_with_last": true + } + }, + { + "entity": "sensor.octoprint_filament_used_total", + "name": "Total (mm)", + "color": "#ab47bc", + "type": "line", + "curve": "straight", + "group_by": { + "func": "last", + "duration": "1d", + "start_with_last": true + } + } + ], + "grid_options": { + "columns": "full" + }, + "span": { + "end": "day" + } } ] }