389 lines
15 KiB
Plaintext
389 lines
15 KiB
Plaintext
{
|
|
"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) }}%"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |