3D printer Dashboards

Slightly changed since last post, using the new inline feature of the tile card for sliders to reduce space.
Most cards are tile cards, some with custom features row for the sliders. Some mushroom cards for the fans

Printer on:

Printer off:

3 Likes

Would you be willing to share the yaml of this please? :slight_smile:

Sure:

  - title: 3D Printer
    path: 3d-printer
    icon: mdi:printer-3d
    type: sections
    max_columns: 3
    sections:
      - type: grid
        cards:
          - type: heading
            heading: Camera
            heading_style: title
            icon: mdi:camera
            badges: []
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - show_state: false
            show_name: false
            camera_view: live
            type: picture-entity
            entity: camera.k1c_camera
            camera_image: camera.k1c_camera
            grid_options:
              columns: full
              rows: 12
            theme: simons_theme
            tap_action:
              action: none
            hold_action:
              action: none
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
        column_span: 3
      - type: grid
        cards:
          - type: heading
            heading: 3D Printer
            heading_style: title
            icon: mdi:printer-3d
            badges: []
          - type: custom:mushroom-entity-card
            entity: switch.3d_printer_power_relay
            icon: mdi:power
            name: Switch
            secondary_info: none
            tap_action:
              action: toggle
          - type: custom:mushroom-template-card
            entity: binary_sensor.3d_printer_smoke_detector_smoke_alarm
            primary: Smoke Detector
            secondary: >-
              {% if states
              ('binary_sensor.3d_printer_smoke_detector_smoke_alarm') == "on" %}
                Smoke Detected 
              {% elif states
              ('binary_sensor.3d_printer_smoke_detector_smoke_alarm') == "off"
              %}
                Clear
              {% else %}
                Unavailable
              {% endif %}
            icon: m3sf:detector-smoke
            icon_color: >-
              {% if states
              ('binary_sensor.3d_printer_smoke_detector_smoke_alarm') == "on" %}
                red
              {% else %}
                grey
              {% endif %}
            grid_options:
              columns: 6
              rows: 1
          - type: tile
            entity: sensor.k1c_current_print_state
            name: Status
            icon: mdi:printer-3d
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-template-card
            entity: binary_sensor.k1c_filament_sensor
            primary: Filament
            secondary: |-
              {% if states('binary_sensor.k1c_filament_sensor') == "on" %}
                Loaded
              {% elif states('binary_sensor.k1c_filament_sensor') == "off" %}
                Unloaded
              {% else %}
                Unavailable
              {% endif %}
            icon: |-
              {% if states('binary_sensor.k1c_filament_sensor') == "on" %}
                mdi:printer-3d-nozzle-outline
              {% else %}
                mdi:printer-3d-nozzle-off-outline
              {% endif %}
            icon_color: |-
              {% if states('binary_sensor.k1c_filament_sensor') == "on" %}
                blue
              {% elif states('binary_sensor.k1c_filament_sensor') == "off" %}
                red
              {% else %}
                grey
              {% endif %}
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            grid_options:
              columns: 6
              rows: 1
          - type: horizontal-stack
            cards:
              - type: tile
                entity: device_tracker.k1c_3d_printer
                name: Network
                vertical: false
              - type: custom:mushroom-template-card
                primary: Fluidd
                icon: mdi:web
                icon_color: blue
                tap_action:
                  action: url
                  url_path: http://192.168.1.130:4408/#/
                fill_container: true
          - type: vertical-stack
            cards:
              - type: history-graph
                entities:
                  - entity: sensor.3d_printer_power
                    name: Power
              - type: horizontal-stack
                cards:
                  - type: custom:mushroom-entity-card
                    entity: sensor.3d_printer_power
                    name: Power
                  - type: custom:mushroom-entity-card
                    entity: sensor.3d_printer_plug_voltage
                    name: Voltage
              - type: horizontal-stack
                cards:
                  - type: custom:mushroom-entity-card
                    entity: sensor.3d_printer_total_daily_energy
                    name: Today's Use
                  - type: custom:mushroom-entity-card
                    entity: sensor.3d_printer_total_daily_cost
                    name: Today's Cost
          - type: heading
            heading: Print Job
            heading_style: title
            icon: mdi:printer-3d
            badges: []
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: tile
            entity: sensor.k1c_filename
            icon: mdi:file
            name: Print File
            layout_options:
              grid_columns: 4
              grid_rows: 1
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - show_state: false
            show_name: false
            camera_view: auto
            type: picture-entity
            entity: camera.k1c_thumbnail
            image: https://demo.home-assistant.io/stub_config/bedroom.png
            camera_image: camera.k1c_thumbnail
            tap_action:
              action: none
            hold_action:
              action: none
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: horizontal-stack
            cards:
              - type: tile
                entity: sensor.k1c_print_duration
                name: Duration
                vertical: false
              - type: tile
                entity: sensor.k1c_print_eta
                name: ETA
                vertical: false
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_progress
                    range:
                      - 0
                      - 100
                    tap_action:
                      action: none
                    step: 1
                    thumb: flat
            type: tile
            name: Progress
            color: teal
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            entity: sensor.k1c_progress
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - type: horizontal-stack
            cards:
              - type: tile
                entity: sensor.k1c_toolhead_position_z
                name: Current Height
                vertical: true
              - type: custom:mushroom-template-card
                entity: sensor.k1c_current_layer
                icon: mdi:layers-triple
                icon_color: blue
                primary: Layers
                secondary: >-
                  {{ states('sensor.k1c_current_layer') | float(0) | round(0) }}
                  / {{ states('sensor.k1c_total_layer') | float(0) | round(0) }}
                layout: vertical
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
      - type: grid
        cards:
          - type: heading
            heading: Control
            heading_style: title
            icon: mdi:printer-3d
            badges: []
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: horizontal-stack
            cards:
              - type: custom:mushroom-template-card
                primary: Pause
                icon: mdi:pause
                icon_color: orange
                layout: vertical
                tap_action:
                  action: call-service
                  service: button.press
                  target:
                    entity_id: button.k1c_pause_print
              - type: custom:mushroom-template-card
                primary: Resume
                icon: mdi:play
                icon_color: teal
                layout: vertical
                tap_action:
                  action: call-service
                  service: button.press
                  target:
                    entity_id: button.k1c_resume_print
              - type: custom:mushroom-template-card
                primary: Cancel
                icon: mdi:cancel
                icon_color: green
                layout: vertical
                tap_action:
                  action: call-service
                  service: button.press
                  target:
                    entity_id: button.k1c_cancel_print
              - type: custom:mushroom-template-card
                primary: Stop
                icon: mdi:stop
                icon_color: red
                layout: vertical
                tap_action:
                  action: call-service
                  service: button.press
                  target:
                    entity_id: button.k1c_emergency_stop
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: heading
            heading: Lights
            heading_style: title
            icon: mdi:lightbulb
            badges: []
          - type: tile
            entity: light.3d_printer_enclosure_light
            name: Enclosure
            vertical: false
            features_position: bottom
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: light-brightness
            type: tile
            entity: light.k1c_lights
            name: Chamber
            vertical: false
            features_position: inline
            grid_options:
              columns: 12
              rows: 1
            state_content: brightness
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: heading
            heading: Fans
            heading_style: title
            icon: mdi:fan
            badges: []
          - type: custom:mushroom-fan-card
            name: Enclosure
            icon_animation: true
            show_percentage_control: false
            layout: horizontal
            collapsible_controls: false
            tap_action:
              action: toggle
            entity: fan.3d_printer_enclosure_extractor
          - type: custom:mushroom-fan-card
            name: Chamber
            icon_animation: true
            show_percentage_control: false
            layout: horizontal
            collapsible_controls: false
            tap_action:
              action: toggle
            entity: fan.k1c_chamber_fan
            grid_options:
              columns: 6
              rows: 1
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-fan-card
            entity: fan.k1c_hot_end_fan
            name: Hot End
            icon_animation: true
            show_percentage_control: false
            layout: horizontal
            collapsible_controls: false
            tap_action:
              action: toggle
            grid_options:
              columns: 6
              rows: 1
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-fan-card
            name: Part
            icon_animation: true
            show_percentage_control: false
            layout: horizontal
            collapsible_controls: false
            tap_action:
              action: toggle
            entity: fan.k1c_part_fan
            grid_options:
              columns: 6
              rows: 1
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-fan-card
            name: MCU
            icon_animation: true
            show_percentage_control: false
            layout: horizontal
            collapsible_controls: false
            tap_action:
              action: toggle
            entity: fan.k1c_mcu_fan
            grid_options:
              columns: 6
              rows: 1
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: heading
            heading: Heaters
            heading_style: title
            icon: mdi:heating-coil
            badges: []
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-template-card
            secondary: |
              {% if states('sensor.k1c_extruder_power')|float(0) != 0 -%}
                Heating
              {%- else -%}
                Idle
              {%- endif %}
            primary: Extruder
            fill_container: true
            icon: mdi:printer-3d-nozzle
            icon_color: |-
              {% if states('sensor.k1c_extruder_power')|float(0) != 0 -%}
                red
              {%- else -%}
                grey
              {%- endif %}
            grid_options:
              columns: 6
              rows: 1
            entity: sensor.k1c_extruder_power
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: custom:mushroom-template-card
            secondary: |
              {% if states('sensor.k1c_bed_power')|float(0) != 0 -%}
                Heating
              {%- else -%}
                Idle
              {%- endif %}
            primary: Bed
            fill_container: true
            icon: mdi:heating-coil
            icon_color: |-
              {% if states('sensor.k1c_bed_power')|float(0) != 0 -%}
                red
              {%- else -%}
                grey
              {%- endif %}
            grid_options:
              columns: 6
              rows: 1
            entity: sensor.k1c_bed_power
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
          - type: heading
            heading: Temperatures
            heading_style: title
            icon: mdi:thermometer
            badges: []
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.3d_printer_enclosure_temperature
                    range:
                      - 0
                      - 40
                    tap_action:
                      action: none
                    thumb: flat
                    step: 1
            type: tile
            entity: sensor.3d_printer_enclosure_temperature
            name: Enclosure
            color: green
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_chamber_temp
                    range:
                      - 0
                      - 40
                    tap_action:
                      action: none
                    thumb: flat
                    step: 1
                    unit_of_measurement: °C
            type: tile
            entity: sensor.k1c_chamber_temp
            color: yellow
            hide_state: false
            name: Chamber
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_mcu_temp
                    range:
                      - 0
                      - 100
                    tap_action:
                      action: none
                    thumb: flat
                    step: 1
                    unit_of_measurement: °C
            type: tile
            color: orange
            hide_state: false
            name: MCU
            entity: sensor.k1c_mcu_temp
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_extruder_temperature
                    range:
                      - 0
                      - 300
                    tap_action:
                      action: none
                    thumb: flat
                    step: 1
                    label: Current - {{ value | float | round(0) }}°C
                    unit_of_measurement: °C
            type: tile
            color: blue
            hide_state: false
            name: Extruder Current
            entity: sensor.k1c_extruder_temperature
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_extruder_target
                    range:
                      - 0
                      - 300
                    tap_action:
                      action: none
                    thumb: default
                    step: 1
                    label: Target - {{ value | float | round(0) }}°C
                    unit_of_measurement: °C
            type: tile
            color: blue
            hide_state: false
            name: Extruder Target
            entity: number.k1c_extruder_target
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_bed_temperature
                    range:
                      - 0
                      - 100
                    tap_action:
                      action: none
                    thumb: flat
                    step: 1
                    label: Current - {{ value | float | round(0) }}°C
                    unit_of_measurement: °C
            type: tile
            color: deep-purple
            hide_state: false
            name: Bed Current
            entity: sensor.k1c_bed_temperature
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: slider
                    entity_id: sensor.k1c_bed_target
                    range:
                      - 0
                      - 100
                    tap_action:
                      action: none
                    thumb: default
                    step: 1
                    label: Target - {{ value | float | round(0) }}°C
                    unit_of_measurement: °C
            type: tile
            color: deep-purple
            hide_state: false
            name: Bed Target
            entity: number.k1c_bed_target
            visibility:
              - condition: state
                entity: switch.3d_printer_power_relay
                state: 'on'
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
      - type: grid
        cards:
          - type: heading
            heading: Filament Dryer
            heading_style: title
            icon: mdi:movie-roll
            badges: []
          - type: tile
            entity: switch.filament_dryer_switch
            name: Power
            features_position: bottom
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - style: slider
                type: numeric-input
            type: tile
            entity: input_number.filament_dryer_duration
            name: Timer Duration
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
          - features:
              - type: custom:service-call
                entries:
                  - type: toggle
                    entity_id: input_boolean.filament_dryer_start
                    tap_action:
                      action: toggle
                      target:
                        entity_id: input_boolean.filament_dryer_start
                      data: {}
                    thumb: default
                    icon: ''
                    unchecked_icon: mdi:play
                    checked_icon: mdi:stop
                    allow_list: false
                    checked_values: []
                    check_numeric: false
                    autofill_entity_id: true
            type: tile
            entity: timer.filament_dryer_duration
            features_position: inline
            vertical: false
            grid_options:
              columns: 12
              rows: 1
            state_content: remaining_time
            name: Timer
            color: red
          - type: horizontal-stack
            cards:
              - type: custom:mushroom-template-card
                entity: sensor.filament_dryer_status
                primary: State
                secondary: '{{ states(''sensor.filament_dryer_status'') }}'
                icon: mdi:radiator
                icon_color: >-
                  {% if states ('sensor.filament_dryer_status') == "Heating" %}
                    red 
                  {% elif states ('sensor.filament_dryer_status') ==
                  "Recirculating" %}
                    orange
                  {% else %}
                    grey
                  {% endif %}
                layout: vertical
              - type: tile
                entity: sensor.filament_dryer_sensor_temperature
                name: Temperature
                vertical: true
              - type: tile
                entity: sensor.filament_dryer_sensor_humidity
                name: Humidity
                vertical: true
          - type: vertical-stack
            cards:
              - type: history-graph
                entities:
                  - entity: sensor.filament_dryer_power
                    name: Power
              - type: horizontal-stack
                cards:
                  - type: tile
                    entity: sensor.filament_dryer_power
                    name: Power
                  - type: tile
                    entity: sensor.filament_dryer_voltage
                    name: Voltage
              - type: horizontal-stack
                cards:
                  - type: tile
                    entity: sensor.filament_dryer_total_daily_energy
                    name: Today's Use
                  - type: tile
                    entity: sensor.filament_dryer_total_daily_cost
                    name: Today's Cost
