From f3fb8534bc266759373fbe13e4459a1d78216ce3 Mon Sep 17 00:00:00 2001 From: "James Bateman (hp-laptop)" Date: Fri, 2 Oct 2026 13:56:03 +0100 Subject: [PATCH] Dashboard: drop gauges, fix tile legibility, 2-column layout Addresses review feedback on the first panel pass: - remove the output and pump-1 gauge cards (numeric tiles instead) - fix illegible status lamps: a full-width 4-up glance strip with short labels replaces the cramped icon-only tile row; readouts use grid_options so names no longer truncate - widen to a 2-column sections layout - history graphs stay on their own Diagnostics & Trends tab Verified in-browser against the live HA (2026.1.2). Co-Authored-By: Claude Opus 4.8 (1M context) --- ui-lovelace-butterfly.yaml | 178 ++++++++++++++++++------------------- 1 file changed, 87 insertions(+), 91 deletions(-) diff --git a/ui-lovelace-butterfly.yaml b/ui-lovelace-butterfly.yaml index 1894c5e..cdbc86b 100644 --- a/ui-lovelace-butterfly.yaml +++ b/ui-lovelace-butterfly.yaml @@ -5,71 +5,65 @@ # template sensors defined in configuration.butterfly.yaml (dBm -> mW). # Styling uses card-mod (installed via HACS). # -# Two views: -# Control — the panel: status lamps, output, the two stages, -# emergency stop. Everything you touch when running. -# Diagnostics & Trends — history graphs plus network / TEC / error detail, -# kept off the control view so it stays uncluttered. +# Two tabs: +# Control — the panel: status strip, output readout, the two +# stages, emergency stop. Everything you touch. +# Diagnostics & Trends — the history graphs plus network / TEC / error +# detail, kept off the control tab so it stays clean. title: Butterfly Rack views: # =================================================================== - # VIEW 1 — CONTROL PANEL + # TAB 1 — CONTROL PANEL # =================================================================== - title: Control path: control icon: mdi:laser-pointer type: sections - max_columns: 3 + max_columns: 2 sections: - # ---- Rack status ------------------------------------------------- + # ---- Rack status (full width) ----------------------------------- - type: grid - column_span: 3 + column_span: 2 cards: - type: heading heading: Butterfly EDFA Rack heading_style: title icon: mdi:laser-pointer - type: heading - heading: 1550 nm MOPA · Class 4 · invisible — treat output as hazardous + heading: 1550 nm MOPA · Class 4 · invisible 1550 nm — treat output as hazardous heading_style: subtitle - - type: grid - columns: 5 - square: false - cards: - - type: tile - entity: binary_sensor.butterfly_edfa_rack_seed_link + - type: glance + state_color: true + columns: 4 + grid_options: + columns: 12 + entities: + - entity: binary_sensor.butterfly_edfa_rack_seed_link name: Seed link - icon: mdi:lan-connect - - type: tile - entity: binary_sensor.butterfly_edfa_rack_amp_link + - entity: binary_sensor.butterfly_edfa_rack_amp_link name: Amp link - icon: mdi:lan-connect - - type: tile - entity: switch.butterfly_edfa_rack_seed_laser + - entity: switch.butterfly_edfa_rack_seed_laser name: Seed - icon: mdi:laser-pointer - color: amber - - type: tile - entity: switch.butterfly_edfa_rack_amp_pump + - entity: switch.butterfly_edfa_rack_amp_pump name: Booster - icon: mdi:flash - color: red - - type: tile - entity: sensor.butterfly_edfa_rack_amp_warnings - name: Status - icon: mdi:alert-decagram - card_mod: - style: | - ha-card { - {% set w = states('sensor.butterfly_edfa_rack_amp_warnings') %} - {% if w in ['none','Pump is OFF','unknown','unavailable'] or w == '' %} - --tile-color: var(--green-color, #43a047); - {% else %} - --tile-color: var(--red-color, #e53935); - {% endif %} - } + - type: tile + entity: sensor.butterfly_edfa_rack_amp_warnings + name: Status + icon: mdi:alert-decagram + grid_options: + columns: 12 + card_mod: + style: | + ha-card { + {% set w = states('sensor.butterfly_edfa_rack_amp_warnings') %} + {% if w in ['none','Pump is OFF','unknown','unavailable'] or w == '' %} + --tile-color: var(--green-color, #43a047); + {% else %} + --tile-color: var(--red-color, #e53935); + {% endif %} + } - # ---- Output (the headline) -------------------------------------- + # ---- Output readout --------------------------------------------- - type: grid column_span: 1 cards: @@ -77,28 +71,27 @@ views: heading: Output heading_style: subtitle icon: mdi:arrow-left-bold - - type: gauge + - type: tile entity: sensor.butterfly_edfa_rack_output_power_mw name: Output power - unit: mW - needle: true - min: 0 - max: 1100 - severity: - green: 0 - yellow: 850 - red: 1000 - - type: horizontal-stack - cards: - - type: tile - entity: sensor.butterfly_edfa_rack_output_power - name: Output - icon: mdi:arrow-left-bold - hide_state: false - - type: tile - entity: sensor.butterfly_edfa_rack_amp_input_power_mw - name: EDFA in - icon: mdi:arrow-right-bold + icon: mdi:arrow-left-bold + grid_options: + columns: 12 + card_mod: + style: | + ha-card { --tile-color: var(--cyan-color, #00acc1); } + - type: tile + entity: sensor.butterfly_edfa_rack_output_power + name: Output dBm + icon: mdi:sine-wave + grid_options: + columns: 6 + - type: tile + entity: sensor.butterfly_edfa_rack_amp_input_power_mw + name: EDFA in + icon: mdi:arrow-right-bold + grid_options: + columns: 6 # ---- Stage 1: seed ---------------------------------------------- - type: grid @@ -112,23 +105,29 @@ views: state_color: true entities: - entity: switch.butterfly_edfa_rack_seed_laser - name: Seed laser (turn on FIRST) + name: Seed laser (ON first) - entity: number.butterfly_edfa_rack_seed_set_current - name: Set current (≤ 300 mA) + name: Set current (mA) - entity: number.butterfly_edfa_rack_seed_thermistor_setpoint - name: Temp setpoint (Ω, rtset) - - type: horizontal-stack - cards: - - type: tile - entity: sensor.butterfly_edfa_rack_seed_current - name: Current - icon: mdi:current-dc - - type: tile - entity: sensor.butterfly_edfa_rack_seed_temperature - name: Seed temp - - type: tile - entity: sensor.butterfly_edfa_rack_seed_photodiode_current - name: Monitor PD + name: Temp setpoint (Ω) + - type: tile + entity: sensor.butterfly_edfa_rack_seed_current + name: Current + icon: mdi:current-dc + grid_options: + columns: 6 + - type: tile + entity: sensor.butterfly_edfa_rack_seed_temperature + name: Seed temp + icon: mdi:thermometer + grid_options: + columns: 6 + - type: tile + entity: sensor.butterfly_edfa_rack_seed_photodiode_current + name: Monitor PD + icon: mdi:current-dc + grid_options: + columns: 6 # ---- Stage 2: booster ------------------------------------------- - type: grid @@ -144,26 +143,23 @@ views: - entity: switch.butterfly_edfa_rack_amp_pump name: Pump enable - entity: number.butterfly_edfa_rack_amp_pump_current - name: Pump-1 set (≤ 4000 mA ≈ 1 W) - - type: gauge + name: Pump-1 set (mA) + - type: tile entity: sensor.butterfly_edfa_rack_amp_pump_1_current name: Pump-1 current - unit: mA - needle: true - min: 0 - max: 4000 - severity: - green: 0 - yellow: 2800 - red: 3700 + icon: mdi:current-dc + grid_options: + columns: 6 - type: tile entity: sensor.butterfly_edfa_rack_amp_module_temperature name: Module temp icon: mdi:thermometer + grid_options: + columns: 6 - # ---- Emergency --------------------------------------------------- + # ---- Emergency (full width) ------------------------------------- - type: grid - column_span: 3 + column_span: 2 cards: - type: heading heading: Emergency @@ -224,7 +220,7 @@ views: } # =================================================================== - # VIEW 2 — DIAGNOSTICS & TRENDS + # TAB 2 — DIAGNOSTICS & TRENDS # =================================================================== - title: Diagnostics & Trends path: diagnostics