{ "version": 1, "minor_version": 1, "key": "lovelace.ender5_printer", "data": { "config": { "views": [ { "title": "Ender 5", "path": "printer", "type": "sections", "max_columns": 3, "badges": [ { "type": "entity", "entity": "sensor.octoprint_print_status" } ], "sections": [ { "type": "grid", "cards": [ { "type": "heading", "heading": "Controls", "heading_style": "title" }, { "type": "horizontal-stack", "cards": [ { "type": "button", "entity": "switch.octoprint_pause_print", "name": "Pause", "icon": "mdi:pause", "tap_action": { "action": "toggle" }, "visibility": [ { "condition": "state", "entity": "binary_sensor.octoprint_paused", "state": "off" }, { "condition": "state", "entity": "binary_sensor.octoprint_printing", "state": "on" } ] }, { "type": "button", "entity": "switch.octoprint_pause_print", "name": "Resume", "icon": "mdi:play", "tap_action": { "action": "toggle" }, "visibility": [ { "condition": "state", "entity": "binary_sensor.octoprint_paused", "state": "on" } ] }, { "type": "button", "entity": "button.octoprint_cancel_print", "name": "Cancel", "icon": "mdi:stop-circle-outline", "tap_action": { "action": "perform-action", "perform_action": "button.press", "target": { "entity_id": "button.octoprint_cancel_print" }, "confirmation": { "text": "Cancel the current print?" } }, "visibility": [ { "condition": "state", "entity": "binary_sensor.octoprint_printing", "state": "on" } ] }, { "type": "vertical-stack", "cards": [ { "type": "button", "entity": "switch.octoprint_connect_to_printer", "name": "Connect", "icon": "mdi:lan-connect", "show_state": false, "tap_action": { "action": "toggle" }, "visibility": [ { "condition": "state", "entity": "binary_sensor.octoprint_connected", "state": "off" } ] }, { "type": "button", "entity": "switch.octoprint_connect_to_printer", "name": "Disconnect", "icon": "mdi:lan-disconnect", "show_state": false, "tap_action": { "action": "toggle" }, "visibility": [ { "condition": "state", "entity": "binary_sensor.octoprint_connected", "state": "on" } ] } ] } ] }, { "type": "button", "entity": "button.octoprint_emergency_stop", "name": "EMERGENCY STOP", "icon": "mdi:alert-octagon", "tap_action": { "action": "perform-action", "perform_action": "button.press", "target": { "entity_id": "button.octoprint_emergency_stop" }, "confirmation": { "text": "Emergency stop the printer now?" } } }, { "type": "grid", "columns": 2, "square": false, "cards": [ { "type": "custom:button-card", "entity": "sensor.octoprint_print_status", "name": "Nozzle", "icon": "mdi:thermometer-lines", "label": "[[[ return states['sensor.octoprint_tool_0_temperature'].state + '° / ' + states['sensor.octoprint_tool_0_target'].state + '°'; ]]]", "color": "#E53935", "styles": { "card": [ { "height": "74px", "padding": "6px 10px" } ], "name": [ { "font-size": "12px", "justify-self": "start", "opacity": "0.8" } ], "icon": [ { "color": "#E53935", "width": "26px" } ], "label": [ { "font-size": "17px", "font-weight": "600", "justify-self": "start", "color": "#E53935" } ] } }, { "type": "custom:button-card", "entity": "sensor.octoprint_print_status", "name": "Bed", "icon": "mdi:radiator", "label": "[[[ return states['sensor.octoprint_bed_temperature'].state + '° / ' + states['sensor.octoprint_bed_target'].state + '°'; ]]]", "color": "#FB8C00", "styles": { "card": [ { "height": "74px", "padding": "6px 10px" } ], "name": [ { "font-size": "12px", "justify-self": "start", "opacity": "0.8" } ], "icon": [ { "color": "#FB8C00", "width": "26px" } ], "label": [ { "font-size": "17px", "font-weight": "600", "justify-self": "start", "color": "#FB8C00" } ] } }, { "type": "custom:button-card", "entity": "sensor.octoprint_print_status", "name": "Time left", "icon": "mdi:timer-outline", "label": "[[[ const t = Number(states['sensor.octoprint_print_time_left'].state); return isNaN(t) ? '--' : new Date(t * 1000).toISOString().substr(11, 8); ]]]", "color": "#43A047", "styles": { "card": [ { "height": "74px", "padding": "6px 10px" } ], "name": [ { "font-size": "12px", "justify-self": "start", "opacity": "0.8" } ], "icon": [ { "color": "#43A047", "width": "26px" } ], "label": [ { "font-size": "17px", "font-weight": "600", "justify-self": "start", "color": "#43A047" } ] } }, { "type": "custom:button-card", "entity": "sensor.octoprint_print_status", "name": "Height", "icon": "mdi:arrow-up-bold", "label": "[[[ return states['sensor.octoprint_current_z'].state + ' mm'; ]]]", "color": "#1E88E5", "styles": { "card": [ { "height": "74px", "padding": "6px 10px" } ], "name": [ { "font-size": "12px", "justify-self": "start", "opacity": "0.8" } ], "icon": [ { "color": "#1E88E5", "width": "26px" } ], "label": [ { "font-size": "17px", "font-weight": "600", "justify-self": "start", "color": "#1E88E5" } ] } } ] }, { "type": "gauge", "entity": "sensor.octoprint_print_progress", "unit": "%", "min": 0, "max": 100, "needle": false, "severity": { "green": 65, "yellow": 25, "red": 0 } }, { "type": "markdown", "content": "{% set f = states('sensor.octoprint_print_file') %}\n**{{ f.replace('.gcode', '') if f not in ['unknown', 'unavailable'] else 'No file loaded' }}**\n\n{{ states('sensor.octoprint_print_status') }}{% set t = states('sensor.octoprint_approximate_completion_time') %}{% if t not in ['unknown', 'unavailable'] %} · ETA {{ (t | as_datetime | as_local).strftime('%H:%M') }}{% endif %}" } ] }, { "type": "grid", "cards": [ { "type": "heading", "heading": "Monitor", "heading_style": "title" }, { "type": "custom:webrtc-camera", "entity": "camera.endercamera_duckdns_org", "mode": "mse", "url": "octoprint", "muted": true }, { "type": "custom:mushroom-light-card", "entity": "light.3d_printer_lights", "name": "Printer lights", "show_brightness_control": true, "collapsible_controls": true }, { "type": "custom:apexcharts-card", "graph_span": "1h", "update_interval": 15, "header": { "title": "Temperatures (last hour)", "show": true }, "series": [ { "entity": "sensor.octoprint_tool_0_temperature", "name": "Nozzle", "type": "line", "stroke_width": 2, "color": "#E53935" }, { "entity": "sensor.octoprint_bed_temperature", "name": "Bed", "type": "line", "stroke_width": 2, "color": "#FB8C00" } ], "apex_config": { "chart": { "height": 220 }, "yaxis": { "min": 0, "max": 280 } } }, { "type": "markdown", "content": "**Today**\n\nPrints: {{ states('sensor.octoprint_printer_prints_today') }} · Time: {{ states('sensor.octoprint_printer_print_time_today') }} h\n\nFilament: {{ (states('sensor.octoprint_filament_daily') | float(0) / 10) | round(1) }} m · Serial health: {{ (states('sensor.octoprint_serial_health_ratio') | float(0) * 100) | round(0) }}%" } ] } ] } ] } } }