This is what mine looks like for my P1S, I did try to yoink @sendorm 's fancy layer preview, but I am holding it wrong.
code
views:
- title: Main
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-title-card
title: Bambu Lab P1S
alignment: start
- type: custom:mod-card
card:
type: custom:mushroom-chips-card
chips:
- type: entity
entity: button.p1s_01p00c470401372_stop_printing
icon: mdi:stop
content_info: false
- type: entity
entity: button.p1s_01p00c470401372_pause_printing
icon: mdi:pause
content_info: false
- type: entity
entity: button.p1s_01p00c470401372_resume_printing
icon: mdi:play
content_info: false
card_mod:
style: |
ha-card {
display: flex;
justify-content: end;
align-items: center;
height: 80px;
}
- type: custom:mod-card
card:
type: picture
image_entity: image.p1s_01p00c470401372_camera
- type: custom:mod-card
card:
type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: AMS STATUS
subtitle: Current environmental stats
icon: mdi:warehouse
card_mod:
style: |
ha-card {
background: linear-gradient(90deg, #004a7c, #007acc) !important;
color: white !important;
border-radius: 10px;
text-align: center;
font-size: 1.5rem;
font-weight: bold;
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
}
- type: grid
columns: 2
square: false
cards:
- type: custom:mushroom-entity-card
entity: sensor.p1s_01p00c470401372_ams_1_humidity_index
name: AMS Humidity (Main)
icon: mdi:water-percent
layout: vertical
primary_info: name
secondary_info: state
card_mod:
style: |
ha-card {
background: linear-gradient(135deg, #003366, #336699) !important;
color: white !important;
border-radius: 10px;
font-size: 1.2rem;
text-align: center;
}
- type: custom:mushroom-entity-card
entity: sensor.ams_temp_and_humid_titty_humidity
name: AMS Humidity (Silica)
icon: mdi:water-opacity
layout: vertical
primary_info: name
secondary_info: state
card_mod:
style: |
ha-card {
background: linear-gradient(135deg, #004d00, #228b22) !important;
color: white !important;
border-radius: 10px;
font-size: 1.2rem;
text-align: center;
}
- type: custom:mushroom-entity-card
entity: sensor.ams_lid_temp_and_humid_titty_humidity
name: AMS Humidity (Lid)
icon: mdi:water-opacity
layout: vertical
primary_info: name
secondary_info: state
card_mod:
style: |
ha-card {
background: linear-gradient(135deg, #4b0082, #8a2be2) !important;
color: white !important;
border-radius: 10px;
font-size: 1.2rem;
text-align: center;
}
- type: custom:mushroom-entity-card
entity: sensor.p1s_01p00c470401372_active_tray_index
name: Active Tray
icon: mdi:tray
layout: vertical
primary_info: name
secondary_info: state
card_mod:
style: |
ha-card {
background: linear-gradient(135deg, #005757, #008b8b) !important;
color: white !important;
border-radius: 10px;
font-size: 1.2rem;
text-align: center;
}
- chart_type: line
period: hour
type: statistics-graph
entities:
- sensor.ams_lid_temp_and_humid_titty_humidity
- sensor.ams_temp_and_humid_titty_humidity
stat_types:
- mean
- min
- max
days_to_show: 7
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.p1s_01p00c470401372_ams_1_tray_1
icon: mdi:circle-slice-8
name: Bambu PLA Basic
show_icon: true
show_name: true
custom_fields:
percentage: |
[[[
return states['sensor.tray_1_remaining_filament_percentage'].state + '%';
]]]
styles:
card:
- height: 130px
- font-size: 12px
grid:
- grid-template-areas: '"i" "n" "percentage"'
- grid-template-rows: 1fr auto auto
- grid-template-columns: 1fr
custom_fields:
percentage:
- justify-self: center
- font-size: 10px
- color: var(--primary-text-color)
icon:
- color: |
[[[
return states['sensor.p1s_01p00c470401372_ams_1_tray_1'].attributes.color;
]]]
- type: custom:button-card
entity: sensor.p1s_01p00c470401372_ams_1_tray_2
icon: mdi:circle-slice-8
name: Bambu PLA Basic
show_icon: true
show_name: true
custom_fields:
percentage: |
[[[
return states['sensor.tray_2_remaining_filament_percentage'].state + '%';
]]]
styles:
card:
- height: 130px
- font-size: 12px
grid:
- grid-template-areas: '"i" "n" "percentage"'
- grid-template-rows: 1fr auto auto
- grid-template-columns: 1fr
custom_fields:
percentage:
- justify-self: center
- font-size: 10px
- color: var(--primary-text-color)
icon:
- color: |
[[[
return states['sensor.p1s_01p00c470401372_ams_1_tray_2'].attributes.color;
]]]
- type: custom:button-card
entity: sensor.p1s_01p00c470401372_ams_1_tray_3
icon: mdi:circle-slice-8
name: Bambu PLA Basic
show_icon: true
show_name: true
custom_fields:
percentage: |
[[[
return states['sensor.tray_3_remaining_filament_percentage'].state + '%';
]]]
styles:
card:
- height: 130px
- font-size: 12px
grid:
- grid-template-areas: '"i" "n" "percentage"'
- grid-template-rows: 1fr auto auto
- grid-template-columns: 1fr
custom_fields:
percentage:
- justify-self: center
- font-size: 10px
- color: var(--primary-text-color)
icon:
- color: |
[[[
return states['sensor.p1s_01p00c470401372_ams_1_tray_3'].attributes.color;
]]]
- type: custom:button-card
entity: sensor.p1s_01p00c470401372_ams_1_tray_4
icon: mdi:circle-slice-8
name: Bambu PLA Basic
show_icon: true
show_name: true
custom_fields:
percentage: |
[[[
return states['sensor.tray_4_remaining_filament_percentage'].state + '%';
]]]
styles:
card:
- height: 130px
- font-size: 12px
grid:
- grid-template-areas: '"i" "n" "percentage"'
- grid-template-rows: 1fr auto auto
- grid-template-columns: 1fr
custom_fields:
percentage:
- justify-self: center
- font-size: 10px
- color: var(--primary-text-color)
icon:
- color: |
[[[
return states['sensor.p1s_01p00c470401372_ams_1_tray_4'].attributes.color;
]]]
- type: custom:mod-card
card:
type: custom:mushroom-chips-card
chips:
- type: template
entity: binary_sensor.p1s_01p00c470401372
content: Printer
card_mod:
style: |
ha-card {
background: none !important;
border: none;
font-size: 4rem !important;
}
- type: spacer
- type: entity
entity: sensor.p1s_01p00c470401372_current_stage
- type: light
icon: mdi:lightbulb
entity: light.p1s_01p00c470401372_chamber_light
- type: entity
entity: sensor.p1s_01p00c470401372_wi_fi_signal
- type: entity
entity: binary_sensor.p1s_01p00c470401372_hms_errors
icon: mdi:alert-circle
- type: entity
entity: sensor.p1s_01p00c470401372_nozzle_size
- type: entity
entity: sensor.p1s_01p00c470401372_nozzle_type
- type: light
entity: switch.p1s_01p00c470401372_enable_camera
icon: mdi:camera
- type: custom:mod-card
card:
show_name: false
show_icon: true
show_state: true
type: glance
entities:
- entity: sensor.p1s_01p00c470401372_nozzle_temperature
icon: mdi:printer-3d-nozzle-heat
- entity: sensor.p1s_01p00c470401372_bed_temperature
icon: mdi:train-car-flatbed
- entity: sensor.p1s_01p00c470401372_chamber_fan_speed
icon: mdi:minus-box-outline
- entity: sensor.p1s_01p00c470401372_speed_profile
state_color: false
- type: custom:mushroom-chips-card
chips:
- type: entity
entity: sensor.p1s_01p00c470401372_print_progress
icon: mdi:progress-helper
- type: entity
entity: sensor.p1s_01p00c470401372_end_time
icon: mdi:progress-check
- type: entity
entity: sensor.p1s_01p00c470401372_remaining_time
alignment: justify
- type: vertical-stack
cards:
- type: custom:config-template-card
entities:
- sensor.p1s_01p00c470401372_task_name
- sensor.p1s_01p00c470401372_current_layer
- sensor.p1s_01p00c470401372_total_layer_count
- sensor.p1s_01p00c470401372_print_progress
- sensor.p1s_01p00c470401372_remaining_time
card:
type: custom:html-template-card
content: >
<font size="5">{{
states.sensor.p1s_01p00c470401372_task_name.state }}</font>
<table width="100%">
<tr>
<td align="left">Printed layers</td>
<td align="right">
<font color="#77fc54" size="4">
{{ states.sensor.p1s_01p00c470401372_current_layer.state }}
</font> /
{{ states.sensor.p1s_01p00c470401372_total_layer_count.state }}
</td>
</tr>
</table>
<table width="100%">
<tr>
<td align="left">
<font size="5" color="#77fc54">
{{ states.sensor.p1s_01p00c470401372_print_progress.state }}%
</font>
</td>
<td align="right">
{% if (states.sensor.p1s_01p00c470401372_remaining_time.state | int) == 0 %}
<font color="#77fc54">Success</font>
{% else %}
<font color="#959595">
-{{ (states.sensor.p1s_01p00c470401372_remaining_time.state | int / 60) | int }}h{{ states.sensor.p1s_01p00c470401372_remaining_time.state | int % 60 }}m
</font>
{% endif %}
</td>
</tr>
</table>
- type: custom:bar-card
entity: sensor.p1s_01p00c470401372_print_progress
icon: 'off'
name: Progress
positions:
icon: 'off'
indicator: 'off'
title: inside
value: inside
severity:
- color: green
from: 0
to: 100






