From 5e1af4fd2dc7788e5b614a0cc47f9604ebe92e0e Mon Sep 17 00:00:00 2001 From: Home Assistant Version Control Date: Sat, 10 Oct 2026 03:58:33 +0000 Subject: [PATCH] .storage/lovelace.3d_printer_cellphone --- .storage/lovelace.3d_printer_cellphone | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.storage/lovelace.3d_printer_cellphone b/.storage/lovelace.3d_printer_cellphone index 47e2c342..df26a1e7 100644 --- a/.storage/lovelace.3d_printer_cellphone +++ b/.storage/lovelace.3d_printer_cellphone @@ -58,14 +58,17 @@ "type": "tile" }, { + "type": "custom:mushroom-template-card", "entity": "sensor.sparkx_i7_active_filament_slot", - "icon": "mdi:palette", - "icon_color": "{% set color = state_attr('sensor.sparkx_i7_active_filament_slot', 'color') | default('') | string %}{% set core = color | replace('#', '') %}{% if core | length >= 6 %}#{{ core[-6:] }}{% else %}var(--primary-text-color){% endif %}", + "name": "Next Deduction Match", + "icon": "mdi:magnet", + "icon_color": "{% set slot = states('sensor.sparkx_i7_active_filament_slot') %}{% set c = states('sensor.sparkx_i7_cfs_' ~ (slot | lower | replace(' ', '_')) ~ '_color') | replace('#', '') | lower %}{% if c | length == 6 %}#{{ c }}{% else %}var(--primary-color){% endif %}", + "primary": "{{ states('sensor.sparkx_i7_active_filament_slot') }}", + "secondary": "{% set slot = states('sensor.sparkx_i7_active_filament_slot') %}{% set ce = 'sensor.sparkx_i7_cfs_' ~ (slot | lower | replace(' ', '_')) ~ '_color' %}{% set color = states(ce) | replace('#', '') | lower %}{% set ns = namespace(id='') %}{% for e in integration_entities('spoolman') %}{% if e.endswith('_color_hex') and (states(e) | replace('#', '') | lower) == color and (state_attr(e[:-10], 'location') | default('', true) | lower) == 'cfs lite' %}{% set b = e[:-10] %}{% if (states(b) | float(0)) > 0 and ns.id == '' %}{% set ns.id = states(b ~ '_id') %}{% endif %}{% endif %}{% endfor %}{% if ns.id %}Color #{{ color | upper }} → spool {{ ns.id }} ({{ states('sensor.spoolman_spool_' ~ ns.id ~ '_filament_name') }} · {{ (states('sensor.spoolman_spool_' ~ ns.id) | float(0)) | round(1) }} g left){% elif slot in ['', 'unknown', 'unavailable'] %}No slot latched{% elif color in ['', 'unknown', 'unavailable'] %}Slot color unavailable{% else %}Color #{{ color | upper }} — no spool with stock{% endif %}", "multiline_secondary": true, - "name": "Active Color", - "primary": "{% set slot = states('sensor.sparkx_i7_active_filament_slot') %}{% if 'Slot 1' in slot %}{{ states('sensor.sparkx_i7_slot_1_color_name') }}{% elif 'Slot 2' in slot %}{{ states('sensor.sparkx_i7_slot_2_color_name') }}{% elif 'Slot 3' in slot %}{{ states('sensor.sparkx_i7_slot_3_color_name') }}{% elif 'Slot 4' in slot %}{{ states('sensor.sparkx_i7_slot_4_color_name') }}{% elif slot == 'External' %}{{ states('sensor.sparkx_i7_external_color_name') }}{% else %}Unknown{% endif %}", - "secondary": "{% set slot = states('sensor.sparkx_i7_active_filament_slot') %}{{ slot }}{% if state_attr('sensor.sparkx_i7_active_filament_slot', 'filament') %} · {{ state_attr('sensor.sparkx_i7_active_filament_slot', 'filament') }}{% endif %}", - "type": "custom:mushroom-template-card" + "grid_options": { + "columns": "full" + } } ], "grid_options": {