4 files
This commit is contained in:
@@ -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
@@ -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
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user