diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 1a4d3a47..6a209642 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -2464,3 +2464,4 @@ {"timestamp": "2026-08-26T06:44:38.675554+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "config[\"views\"][0][\"sections\"][0][\"cards\"][2] = {\"type\": \"custom:webrtc-camera\", \"entity\": \"camera.endercamera2_duckdns_org\", \"grid_options\": {\"columns\": \"full\"}}", "config_hash": "e809d3cf445c804a", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 12.847661972045898, "success": true, "error_message": null, "response_size_bytes": 747, "user_context": null} {"timestamp": "2026-08-26T06:44:40.387621+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "ender5-printer", "config": null, "python_transform": "config[\"views\"][0][\"sections\"][0][\"cards\"][6][\"cards\"][0] = {\"type\": \"custom:webrtc-camera\", \"entity\": \"camera.endercamera2_duckdns_org\", \"style\": \"border-radius: 12px 12px 0 0; overflow: hidden;\"}", "config_hash": "aba70363603ea218", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null}, "execution_time_ms": 69.12040710449219, "success": true, "error_message": null, "response_size_bytes": 634, "user_context": null} {"timestamp": "2026-08-26T06:46:53.064659+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": "printer", "mode": null, "query": null}, "execution_time_ms": 3.155946731567383, "success": true, "error_message": null, "response_size_bytes": 15779, "user_context": null} +{"timestamp": "2026-08-26T06:47:27.930170+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "ender5-printer", "config": null, "python_transform": "cards = config[\"views\"][0][\"sections\"][0][\"cards\"]; cards[3] = {\"type\": \"vertical-stack\", \"cards\": [{\"type\": \"custom:webrtc-camera\", \"url\": \"octoprint\", \"mode\": \"mse\"}, {\"type\": \"custom:webrtc-camera\", \"entity\": \"camera.endercamera2_duckdns_org\"}]}; controls = cards[6][\"cards\"][1]; cards[5] = controls; del cards[6]", "config_hash": "5723d32a026d1c5d", "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.766246795654297, "success": true, "error_message": null, "response_size_bytes": 753, "user_context": null} diff --git a/.storage/lovelace.ender5_printer b/.storage/lovelace.ender5_printer index 18a2702f..146f0fa2 100644 --- a/.storage/lovelace.ender5_printer +++ b/.storage/lovelace.ender5_printer @@ -378,16 +378,11 @@ { "type": "custom:webrtc-camera", "url": "octoprint", - "mode": "mse", - "style": "border-radius: 12px 12px 0 0; overflow: hidden;" + "mode": "mse" }, { - "type": "custom:mushroom-light-card", - "entity": "light.3d_printer_lights", - "name": "Lamp", - "icon": "mdi:lightbulb", - "show_brightness_control": true, - "layout": "horizontal" + "type": "custom:webrtc-camera", + "entity": "camera.endercamera2_duckdns_org" } ] }, @@ -464,239 +459,210 @@ "type": "vertical-stack", "cards": [ { - "type": "custom:webrtc-camera", - "url": "octoprint/cam2_Ender5Pro", - "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": [ - { - "type": "custom:webrtc-camera", - "entity": "camera.endercamera2_duckdns_org", - "style": "border-radius: 12px 12px 0 0; overflow: hidden;" - }, - { - "type": "vertical-stack", + "type": "horizontal-stack", "cards": [ { - "type": "horizontal-stack", - "cards": [ + "type": "custom:button-card", + "entity": "switch.octoprint_connect_to_printer", + "show_state": false, + "tap_action": { + "action": "toggle" + }, + "name": "Connect", + "icon": "mdi:lan-connect", + "state": [ { - "type": "custom:button-card", - "entity": "switch.octoprint_connect_to_printer", - "show_state": false, - "tap_action": { - "action": "toggle" - }, - "name": "Connect", - "icon": "mdi:lan-connect", - "state": [ - { - "value": "off", - "name": "Disconnect", - "icon": "mdi:lan-disconnect" - } - ], - "styles": { - "card": [ - { - "height": "91px" - }, - { - "border-radius": "12px" - }, - { - "box-shadow": "none" - }, - { - "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" - }, - { - "background": "var(--ha-card-background, var(--card-background-color))" - } - ], - "name": [ - { - "font-size": "11px", - "font-weight": "500" - } - ], - "icon": [ - { - "--mdc-icon-size": "26px" - }, - { - "margin-top": "6px" - }, - { - "color": "[[[ return states['switch.octoprint_connect_to_printer']?.state === 'on' ? '#4CAF50' : 'var(--secondary-text-color)'; ]]]" - } - ] - } - }, - { - "type": "custom:button-card", - "entity": "switch.octoprint_camera_snapshot", - "show_state": false, - "tap_action": { - "action": "toggle" - }, - "name": "Snapshots", - "icon": "mdi:camera", - "state": [ - { - "value": "off", - "name": "Snapshots", - "icon": "mdi:camera-off" - } - ], - "styles": { - "card": [ - { - "height": "91px" - }, - { - "border-radius": "12px" - }, - { - "box-shadow": "none" - }, - { - "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" - }, - { - "background": "var(--ha-card-background, var(--card-background-color))" - } - ], - "name": [ - { - "font-size": "11px", - "font-weight": "500" - } - ], - "icon": [ - { - "--mdc-icon-size": "26px" - }, - { - "margin-top": "6px" - }, - { - "color": "[[[ return states['switch.octoprint_camera_snapshot']?.state === 'on' ? '#4CAF50' : 'var(--secondary-text-color)'; ]]]" - } - ] - } + "value": "off", + "name": "Disconnect", + "icon": "mdi:lan-disconnect" } - ] + ], + "styles": { + "card": [ + { + "height": "91px" + }, + { + "border-radius": "12px" + }, + { + "box-shadow": "none" + }, + { + "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" + }, + { + "background": "var(--ha-card-background, var(--card-background-color))" + } + ], + "name": [ + { + "font-size": "11px", + "font-weight": "500" + } + ], + "icon": [ + { + "--mdc-icon-size": "26px" + }, + { + "margin-top": "6px" + }, + { + "color": "[[[ return states['switch.octoprint_connect_to_printer']?.state === 'on' ? '#4CAF50' : 'var(--secondary-text-color)'; ]]]" + } + ] + } }, { - "type": "horizontal-stack", - "cards": [ + "type": "custom:button-card", + "entity": "switch.octoprint_camera_snapshot", + "show_state": false, + "tap_action": { + "action": "toggle" + }, + "name": "Snapshots", + "icon": "mdi:camera", + "state": [ { - "type": "custom:button-card", - "name": "GCode viewer", - "icon": "mdi:cube-outline", - "show_state": false, - "tap_action": { - "action": "url", - "url_path": "https://ender5pro.duckdns.org/#gcode" - }, - "styles": { - "card": [ - { - "height": "91px" - }, - { - "border-radius": "12px" - }, - { - "box-shadow": "none" - }, - { - "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" - }, - { - "background": "var(--ha-card-background, var(--card-background-color))" - } - ], - "name": [ - { - "font-size": "11px", - "font-weight": "500" - } - ], - "icon": [ - { - "--mdc-icon-size": "26px" - }, - { - "margin-top": "6px" - }, - { - "color": "#4CAF50" - } - ] - } - }, - { - "type": "custom:button-card", - "name": "Pretty GCode", - "icon": "mdi:cube-scan", - "show_state": false, - "tap_action": { - "action": "url", - "url_path": "https://ender5pro.duckdns.org/#tab_plugin_prettygcode" - }, - "styles": { - "card": [ - { - "height": "91px" - }, - { - "border-radius": "12px" - }, - { - "box-shadow": "none" - }, - { - "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" - }, - { - "background": "var(--ha-card-background, var(--card-background-color))" - } - ], - "name": [ - { - "font-size": "11px", - "font-weight": "500" - } - ], - "icon": [ - { - "--mdc-icon-size": "26px" - }, - { - "margin-top": "6px" - }, - { - "color": "#4CAF50" - } - ] - } + "value": "off", + "name": "Snapshots", + "icon": "mdi:camera-off" } - ] + ], + "styles": { + "card": [ + { + "height": "91px" + }, + { + "border-radius": "12px" + }, + { + "box-shadow": "none" + }, + { + "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" + }, + { + "background": "var(--ha-card-background, var(--card-background-color))" + } + ], + "name": [ + { + "font-size": "11px", + "font-weight": "500" + } + ], + "icon": [ + { + "--mdc-icon-size": "26px" + }, + { + "margin-top": "6px" + }, + { + "color": "[[[ return states['switch.octoprint_camera_snapshot']?.state === 'on' ? '#4CAF50' : 'var(--secondary-text-color)'; ]]]" + } + ] + } + } + ] + }, + { + "type": "horizontal-stack", + "cards": [ + { + "type": "custom:button-card", + "name": "GCode viewer", + "icon": "mdi:cube-outline", + "show_state": false, + "tap_action": { + "action": "url", + "url_path": "https://ender5pro.duckdns.org/#gcode" + }, + "styles": { + "card": [ + { + "height": "91px" + }, + { + "border-radius": "12px" + }, + { + "box-shadow": "none" + }, + { + "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" + }, + { + "background": "var(--ha-card-background, var(--card-background-color))" + } + ], + "name": [ + { + "font-size": "11px", + "font-weight": "500" + } + ], + "icon": [ + { + "--mdc-icon-size": "26px" + }, + { + "margin-top": "6px" + }, + { + "color": "#4CAF50" + } + ] + } + }, + { + "type": "custom:button-card", + "name": "Pretty GCode", + "icon": "mdi:cube-scan", + "show_state": false, + "tap_action": { + "action": "url", + "url_path": "https://ender5pro.duckdns.org/#tab_plugin_prettygcode" + }, + "styles": { + "card": [ + { + "height": "91px" + }, + { + "border-radius": "12px" + }, + { + "box-shadow": "none" + }, + { + "border": "1px solid rgba(var(--rgb-primary-text-color), 0.08)" + }, + { + "background": "var(--ha-card-background, var(--card-background-color))" + } + ], + "name": [ + { + "font-size": "11px", + "font-weight": "500" + } + ], + "icon": [ + { + "--mdc-icon-size": "26px" + }, + { + "margin-top": "6px" + }, + { + "color": "#4CAF50" + } + ] + } } ] }