1460 lines
49 KiB
Plaintext
1460 lines
49 KiB
Plaintext
{
|
||
"version": 1,
|
||
"minor_version": 1,
|
||
"key": "lovelace.printer_stats",
|
||
"data": {
|
||
"config": {
|
||
"views": [
|
||
{
|
||
"title": "Print",
|
||
"path": "print",
|
||
"type": "sections",
|
||
"max_columns": 4,
|
||
"sections": [
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Printer Status",
|
||
"icon": "mdi:printer-3d-nozzle"
|
||
},
|
||
{
|
||
"type": "custom:webrtc-camera",
|
||
"url": "octoprint",
|
||
"ui": true
|
||
},
|
||
{
|
||
"type": "custom:webrtc-camera",
|
||
"url": "octoprint2",
|
||
"ui": true
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "binary_sensor.octoprint_printing",
|
||
"name": "Printing",
|
||
"icon": "mdi:printer-3d",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "binary_sensor.octoprint_connected",
|
||
"name": "Connected",
|
||
"icon": "mdi:lan-connect",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_print_status",
|
||
"name": "Status",
|
||
"icon": "mdi:state-machine",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_last_event",
|
||
"name": "Last Event",
|
||
"icon": "mdi:history",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "binary_sensor.octoprint_paused",
|
||
"name": "Paused",
|
||
"icon": "mdi:pause",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_current_z",
|
||
"name": "Current Z",
|
||
"icon": "mdi:axis-z-arrow",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "markdown",
|
||
"content": "**File:** {{ states('sensor.octoprint_print_file') }}\n**Size:** {{ (states('sensor.octoprint_print_file_size') | int(0) / 1048576) | round(2) }} MB\n**User:** {{ states('sensor.octoprint_print_user') }}",
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_print_file",
|
||
"name": "File",
|
||
"icon": "mdi:file-code",
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Print Progress",
|
||
"icon": "mdi:progress-clock"
|
||
},
|
||
{
|
||
"type": "gauge",
|
||
"entity": "sensor.octoprint_print_progress_live",
|
||
"name": "Progress",
|
||
"min": 0,
|
||
"max": 100,
|
||
"unit": "%",
|
||
"severity": {
|
||
"green": 0,
|
||
"yellow": 40,
|
||
"red": 90
|
||
},
|
||
"grid_options": {
|
||
"columns": 6,
|
||
"rows": 3
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:mushroom-template-card",
|
||
"primary": "Elapsed",
|
||
"name": "Elapsed",
|
||
"icon": "mdi:clock-start",
|
||
"grid_options": {
|
||
"columns": 6
|
||
},
|
||
"multiline_secondary": true,
|
||
"secondary": "{% set s = states('sensor.octoprint_elapsed') | float(0) %}{% set h = (s / 3600) | int %}{% set m = ((s % 3600) / 60) | int %}{% if h %}{{ h }} hr {{ m }} min{% else %}{{ m }} min{% endif %}"
|
||
},
|
||
{
|
||
"type": "custom:mushroom-template-card",
|
||
"primary": "Remaining",
|
||
"name": "Remaining",
|
||
"icon": "mdi:clock-end",
|
||
"grid_options": {
|
||
"columns": 6
|
||
},
|
||
"multiline_secondary": true,
|
||
"secondary": "{% set s = states('sensor.octoprint_time_left') | float(-1) %}{% if s <= 0 %}No estimate{% else %}{% set h = (s / 3600) | int %}{% set m = ((s % 3600) / 60) | int %}{% if h %}{{ h }} hr {{ m }} min{% else %}{{ m }} min{% endif %}{% endif %}"
|
||
},
|
||
{
|
||
"type": "custom:mushroom-template-card",
|
||
"primary": "Est. Finish",
|
||
"secondary": "{% set finish = states('sensor.octoprint_approximate_completion_time') | as_datetime %}{% if finish %}{{ (as_local(finish)).strftime('%I:%M %p').lstrip('0') }}{% else %}—{% endif %}",
|
||
"multiline_secondary": true,
|
||
"icon": "mdi:clock-outline",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:mushroom-template-card",
|
||
"primary": "Layer",
|
||
"name": "Layer",
|
||
"icon": "mdi:layers",
|
||
"grid_options": {
|
||
"columns": 6
|
||
},
|
||
"multiline_secondary": true,
|
||
"secondary": "{% set c = states('sensor.octoprint_layer_progress') | int(0) %}{% set t = state_attr('sensor.octoprint_layer_progress', 'total') | int(0) %}{{ c }} of {{ t }}"
|
||
},
|
||
{
|
||
"type": "custom:mushroom-template-card",
|
||
"primary": "Height",
|
||
"name": "Height",
|
||
"icon": "mdi:axis-z-arrow",
|
||
"grid_options": {
|
||
"columns": 6
|
||
},
|
||
"secondary": "{% set c = states('sensor.octoprint_height_progress_clean') | float(0) %}{% set t = state_attr('sensor.octoprint_height_progress_clean', 'total') | float(0) %}{{ c }} of {{ t }} mm",
|
||
"multiline_secondary": true
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "light.3d_printer_lights_local",
|
||
"name": "Printer Light",
|
||
"icon": "mdi:lightbulb",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "sensor",
|
||
"entity": "sensor.octoprint_print_progress_live",
|
||
"name": "Progress History",
|
||
"graph": "line",
|
||
"hours_to_show": 24,
|
||
"detail": 1,
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Temperatures",
|
||
"icon": "mdi:thermometer"
|
||
},
|
||
{
|
||
"type": "gauge",
|
||
"entity": "sensor.octoprint_tool_0_temperature",
|
||
"name": "Nozzle",
|
||
"min": 0,
|
||
"max": 260,
|
||
"unit": "°C",
|
||
"severity": {
|
||
"green": 0,
|
||
"yellow": 180,
|
||
"red": 240
|
||
},
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "gauge",
|
||
"entity": "sensor.octoprint_bed_temperature",
|
||
"name": "Bed",
|
||
"min": 0,
|
||
"max": 120,
|
||
"unit": "°C",
|
||
"severity": {
|
||
"green": 0,
|
||
"yellow": 60,
|
||
"red": 100
|
||
},
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "gauge",
|
||
"entity": "sensor.octoprint_soc_temperature",
|
||
"name": "SoC",
|
||
"min": 0,
|
||
"max": 100,
|
||
"unit": "°C",
|
||
"severity": {
|
||
"green": 0,
|
||
"yellow": 70,
|
||
"red": 90
|
||
},
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_tool_0_target",
|
||
"name": "Nozzle Target",
|
||
"icon": "mdi:printer-3d-nozzle",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_bed_target",
|
||
"name": "Bed Target",
|
||
"icon": "mdi:radiator",
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"title": "Nozzle Temperature",
|
||
"type": "history-graph",
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_tool_0_temperature",
|
||
"name": "Actual",
|
||
"color": "#ef5350"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_tool_0_target",
|
||
"name": "Target",
|
||
"color": "#4caf50"
|
||
}
|
||
],
|
||
"hours_to_show": 24,
|
||
"show_names": true,
|
||
"expand_legend": true,
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
},
|
||
{
|
||
"title": "Bed Temperature",
|
||
"type": "history-graph",
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_bed_temperature",
|
||
"name": "Actual",
|
||
"color": "#42a5f5"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_bed_target",
|
||
"name": "Target",
|
||
"color": "#4caf50"
|
||
}
|
||
],
|
||
"hours_to_show": 24,
|
||
"show_names": true,
|
||
"expand_legend": true,
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Controls",
|
||
"icon": "mdi:gesture-tap-button"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "switch.octoprint_pause_print",
|
||
"name": "Pause",
|
||
"icon": "mdi:pause",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "switch.octoprint_connect_to_printer",
|
||
"name": "Connect",
|
||
"icon": "mdi:lan-connect",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "switch.octoprint_camera_snapshot",
|
||
"name": "Snapshot",
|
||
"icon": "mdi:camera",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "button.octoprint_cancel_print",
|
||
"name": "Cancel Print",
|
||
"icon": "mdi:cancel",
|
||
"tap_action": {
|
||
"action": "perform-action",
|
||
"perform_action": "button.press",
|
||
"target": {
|
||
"entity_id": "button.octoprint_cancel_print"
|
||
}
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "button.octoprint_emergency_stop",
|
||
"name": "Emergency Stop",
|
||
"icon": "mdi:stop-circle",
|
||
"tap_action": {
|
||
"action": "perform-action",
|
||
"perform_action": "button.press",
|
||
"target": {
|
||
"entity_id": "button.octoprint_emergency_stop"
|
||
}
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "button",
|
||
"name": "GCode Viewer",
|
||
"icon": "mdi:cube-outline",
|
||
"tap_action": {
|
||
"action": "url",
|
||
"url_path": "https://ender5pro.duckdns.org/#gcode"
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "button",
|
||
"name": "Pretty GCode Viewer",
|
||
"icon": "mdi:cube-outline",
|
||
"tap_action": {
|
||
"action": "url",
|
||
"url_path": "https://ender5pro.duckdns.org/#tab_plugin_prettygcode"
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Totals",
|
||
"icon": "mdi:chart-box-outline"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_printer_print_time_today",
|
||
"name": "Print Time Today",
|
||
"icon": "mdi:clock-start",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_printer_print_time_this_week",
|
||
"name": "Print Time This Week",
|
||
"icon": "mdi:calendar-week",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"grid_options": {
|
||
"columns": 4
|
||
},
|
||
"entity": "sensor.octoprint_printer_print_time_last_7_days",
|
||
"name": "Print Time Last 7 Days",
|
||
"icon": "mdi:history",
|
||
"vertical": false,
|
||
"features_position": "bottom"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_printer_prints_today",
|
||
"name": "Prints Today",
|
||
"icon": "mdi:counter",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_printer_prints_this_week",
|
||
"name": "Prints This Week",
|
||
"icon": "mdi:counter",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_printer_prints_last_7_days",
|
||
"name": "Prints Last 7 Days",
|
||
"icon": "mdi:counter",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Filament Usage",
|
||
"icon": "mdi:chart-donut"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_last_print_filament",
|
||
"name": "Last Job",
|
||
"icon": "mdi:history",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_daily",
|
||
"name": "Filament Today",
|
||
"icon": "mdi:chart-donut",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_weekly",
|
||
"name": "Filament This Week",
|
||
"icon": "mdi:calendar-week",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_monthly",
|
||
"name": "Filament This Month",
|
||
"icon": "mdi:calendar-month",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_used_total",
|
||
"name": "Grand Total",
|
||
"icon": "mdi:chart-pie",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "heading",
|
||
"heading": "Grams Usage",
|
||
"icon": "mdi:weight"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_last_print_filament_weight",
|
||
"name": "Last Job",
|
||
"icon": "mdi:history",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_weight_daily",
|
||
"name": "Filament Today",
|
||
"icon": "mdi:chart-donut",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_weight_weekly",
|
||
"name": "Filament This Week",
|
||
"icon": "mdi:calendar-week",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_weight_monthly",
|
||
"name": "Filament This Month",
|
||
"icon": "mdi:calendar-month",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_used_weight_total",
|
||
"name": "Grand Total",
|
||
"icon": "mdi:chart-pie",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "heading",
|
||
"heading": "Cost Usage",
|
||
"icon": "mdi:cash-multiple"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_cost_last_job",
|
||
"name": "Last Job",
|
||
"icon": "mdi:history",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_cost_daily",
|
||
"name": "Cost Today",
|
||
"icon": "mdi:chart-donut",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_cost_weekly",
|
||
"name": "Cost This Week",
|
||
"icon": "mdi:calendar-week",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_cost_monthly",
|
||
"name": "Cost This Month",
|
||
"icon": "mdi:calendar-month",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_filament_cost_total",
|
||
"name": "Grand Total",
|
||
"icon": "mdi:chart-pie",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"title": "History",
|
||
"path": "history",
|
||
"type": "sections",
|
||
"max_columns": 2,
|
||
"sections": [
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Temperature History",
|
||
"icon": "mdi:chart-line-variant"
|
||
},
|
||
{
|
||
"type": "history-graph",
|
||
"title": "Temperatures (24h)",
|
||
"hours_to_show": 24,
|
||
"show_names": true,
|
||
"expand_legend": true,
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_tool_0_temperature",
|
||
"name": "Nozzle",
|
||
"color": "#ef5350"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_tool_0_target",
|
||
"name": "Nozzle Target",
|
||
"color": "#ffab91"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_bed_temperature",
|
||
"name": "Bed",
|
||
"color": "#42a5f5"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_bed_target",
|
||
"name": "Bed Target",
|
||
"color": "#90caf9"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
},
|
||
{
|
||
"type": "history-graph",
|
||
"title": "Temperatures (7 days)",
|
||
"hours_to_show": 168,
|
||
"show_names": true,
|
||
"expand_legend": true,
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_tool_0_temperature",
|
||
"name": "Nozzle",
|
||
"color": "#ef5350"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_bed_temperature",
|
||
"name": "Bed",
|
||
"color": "#42a5f5"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Print Activity",
|
||
"icon": "mdi:chart-box-outline"
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Z Position (24h)",
|
||
"show_states": true,
|
||
"colorize_states": true
|
||
},
|
||
"graph_span": "24h",
|
||
"series": [
|
||
{
|
||
"entity": "sensor.octoprint_current_z",
|
||
"name": "Current Z",
|
||
"color": "#ab47bc",
|
||
"type": "line",
|
||
"curve": "straight",
|
||
"fill_raw": "last"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
},
|
||
"apex_config": {
|
||
"chart": {
|
||
"height": 300
|
||
},
|
||
"stroke": {
|
||
"width": 1
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"type": "history-graph",
|
||
"title": "Print Progress (24h)",
|
||
"hours_to_show": 24,
|
||
"show_names": true,
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_print_progress_live",
|
||
"name": "Progress",
|
||
"color": "#66bb6a"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
},
|
||
{
|
||
"type": "history-graph",
|
||
"title": "Print Duration (24h)",
|
||
"hours_to_show": 24,
|
||
"show_names": true,
|
||
"entities": [
|
||
{
|
||
"entity": "sensor.octoprint_elapsed",
|
||
"name": "Elapsed",
|
||
"color": "#26c6da"
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_time_left",
|
||
"name": "Remaining",
|
||
"color": "#ffa726"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Print History",
|
||
"icon": "mdi:history"
|
||
},
|
||
{
|
||
"type": "markdown",
|
||
"content": "**Successful:** {{ states('sensor.octoprint_successful_prints_count') }} | **Failed:** {{ states('sensor.octoprint_failed_prints_count') }}"
|
||
},
|
||
{
|
||
"type": "history-graph",
|
||
"title": "Printing State (7 days)",
|
||
"hours_to_show": 168,
|
||
"show_names": true,
|
||
"entities": [
|
||
{
|
||
"entity": "binary_sensor.octoprint_printing",
|
||
"name": "Printing",
|
||
"color": "#66bb6a"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Print Outcomes (30 days)",
|
||
"show_states": true,
|
||
"colorize_states": true
|
||
},
|
||
"graph_span": "30d",
|
||
"apex_config": {
|
||
"chart": {
|
||
"type": "bar",
|
||
"stacked": true,
|
||
"height": 300
|
||
},
|
||
"plotOptions": {
|
||
"bar": {
|
||
"columnWidth": "50%"
|
||
}
|
||
},
|
||
"dataLabels": {
|
||
"enabled": true
|
||
},
|
||
"yaxis": {
|
||
"tickAmount": 4,
|
||
"labels": {
|
||
"minWidth": 40
|
||
}
|
||
},
|
||
"legend": {
|
||
"show": true
|
||
}
|
||
},
|
||
"series": [
|
||
{
|
||
"entity": "sensor.octoprint_successful_prints_count",
|
||
"name": "Successful",
|
||
"color": "#66bb6a",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "diff",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_failed_prints_count",
|
||
"name": "Failed",
|
||
"color": "#ef5350",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "diff",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
},
|
||
"span": {
|
||
"end": "day"
|
||
}
|
||
},
|
||
{
|
||
"type": "markdown",
|
||
"title": "Recent Prints",
|
||
"content": "{% for j in (state_attr('sensor.octoprint_recent_prints', 'allPrintJobs') | default([]))[:5] %}\n{% set d = j.get('duration', 0) | int %}\n- **{{ j.fileName }}** — {{ j.printStatusResult | title }}, {{ (d / 3600) | int }}h {{ ((d % 3600) / 60) | int }}m, {{ j.get('filamentModels', {}).get('total', {}).get('usedLength', 0) | round(0) }}mm\n{% endfor %}"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Filament Usage",
|
||
"icon": "mdi:spool"
|
||
},
|
||
{
|
||
"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
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_filament_weekly",
|
||
"name": "Weekly (mm)",
|
||
"color": "#ffca28",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
},
|
||
"span": {
|
||
"end": "day"
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Filament Usage - Grams (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_weight_daily",
|
||
"name": "Used (g)",
|
||
"color": "#26c6da",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_filament_used_weight_total",
|
||
"name": "Total (g)",
|
||
"color": "#ab47bc",
|
||
"type": "line",
|
||
"curve": "straight",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_filament_weight_weekly",
|
||
"name": "Weekly (g)",
|
||
"color": "#ffca28",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
},
|
||
"span": {
|
||
"end": "day"
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Filament Usage - Cost (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_cost_daily",
|
||
"name": "Used ($)",
|
||
"color": "#26c6da",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_filament_cost_weekly",
|
||
"name": "Weekly ($)",
|
||
"color": "#ffca28",
|
||
"type": "column",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
},
|
||
{
|
||
"entity": "sensor.octoprint_filament_cost_total",
|
||
"name": "Total ($)",
|
||
"color": "#ab47bc",
|
||
"type": "line",
|
||
"curve": "straight",
|
||
"group_by": {
|
||
"func": "last",
|
||
"duration": "1d",
|
||
"start_with_last": true
|
||
}
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
},
|
||
"span": {
|
||
"end": "day"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "OctoPrint Host",
|
||
"icon": "mdi:server"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_disk_usage",
|
||
"icon": "mdi:harddisk"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_cpu_usage",
|
||
"icon": "mdi:cpu-64-bit"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_memory_usage",
|
||
"icon": "mdi:memory"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_core_0_temperature",
|
||
"icon": "mdi:thermometer"
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.octoprint_uptime",
|
||
"icon": "mdi:clock-outline"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "sections",
|
||
"max_columns": 4,
|
||
"title": "Test",
|
||
"path": "test",
|
||
"sections": [
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "custom:mushroom-title-card",
|
||
"title": "Moonraker – {{ states('sensor.sparkx_moonraker_current_display_message') }}",
|
||
"subtitle": "{{ states('sensor.sparkx_moonraker_filename') }}",
|
||
"alignment": "center",
|
||
"title_tap_action": {
|
||
"action": "url",
|
||
"url_path": "http://moonraker.local/"
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||
"name": "Status",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.sparkx_moonraker_print_duration",
|
||
"name": "Elapsed",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.sparkx_moonraker_print_eta",
|
||
"name": "Completion",
|
||
"grid_options": {
|
||
"columns": 4
|
||
}
|
||
},
|
||
{
|
||
"type": "tile",
|
||
"entity": "sensor.sparkx_moonraker_progress",
|
||
"name": "Print Progress",
|
||
"icon": "mdi:clock-end",
|
||
"features": [
|
||
{
|
||
"type": "bar-gauge",
|
||
"min": 0,
|
||
"max": 100
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Controls",
|
||
"icon": "mdi:gesture-tap-button"
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"columns": 4,
|
||
"square": false,
|
||
"cards": [
|
||
{
|
||
"type": "custom:button-card",
|
||
"entity": "button.sparkx_moonraker_pause_print",
|
||
"color_type": "icon",
|
||
"tap_action": {
|
||
"action": "toggle"
|
||
},
|
||
"name": "Pause"
|
||
},
|
||
{
|
||
"type": "custom:button-card",
|
||
"entity": "button.sparkx_moonraker_resume_print",
|
||
"color_type": "icon",
|
||
"tap_action": {
|
||
"action": "toggle"
|
||
},
|
||
"name": "Resume"
|
||
},
|
||
{
|
||
"type": "custom:button-card",
|
||
"entity": "button.sparkx_moonraker_cancel_print",
|
||
"color_type": "icon",
|
||
"tap_action": {
|
||
"action": "toggle"
|
||
},
|
||
"name": "Cancel",
|
||
"lock": {
|
||
"enabled": false
|
||
},
|
||
"confirmation": {
|
||
"text": "This will CANCEL the print. Are you sure?"
|
||
}
|
||
},
|
||
{
|
||
"type": "custom:button-card",
|
||
"entity": "button.sparkx_moonraker_emergency_stop",
|
||
"color_type": "icon",
|
||
"color": "red",
|
||
"tap_action": {
|
||
"action": "toggle"
|
||
},
|
||
"name": "Emergency",
|
||
"lock": {
|
||
"enabled": false
|
||
},
|
||
"confirmation": {
|
||
"text": "This will REBOOT the printer. Are you sure?"
|
||
}
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Printer Temperatures",
|
||
"icon": "mdi:thermometer"
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"graph_span": "1h",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Printer Temperatures",
|
||
"show_states": true,
|
||
"colorize_states": true
|
||
},
|
||
"apex_config": {
|
||
"chart": {
|
||
"height": 200,
|
||
"legend": {
|
||
"show": false
|
||
}
|
||
},
|
||
"grid": {
|
||
"xaxis": {
|
||
"lines": {
|
||
"show": true
|
||
},
|
||
"borderColor": "#555"
|
||
}
|
||
},
|
||
"yaxis": [
|
||
{
|
||
"opposite": true,
|
||
"decimals": 0,
|
||
"tickAmount": 2
|
||
}
|
||
]
|
||
},
|
||
"all_series_config": {
|
||
"stroke_width": 2,
|
||
"float_precision": 0,
|
||
"show": {
|
||
"name_in_header": true
|
||
}
|
||
},
|
||
"series": [
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_extruder_temperature",
|
||
"name": "Hotend"
|
||
},
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_bed_temperature",
|
||
"name": "Bed"
|
||
},
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_mcu_temp",
|
||
"name": "MCU"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Fan Speeds",
|
||
"icon": "mdi:fan"
|
||
},
|
||
{
|
||
"type": "custom:apexcharts-card",
|
||
"graph_span": "1h",
|
||
"header": {
|
||
"show": true,
|
||
"title": "Fan Speeds",
|
||
"show_states": true,
|
||
"colorize_states": true
|
||
},
|
||
"apex_config": {
|
||
"chart": {
|
||
"height": 200,
|
||
"legend": {
|
||
"show": false
|
||
}
|
||
},
|
||
"grid": {
|
||
"xaxis": {
|
||
"lines": {
|
||
"show": true
|
||
},
|
||
"borderColor": "#555"
|
||
}
|
||
},
|
||
"yaxis": [
|
||
{
|
||
"opposite": true,
|
||
"decimals": 0,
|
||
"tickAmount": 2
|
||
}
|
||
]
|
||
},
|
||
"all_series_config": {
|
||
"stroke_width": 2,
|
||
"show": {
|
||
"name_in_header": true
|
||
}
|
||
},
|
||
"series": [
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_hotend_fan",
|
||
"name": "Hotend"
|
||
}
|
||
],
|
||
"grid_options": {
|
||
"columns": "full"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "grid",
|
||
"cards": [
|
||
{
|
||
"type": "heading",
|
||
"heading": "Camera",
|
||
"icon": "mdi:camera"
|
||
},
|
||
{
|
||
"type": "conditional",
|
||
"conditions": [
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||
"state_not": "unavailable"
|
||
}
|
||
],
|
||
"card": {
|
||
"type": "picture-entity",
|
||
"entity": "camera.sparkx_moonraker_back",
|
||
"camera_view": "live",
|
||
"show_name": false,
|
||
"show_state": false,
|
||
"aspect_ratio": "4x3"
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
},
|
||
{
|
||
"type": "conditional",
|
||
"conditions": [
|
||
{
|
||
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||
"state_not": "unavailable"
|
||
}
|
||
],
|
||
"card": {
|
||
"type": "picture-entity",
|
||
"entity": "camera.sparkx_moonraker_thumbnail",
|
||
"camera_view": "auto",
|
||
"show_name": false,
|
||
"show_state": false
|
||
},
|
||
"grid_options": {
|
||
"columns": 6
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
} |