3 files
This commit is contained in:
@@ -0,0 +1,787 @@
|
|||||||
|
# ha_mcp_backup
|
||||||
|
schema_version: 1
|
||||||
|
domain: dashboard
|
||||||
|
entity_id: printer-stats
|
||||||
|
captured: '2026-10-10T06:18:30.555566+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: []
|
||||||
@@ -4271,3 +4271,4 @@
|
|||||||
{"timestamp": "2026-10-10T06:16:58.823790+00:00", "tool_name": "ha_config_get_dashboard", "parameters": {"url_path": "sparkx-i7", "list_only": false, "force_reload": false, "entity_id": null, "card_type": null, "heading": null, "include_config": false, "include_screenshot": false, "view_path": null, "mode": null, "query": null}, "execution_time_ms": 34.96861457824707, "success": true, "error_message": null, "response_size_bytes": 57424, "user_context": null}
|
{"timestamp": "2026-10-10T06:16:58.823790+00:00", "tool_name": "ha_config_get_dashboard", "parameters": {"url_path": "sparkx-i7", "list_only": false, "force_reload": false, "entity_id": null, "card_type": null, "heading": null, "include_config": false, "include_screenshot": false, "view_path": null, "mode": null, "query": null}, "execution_time_ms": 34.96861457824707, "success": true, "error_message": null, "response_size_bytes": 57424, "user_context": null}
|
||||||
{"timestamp": "2026-10-10T06:16:58.964355+00:00", "tool_name": "ha_search", "parameters": {"query": "atc_3d_temperature", "domain_filter": null, "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 176.8505573272705, "success": true, "error_message": null, "response_size_bytes": 506, "user_context": null}
|
{"timestamp": "2026-10-10T06:16:58.964355+00:00", "tool_name": "ha_search", "parameters": {"query": "atc_3d_temperature", "domain_filter": null, "area_filter": null, "search_types": null, "limit": 10, "offset": 0, "exact_match": true, "include_hidden": true, "include_config": false, "group_by_domain": false, "per_domain_limit": null, "state_filter": null, "result_fields": null, "fields": null, "config_time_budget": null, "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 176.8505573272705, "success": true, "error_message": null, "response_size_bytes": 506, "user_context": null}
|
||||||
{"timestamp": "2026-10-10T06:17:25.283728+00:00", "tool_name": "ha_get_state", "parameters": {"entity_id": ["camera.sparkx_moonraker_back", "camera.sparkx_moonraker_bed", "camera.sparkx_moonraker_thumbnail", "number.sparkx_moonraker_output_pin_fan0", "sensor.sparkx_moonraker_hotend_fan", "sensor.sparkx_moonraker_mcu_temp"], "fields": ["entity_id", "state", "attributes"], "attribute_keys": ["friendly_name", "access_token", "entity_picture", "unit_of_measurement", "device_class"]}, "execution_time_ms": 13.564825057983398, "success": true, "error_message": null, "response_size_bytes": 2121, "user_context": null}
|
{"timestamp": "2026-10-10T06:17:25.283728+00:00", "tool_name": "ha_get_state", "parameters": {"entity_id": ["camera.sparkx_moonraker_back", "camera.sparkx_moonraker_bed", "camera.sparkx_moonraker_thumbnail", "number.sparkx_moonraker_output_pin_fan0", "sensor.sparkx_moonraker_hotend_fan", "sensor.sparkx_moonraker_mcu_temp"], "fields": ["entity_id", "state", "attributes"], "attribute_keys": ["friendly_name", "access_token", "entity_picture", "unit_of_measurement", "device_class"]}, "execution_time_ms": 13.564825057983398, "success": true, "error_message": null, "response_size_bytes": 2121, "user_context": null}
|
||||||
|
{"timestamp": "2026-10-10T06:18:30.910601+00:00", "tool_name": "ha_config_set_dashboard", "parameters": {"url_path": "printer-stats", "config": null, "python_transform": "config['views'][2]['sections'] = [\n {'type': 'grid', 'cards': [\n {'type': 'custom:mushroom-title-card', 'title': \"Moonraker – {{ states('sensor.sparkx_moonraker_current_display_message') }}\", 'subtitle': \"{{ states('sensor.sparkx_moonraker_filename') }}\", 'alignment': 'center', 'title_tap_action': {'action': 'url', 'url_path': 'http://moonraker.local/'}},\n {'type': 'tile', 'entity': 'sensor.sparkx_moonraker_current_print_state', 'name': 'Status', 'grid_options': {'columns': 4}},\n {'type': 'tile', 'entity': 'sensor.sparkx_moonraker_print_duration', 'name': 'Elapsed', 'grid_options': {'columns': 4}},\n {'type': 'tile', 'entity': 'sensor.sparkx_moonraker_print_eta', 'name': 'Completion', 'grid_options': {'columns': 4}},\n {'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'}}\n ]},\n {'type': 'grid', 'cards': [\n {'type': 'heading', 'heading': 'Controls', 'icon': 'mdi:gesture-tap-button'},\n {'type': 'grid', 'columns': 4, 'square': False, 'cards': [\n {'type': 'custom:button-card', 'entity': 'button.sparkx_moonraker_pause_print', 'color_type': 'icon', 'tap_action': {'action': 'toggle'}, 'name': 'Pause'},\n {'type': 'custom:button-card', 'entity': 'button.sparkx_moonraker_resume_print', 'color_type': 'icon', 'tap_action': {'action': 'toggle'}, 'name': 'Resume'},\n {'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?'}},\n {'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?'}}\n ], 'grid_options': {'columns': 'full'}}\n ]},\n {'type': 'grid', 'cards': [\n {'type': 'heading', 'heading': 'Printer Temperatures', 'icon': 'mdi:thermometer'},\n {'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': [\n {'entity': 'sensor.sparkx_moonraker_extruder_temperature', 'name': 'Hotend'},\n {'entity': 'sensor.sparkx_moonraker_bed_temperature', 'name': 'Bed'},\n {'entity': 'sensor.sparkx_moonraker_mcu_temp', 'name': 'MCU'}\n ], 'grid_options': {'columns': 'full'}}\n ]},\n {'type': 'grid', 'cards': [\n {'type': 'heading', 'heading': 'Fan Speeds', 'icon': 'mdi:fan'},\n {'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': [\n {'entity': 'sensor.sparkx_moonraker_hotend_fan', 'name': 'Hotend'}\n ], 'grid_options': {'columns': 'full'}}\n ]},\n {'type': 'grid', 'cards': [\n {'type': 'heading', 'heading': 'Camera', 'icon': 'mdi:camera'},\n {'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}},\n {'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}}\n ]}\n]", "config_hash": "968e5b5ada3420d2", "title": null, "icon": null, "require_admin": null, "show_in_sidebar": null, "MandatoryBPS": false, "BestPracticeKey": null, "return_screenshot": false, "view_path": null, "patch": null}, "execution_time_ms": 142.09318161010742, "success": true, "error_message": null, "response_size_bytes": 5638, "user_context": null}
|
||||||
|
|||||||
@@ -1156,7 +1156,301 @@
|
|||||||
"sections": [
|
"sections": [
|
||||||
{
|
{
|
||||||
"type": "grid",
|
"type": "grid",
|
||||||
"cards": []
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "custom:mushroom-title-card",
|
||||||
|
"title": "Moonraker – {{ states('sensor.sparkx_moonraker_current_display_message') }}",
|
||||||
|
"subtitle": "{{ states('sensor.sparkx_moonraker_filename') }}",
|
||||||
|
"alignment": "center",
|
||||||
|
"title_tap_action": {
|
||||||
|
"action": "url",
|
||||||
|
"url_path": "http://moonraker.local/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tile",
|
||||||
|
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||||||
|
"name": "Status",
|
||||||
|
"grid_options": {
|
||||||
|
"columns": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tile",
|
||||||
|
"entity": "sensor.sparkx_moonraker_print_duration",
|
||||||
|
"name": "Elapsed",
|
||||||
|
"grid_options": {
|
||||||
|
"columns": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tile",
|
||||||
|
"entity": "sensor.sparkx_moonraker_print_eta",
|
||||||
|
"name": "Completion",
|
||||||
|
"grid_options": {
|
||||||
|
"columns": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tile",
|
||||||
|
"entity": "sensor.sparkx_moonraker_progress",
|
||||||
|
"name": "Print Progress",
|
||||||
|
"icon": "mdi:clock-end",
|
||||||
|
"features": [
|
||||||
|
{
|
||||||
|
"type": "bar-gauge",
|
||||||
|
"min": 0,
|
||||||
|
"max": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"grid_options": {
|
||||||
|
"columns": "full"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "grid",
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"heading": "Controls",
|
||||||
|
"icon": "mdi:gesture-tap-button"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "grid",
|
||||||
|
"columns": 4,
|
||||||
|
"square": false,
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "custom:button-card",
|
||||||
|
"entity": "button.sparkx_moonraker_pause_print",
|
||||||
|
"color_type": "icon",
|
||||||
|
"tap_action": {
|
||||||
|
"action": "toggle"
|
||||||
|
},
|
||||||
|
"name": "Pause"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:button-card",
|
||||||
|
"entity": "button.sparkx_moonraker_resume_print",
|
||||||
|
"color_type": "icon",
|
||||||
|
"tap_action": {
|
||||||
|
"action": "toggle"
|
||||||
|
},
|
||||||
|
"name": "Resume"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:button-card",
|
||||||
|
"entity": "button.sparkx_moonraker_cancel_print",
|
||||||
|
"color_type": "icon",
|
||||||
|
"tap_action": {
|
||||||
|
"action": "toggle"
|
||||||
|
},
|
||||||
|
"name": "Cancel",
|
||||||
|
"lock": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"confirmation": {
|
||||||
|
"text": "This will CANCEL the print. Are you sure?"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:button-card",
|
||||||
|
"entity": "button.sparkx_moonraker_emergency_stop",
|
||||||
|
"color_type": "icon",
|
||||||
|
"color": "red",
|
||||||
|
"tap_action": {
|
||||||
|
"action": "toggle"
|
||||||
|
},
|
||||||
|
"name": "Emergency",
|
||||||
|
"lock": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"confirmation": {
|
||||||
|
"text": "This will REBOOT the printer. Are you sure?"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"grid_options": {
|
||||||
|
"columns": "full"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "grid",
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"heading": "Printer Temperatures",
|
||||||
|
"icon": "mdi:thermometer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:apexcharts-card",
|
||||||
|
"graph_span": "1h",
|
||||||
|
"header": {
|
||||||
|
"show": true,
|
||||||
|
"title": "Printer Temperatures",
|
||||||
|
"show_states": true,
|
||||||
|
"colorize_states": true
|
||||||
|
},
|
||||||
|
"apex_config": {
|
||||||
|
"chart": {
|
||||||
|
"height": 200,
|
||||||
|
"legend": {
|
||||||
|
"show": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"grid": {
|
||||||
|
"xaxis": {
|
||||||
|
"lines": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"borderColor": "#555"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yaxis": [
|
||||||
|
{
|
||||||
|
"opposite": true,
|
||||||
|
"decimals": 0,
|
||||||
|
"tickAmount": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"all_series_config": {
|
||||||
|
"stroke_width": 2,
|
||||||
|
"float_precision": 0,
|
||||||
|
"show": {
|
||||||
|
"name_in_header": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_extruder_temperature",
|
||||||
|
"name": "Hotend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_bed_temperature",
|
||||||
|
"name": "Bed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_mcu_temp",
|
||||||
|
"name": "MCU"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"grid_options": {
|
||||||
|
"columns": "full"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "grid",
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"heading": "Fan Speeds",
|
||||||
|
"icon": "mdi:fan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "custom:apexcharts-card",
|
||||||
|
"graph_span": "1h",
|
||||||
|
"header": {
|
||||||
|
"show": true,
|
||||||
|
"title": "Fan Speeds",
|
||||||
|
"show_states": true,
|
||||||
|
"colorize_states": true
|
||||||
|
},
|
||||||
|
"apex_config": {
|
||||||
|
"chart": {
|
||||||
|
"height": 200,
|
||||||
|
"legend": {
|
||||||
|
"show": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"grid": {
|
||||||
|
"xaxis": {
|
||||||
|
"lines": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"borderColor": "#555"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yaxis": [
|
||||||
|
{
|
||||||
|
"opposite": true,
|
||||||
|
"decimals": 0,
|
||||||
|
"tickAmount": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"all_series_config": {
|
||||||
|
"stroke_width": 2,
|
||||||
|
"show": {
|
||||||
|
"name_in_header": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_hotend_fan",
|
||||||
|
"name": "Hotend"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"grid_options": {
|
||||||
|
"columns": "full"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "grid",
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"heading": "Camera",
|
||||||
|
"icon": "mdi:camera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "conditional",
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||||||
|
"state_not": "unavailable"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"card": {
|
||||||
|
"type": "picture-entity",
|
||||||
|
"entity": "camera.sparkx_moonraker_back",
|
||||||
|
"camera_view": "live",
|
||||||
|
"show_name": false,
|
||||||
|
"show_state": false,
|
||||||
|
"aspect_ratio": "4x3"
|
||||||
|
},
|
||||||
|
"grid_options": {
|
||||||
|
"columns": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "conditional",
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"entity": "sensor.sparkx_moonraker_current_print_state",
|
||||||
|
"state_not": "unavailable"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"card": {
|
||||||
|
"type": "picture-entity",
|
||||||
|
"entity": "camera.sparkx_moonraker_thumbnail",
|
||||||
|
"camera_view": "auto",
|
||||||
|
"show_name": false,
|
||||||
|
"show_state": false
|
||||||
|
},
|
||||||
|
"grid_options": {
|
||||||
|
"columns": 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user