# ha_mcp_backup schema_version: 1 domain: dashboard entity_id: printer-stats captured: '2026-10-10T07:02:52.536646+00:00' tool: ha_config_set_dashboard 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'') }} **Size:** {{ (states(''sensor.octoprint_print_file_size'') | int(0) / 1048576) | round(2) }} MB **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 %}\u2014{% 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: "\xB0C" 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: "\xB0C" 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: "\xB0C" 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 }}** \u2014 {{ 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 \u2013 {{ 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