This commit is contained in:
Home Assistant Version Control
2026-10-10 07:02:58 +00:00
parent 8aa679cd78
commit 4cf7a5f254
4 changed files with 1534 additions and 12 deletions
@@ -0,0 +1,969 @@
# 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
File diff suppressed because one or more lines are too long
+552
View File
@@ -1451,6 +1451,558 @@
} }
} }
] ]
},
{
"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"
}
}
]
} }
] ]
} }
+12 -12
View File
@@ -28,7 +28,7 @@
"countdown_to_turn_off": 0, "countdown_to_turn_off": 0,
"countdown_to_turn_on": 0, "countdown_to_turn_on": 0,
"power": 2, "power": 2,
"current": 0.09, "current": 0.1,
"energy": 54.37, "energy": 54.37,
"power_factor": 0.16, "power_factor": 0.16,
"update": { "update": {
@@ -45,7 +45,7 @@
"state": "ON", "state": "ON",
"led_brightness": 100, "led_brightness": 100,
"countdown_to_turn_off": 0, "countdown_to_turn_off": 0,
"voltage": 121.3, "voltage": 120.8,
"countdown_to_turn_on": 0, "countdown_to_turn_on": 0,
"energy": 105.06, "energy": 105.06,
"power_factor": 0.2, "power_factor": 0.2,
@@ -74,11 +74,11 @@
"led_brightness": 100, "led_brightness": 100,
"countdown_to_turn_off": 0, "countdown_to_turn_off": 0,
"countdown_to_turn_on": 0, "countdown_to_turn_on": 0,
"voltage": 120.2, "voltage": 119.7,
"state": "ON", "state": "ON",
"ac_frequency": 60, "ac_frequency": 60,
"energy": 213.24, "energy": 213.25,
"power": 103.2, "power": 100,
"current": 0.92, "current": 0.92,
"power_factor": 0.94, "power_factor": 0.94,
"update": { "update": {
@@ -95,11 +95,11 @@
"led_brightness": 100, "led_brightness": 100,
"countdown_to_turn_off": 0, "countdown_to_turn_off": 0,
"countdown_to_turn_on": 0, "countdown_to_turn_on": 0,
"voltage": 121.2, "voltage": 121,
"energy": 101.23, "energy": 101.23,
"state": "ON", "state": "ON",
"power": 12.6, "power": 15,
"current": 0.18, "current": 0.24,
"ac_frequency": 60, "ac_frequency": 60,
"power_factor": 0.51, "power_factor": 0.51,
"update": { "update": {
@@ -114,12 +114,12 @@
}, },
"0xffffb40e060895b3": { "0xffffb40e060895b3": {
"state": "ON", "state": "ON",
"voltage": 121.7, "voltage": 121.2,
"ac_frequency": 60, "ac_frequency": 60,
"energy": 14.61, "energy": 14.61,
"current": 0.02, "current": 0.02,
"power": 0.1, "power": 0.1,
"power_factor": 0.22, "power_factor": 0.11,
"linkquality": 116, "linkquality": 116,
"update": { "update": {
"state": "idle", "state": "idle",
@@ -136,7 +136,7 @@
"0xffffb40e0608864e": { "0xffffb40e0608864e": {
"led_brightness": 100, "led_brightness": 100,
"countdown_to_turn_off": 0, "countdown_to_turn_off": 0,
"voltage": 121.7, "voltage": 121.2,
"energy": 35.75, "energy": 35.75,
"countdown_to_turn_on": 0, "countdown_to_turn_on": 0,
"state": "ON", "state": "ON",
@@ -239,7 +239,7 @@
}, },
"0xb40e060fffe7180a": { "0xb40e060fffe7180a": {
"battery": 100, "battery": 100,
"occupancy": true, "occupancy": false,
"tamper": false, "tamper": false,
"battery_low": false, "battery_low": false,
"linkquality": 83, "linkquality": 83,