Files
HomeAssistantVS/.storage/lovelace.printer_stats
T

2012 lines
72 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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
}
}
]
},
{
"type": "grid",
"cards": [
{
"type": "custom:mushroom-title-card",
"title": "BeHappy2021 Dashboard",
"subtitle": "{{ states('sensor.sparkx_moonraker_current_print_state') }}",
"alignment": "center",
"title_tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
}
}
]
},
{
"type": "grid",
"title": "3D Printer",
"cards": [
{
"type": "custom:state-switch",
"entity": "sensor.sparkx_moonraker_current_print_state",
"transition": "flip-x",
"states": {
"unavailable": {
"type": "vertical-stack",
"cards": [
{
"type": "custom:mushroom-entity-card",
"entity": "input_text.job_filament",
"name": "Filament used in last job",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_text.total_filament",
"name": "Total Filament Used",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_text.total_jobs",
"name": "Total Jobs",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "input_text.total_time",
"name": "Total Time",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
}
]
},
"standby": {
"type": "custom:mushroom-template-card",
"primary": "Printer is standing by",
"layout": "vertical",
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "yellow",
"icon": "mdi:printer-3d"
},
"printing": {
"type": "vertical-stack",
"cards": [
{
"type": "custom:mushroom-template-card",
"secondary": "Current filename - {{ states('sensor.sparkx_moonraker_filename') }}",
"fill_container": true,
"multiline_secondary": true,
"layout": "vertical",
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "green",
"icon": "mdi:printer-3d"
},
{
"type": "horizontal-stack",
"cards": [
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.sparkx_moonraker_current_print_state",
"name": "Status",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.sparkx_moonraker_print_duration",
"name": "Elapsed",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "sensor.sparkx_moonraker_print_eta",
"name": "Completion",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
},
{
"type": "custom:mushroom-entity-card",
"entity": "binary_sensor.sparkx_moonraker_filament_sensor",
"name": "Filament",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
}
}
]
}
]
},
"complete": {
"type": "custom:mushroom-template-card",
"primary": "Printing has finished",
"layout": "vertical",
"fill_container": true,
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "green",
"icon": "mdi:printer-3d"
}
}
},
{
"type": "custom:state-switch",
"entity": "sensor.sparkx_moonraker_current_print_state",
"transition": "flip-x",
"states": {
"printing": {
"type": "vertical-stack",
"cards": [
{
"type": "tile",
"name": "Print progress..",
"icon": "mdi:clock-end",
"entity": "sensor.sparkx_moonraker_progress",
"features": [
{
"type": "bar-gauge",
"min": 0,
"max": 100
}
]
},
{
"type": "tile",
"name": "Fan speed",
"icon": "mdi:fan",
"entity": "sensor.sparkx_moonraker_hotend_fan",
"features": [
{
"type": "bar-gauge",
"min": 0,
"max": 100
}
]
},
{
"type": "tile",
"name": "Filament used",
"tap_action": {
"action": "none"
},
"icon_tap_action": {
"action": "none"
},
"entity": "sensor.sparkx_moonraker_filament_used"
},
{
"type": "picture-entity",
"show_state": false,
"show_name": false,
"camera_view": "auto",
"name": "Thumbnail",
"tap_action": {
"action": "none"
},
"icon_tap_action": {
"action": "none"
},
"entity": "camera.sparkx_moonraker_thumbnail"
}
]
},
"complete": {
"type": "vertical-stack",
"cards": [
{
"type": "tile",
"name": "Print progress..",
"icon": "mdi:clock-end",
"entity": "sensor.sparkx_moonraker_progress",
"features": [
{
"type": "bar-gauge",
"min": 0,
"max": 100
}
]
},
{
"type": "tile",
"name": "Filament used",
"tap_action": {
"action": "none"
},
"icon_tap_action": {
"action": "none"
},
"entity": "input_text.job_filament"
}
]
},
"standby": {
"type": "vertical-stack",
"cards": [
{
"type": "custom:mushroom-template-card",
"primary": "Job progress will appear here",
"layout": "vertical",
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "yellow",
"icon": "mdi:printer-3d"
},
{
"type": "tile",
"name": "Filament used in last job",
"vertical": true,
"tap_action": {
"action": "none"
},
"icon_tap_action": {
"action": "none"
},
"entity": "input_text.job_filament"
}
]
}
}
}
]
},
{
"type": "grid",
"title": " ",
"cards": [
{
"type": "custom:state-switch",
"entity": "sensor.sparkx_moonraker_current_print_state",
"transition": "flip-x",
"states": {
"unavailable": {
"type": "custom:mushroom-template-card",
"primary": "Printer turned off",
"layout": "vertical",
"tap_action": {
"action": "none"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "red",
"icon": "mdi:printer-3d"
},
"printing": {
"type": "horizontal-stack",
"cards": [
{
"type": "custom:button-card",
"name": "Pause",
"tap_action": {
"action": "toggle"
},
"entity": "button.sparkx_moonraker_pause_print"
},
{
"type": "custom:button-card",
"name": "Resume",
"tap_action": {
"action": "toggle"
},
"entity": "button.sparkx_moonraker_resume_print"
},
{
"type": "custom:button-card",
"name": "Cancel",
"tap_action": {
"action": "toggle"
},
"entity": "button.sparkx_moonraker_cancel_print"
},
{
"type": "custom:button-card",
"name": "Emergency",
"tap_action": {
"action": "toggle"
},
"color": "red",
"confirmation": {
"text": "This will REBOOT the printer. Are you sure?"
},
"entity": "button.sparkx_moonraker_emergency_stop"
}
]
},
"standby": {
"type": "custom:mushroom-template-card",
"primary": "Controls will appear here",
"layout": "vertical",
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "yellow",
"icon": "mdi:printer-3d"
}
}
},
{
"square": true,
"type": "grid",
"columns": 1,
"cards": [
{
"type": "conditional",
"conditions": [
{
"condition": "state",
"entity": "sensor.sparkx_moonraker_current_print_state",
"state": "printing"
}
],
"card": {
"type": "custom:apexcharts-card",
"graph_span": "1h",
"span": {
"start": "hour",
"offset": "-10min"
},
"header": {
"show": true,
"title": "Temperatures",
"show_states": true,
"colorize_states": true
},
"now": {
"show": true,
"label": "Now",
"color": "#00ff00"
},
"all_series_config": {
"show": {
"legend_value": false
},
"float_precision": 0
},
"apex_config": {
"legend": {
"show": false
}
},
"series": [
{
"entity": "sensor.sparkx_moonraker_extruder_temperature",
"name": "Nozzle",
"opacity": 0.4
},
{
"entity": "number.sparkx_moonraker_extruder_target",
"name": "Nozzle target",
"opacity": 0.4
},
{
"entity": "sensor.sparkx_moonraker_bed_temperature",
"name": "Bed",
"opacity": 0.4
},
{
"entity": "number.sparkx_moonraker_bed_target",
"name": "Bed target",
"opacity": 0.4
},
{
"entity": "sensor.sparkx_moonraker_mcu_temp",
"name": "MCU",
"opacity": 0.4
}
]
}
},
{
"type": "conditional",
"conditions": [
{
"condition": "state",
"entity": "sensor.sparkx_moonraker_current_print_state",
"state": "standby"
}
],
"card": {
"type": "custom:mushroom-template-card",
"primary": "Temperatures will appear here",
"layout": "vertical",
"tap_action": {
"action": "url",
"url_path": "http://moonraker.local/"
},
"hold_action": {
"action": "none"
},
"double_tap_action": {
"action": "none"
},
"icon_color": "yellow",
"icon": "mdi:printer-3d"
}
}
]
}
]
},
{
"type": "grid",
"cards": [
{
"type": "heading",
"heading": "Spoolman",
"icon": "mdi:spool"
},
{
"type": "custom:mushroom-template-card",
"entity": "sensor.active_spool",
"primary": "{{ states('sensor.active_spool') }}",
"secondary": "Active spool",
"icon": "mdi:circle",
"icon_color": "{% set sid = states('sensor.sparkx_moonraker_spool_id') | int(0) %}{% set eid = 'sensor.spoolman_spool_' ~ sid %}{% set h = state_attr(eid, 'filament_color_hex') %}{{ ('#' ~ h) if h else '#999999' }}",
"tap_action": {
"action": "more-info"
}
}
]
}
]
}
]
}
}
}