1 Like

Hi, how did you do the climate card and the filament and bed temp cards? I really like them. And how did you get your camera that big and on the top? i am new to the whole dashboard design stuff

any 1 already made a version for a x1c or got a template to use

@Holdestmade can you maybe explane wy i get this error

type: custom:service-call
entries:
  - type: slider
    entity_id: sensor.x1c_kamertemperatuu
    range:
      - 0
      - 40
    tap_action:
      action: none
    thumb: flat
    step: 1
    unit_of_measurement: °C

its part of this code

  - type: custom:service-call
    entries:
      - type: slider
        entity_id: sensor.x1c_kamertemperatuu
        range:
          - 0
          - 40
        tap_action:
          action: none
        thumb: flat
        step: 1
        unit_of_measurement: °C
type: tile
entity: sensor.x1c_kamertemperatuur
color: yellow
hide_state: false
name: Kamer
visibility:
  - condition: state
    entity: switch.x1c_powerswitch_stopcontact_1
    state: "on"
features_position: inline
vertical: false
grid_options:
  columns: 12
  rows: 1

still learning all of Homeassitant so dont know alot

You need to install this

1 Like

Thanks to your post, this is what I ended up with:

I’d love to have a visual progress bar with some extra stats, but I’m happy with this so far.

1 Like

@fugley, that’s a nice compact card :slight_smile:.

Hello,

@Sawtaytoes your bambu dashboard is very nice and compact. Could you please share your code.
Thanks