diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 4e44d577..4a5aced2 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -2412,3 +2412,5 @@ {"timestamp": "2026-08-26T06:02:36.702959+00:00", "tool_name": "ha_config_get_dashboard", "parameters": {"url_path": "ender5-printer", "list_only": false, "force_reload": false, "entity_id": null, "card_type": null, "heading": null, "include_config": false, "include_screenshot": false, "view_path": null, "mode": null, "query": null}, "execution_time_ms": 2.9821395874023438, "success": true, "error_message": null, "response_size_bytes": 17635, "user_context": null} {"timestamp": "2026-08-26T06:03:14.611942+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "\ncam1 = config[\"views\"][0][\"sections\"][0][\"cards\"][1]\ncam2 = {\n \"type\": \"custom:webrtc-camera\",\n \"url\": \"https://endercamera2.duckdns.org/?action=stream\",\n \"mode\": \"mse\",\n \"grid_options\": {\"columns\": \"half\"}\n}\ncam1[\"grid_options\"] = {\"columns\": \"half\"}\nconfig[\"views\"][0][\"sections\"][0][\"cards\"].insert(2, cam2)\n", "config_hash": null, "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 0.15783309936523438, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"VALIDATION_INVALID_PARAMETER\",\n \"message\": \"config_hash is required for python_transform\",\n \"suggestion\": \"Call ha_config_get_dashboard() first\",\n \"suggestions\": [\n \"Call ha_config_get_dashboard() first\",\n \"Use the config_hash from that response\",\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 \"action\": \"python_transform\",\n \"url_path\": \"printer-stats\"\n}", "response_size_bytes": null, "user_context": null} {"timestamp": "2026-08-26T06:03:17.068016+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "ender5-printer", "config": null, "python_transform": "\ncam_stack = config[\"views\"][0][\"sections\"][0][\"cards\"][4]\nnew_cam_stack = {\n \"type\": \"vertical-stack\",\n \"cards\": [\n {\n \"type\": \"custom:webrtc-camera\",\n \"url\": \"https://endercamera2.duckdns.org/?action=stream\",\n \"mode\": \"mse\",\n \"style\": \"border-radius: 12px 12px 0 0; overflow: hidden;\"\n },\n {\n \"type\": \"custom:mushroom-light-card\",\n \"entity\": \"light.3d_printer_lights\",\n \"name\": \"Lamp\",\n \"icon\": \"mdi:lightbulb\",\n \"show_brightness_control\": True,\n \"layout\": \"horizontal\"\n }\n ]\n}\nconfig[\"views\"][0][\"sections\"][0][\"cards\"].insert(5, new_cam_stack)\n", "config_hash": null, "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 0.16736984252929688, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"VALIDATION_INVALID_PARAMETER\",\n \"message\": \"config_hash is required for python_transform\",\n \"suggestion\": \"Call ha_config_get_dashboard() first\",\n \"suggestions\": [\n \"Call ha_config_get_dashboard() first\",\n \"Use the config_hash from that response\",\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 \"action\": \"python_transform\",\n \"url_path\": \"ender5-printer\"\n}", "response_size_bytes": null, "user_context": null} +{"timestamp": "2026-08-26T06:03:30.392378+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "\ncam1 = config[\"views\"][0][\"sections\"][0][\"cards\"][1]\ncam2 = {\n \"type\": \"custom:webrtc-camera\",\n \"url\": \"https://endercamera2.duckdns.org/?action=stream\",\n \"mode\": \"mse\",\n \"grid_options\": {\"columns\": \"half\"}\n}\ncam1[\"grid_options\"] = {\"columns\": \"half\"}\nconfig[\"views\"][0][\"sections\"][0][\"cards\"].insert(2, cam2)\n", "config_hash": "695f4e12fae6b2d5", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 10.142326354980469, "success": true, "error_message": null, "response_size_bytes": 919, "user_context": null} +{"timestamp": "2026-08-26T06:03:32.158433+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "ender5-printer", "config": null, "python_transform": "\nnew_cam_stack = {\n \"type\": \"vertical-stack\",\n \"cards\": [\n {\n \"type\": \"custom:webrtc-camera\",\n \"url\": \"https://endercamera2.duckdns.org/?action=stream\",\n \"mode\": \"mse\",\n \"style\": \"border-radius: 12px 12px 0 0; overflow: hidden;\"\n },\n {\n \"type\": \"custom:mushroom-light-card\",\n \"entity\": \"light.3d_printer_lights\",\n \"name\": \"Lamp\",\n \"icon\": \"mdi:lightbulb\",\n \"show_brightness_control\": True,\n \"layout\": \"horizontal\"\n }\n ]\n}\nconfig[\"views\"][0][\"sections\"][0][\"cards\"].insert(5, new_cam_stack)\n", "config_hash": "5103427cf5b794dc", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 22.165536880493164, "success": true, "error_message": null, "response_size_bytes": 1095, "user_context": null} diff --git a/.storage/lovelace.ender5_printer b/.storage/lovelace.ender5_printer index c87bacbe..fc3f91e9 100644 --- a/.storage/lovelace.ender5_printer +++ b/.storage/lovelace.ender5_printer @@ -460,6 +460,25 @@ } } }, + { + "type": "vertical-stack", + "cards": [ + { + "type": "custom:webrtc-camera", + "url": "https://endercamera2.duckdns.org/?action=stream", + "mode": "mse", + "style": "border-radius: 12px 12px 0 0; overflow: hidden;" + }, + { + "type": "custom:mushroom-light-card", + "entity": "light.3d_printer_lights", + "name": "Lamp", + "icon": "mdi:lightbulb", + "show_brightness_control": true, + "layout": "horizontal" + } + ] + }, { "type": "horizontal-stack", "cards": [ diff --git a/.storage/lovelace.printer_stats b/.storage/lovelace.printer_stats index ab4a0078..8c29181e 100644 --- a/.storage/lovelace.printer_stats +++ b/.storage/lovelace.printer_stats @@ -24,7 +24,15 @@ "url": "octoprint", "mode": "mse", "grid_options": { - "columns": "full" + "columns": "half" + } + }, + { + "type": "custom:webrtc-camera", + "url": "https://endercamera2.duckdns.org/?action=stream", + "mode": "mse", + "grid_options": { + "columns": "half" } }, {