From b905e04561ab305dcfef4d0168a5b6a81365fa76 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Fri, 22 May 2026 11:38:42 -0400 Subject: [PATCH] Fix Lovelace popup card structure --- config/dashboards/README.md | 2 +- .../popups/docker_10_maintenance.yaml | 23 ++++++------ .../popups/docker_14_maintenance.yaml | 23 ++++++------ .../popups/docker_17_maintenance.yaml | 23 ++++++------ .../popups/docker_69_maintenance.yaml | 23 ++++++------ config/dashboards/overview/popups/lights.yaml | 19 +++++----- .../overview/popups/living_room.yaml | 35 +++++++++---------- 7 files changed, 71 insertions(+), 77 deletions(-) diff --git a/config/dashboards/README.md b/config/dashboards/README.md index 18bece7d..49fa84b7 100644 --- a/config/dashboards/README.md +++ b/config/dashboards/README.md @@ -41,7 +41,7 @@ This folder holds YAML-managed Home Assistant Lovelace dashboards and UI resourc - `dashboard.yaml` is the dashboard entrypoint. - `views/` contains one YAML file per view. - `partials/` is reusable card lists included into views. - - `popups/` is reusable popup stacks (typically `bubble-card`) included into views. + - `popups/` is reusable standalone popup cards (typically `bubble-card`) included into views. - `card_mod/` is CSS overrides (use only when card-native options are insufficient). - `shared/` - Cross-dashboard reuse only. If something is only used by one dashboard, keep it in that dashboard folder. diff --git a/config/dashboards/infrastructure/popups/docker_10_maintenance.yaml b/config/dashboards/infrastructure/popups/docker_10_maintenance.yaml index 44b4943d..fb4a1149 100644 --- a/config/dashboards/infrastructure/popups/docker_10_maintenance.yaml +++ b/config/dashboards/infrastructure/popups/docker_10_maintenance.yaml @@ -11,19 +11,18 @@ # Notes: Volume prune is destructive; keep it hold-to-act with an explicit confirmation. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#infra-docker-10' +entity: sensor.docker_10_apt_status +button_type: state +name: docker_10 maintenance +icon: mdi:server +show_header: true +show_state: true +width_desktop: 520px +bg_opacity: '35' cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#infra-docker-10' - entity: sensor.docker_10_apt_status - button_type: state - name: docker_10 maintenance - icon: mdi:server - show_header: true - show_state: true - width_desktop: 520px - bg_opacity: '35' - type: grid columns: 2 square: false diff --git a/config/dashboards/infrastructure/popups/docker_14_maintenance.yaml b/config/dashboards/infrastructure/popups/docker_14_maintenance.yaml index 73e0151e..ee8319f4 100644 --- a/config/dashboards/infrastructure/popups/docker_14_maintenance.yaml +++ b/config/dashboards/infrastructure/popups/docker_14_maintenance.yaml @@ -11,19 +11,18 @@ # Notes: Volume prune is destructive; keep it hold-to-act with an explicit confirmation. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#infra-docker-14' +entity: sensor.docker_14_apt_status +button_type: state +name: docker_14 maintenance +icon: mdi:server +show_header: true +show_state: true +width_desktop: 520px +bg_opacity: '35' cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#infra-docker-14' - entity: sensor.docker_14_apt_status - button_type: state - name: docker_14 maintenance - icon: mdi:server - show_header: true - show_state: true - width_desktop: 520px - bg_opacity: '35' - type: grid columns: 2 square: false diff --git a/config/dashboards/infrastructure/popups/docker_17_maintenance.yaml b/config/dashboards/infrastructure/popups/docker_17_maintenance.yaml index 53c92cf1..97fd2e81 100644 --- a/config/dashboards/infrastructure/popups/docker_17_maintenance.yaml +++ b/config/dashboards/infrastructure/popups/docker_17_maintenance.yaml @@ -11,19 +11,18 @@ # Notes: Volume prune is destructive; keep it hold-to-act with an explicit confirmation. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#infra-docker-17' +entity: sensor.docker_17_apt_status +button_type: state +name: docker_17 maintenance +icon: mdi:server +show_header: true +show_state: true +width_desktop: 520px +bg_opacity: '35' cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#infra-docker-17' - entity: sensor.docker_17_apt_status - button_type: state - name: docker_17 maintenance - icon: mdi:server - show_header: true - show_state: true - width_desktop: 520px - bg_opacity: '35' - type: grid columns: 2 square: false diff --git a/config/dashboards/infrastructure/popups/docker_69_maintenance.yaml b/config/dashboards/infrastructure/popups/docker_69_maintenance.yaml index 6cd330b2..2ff23cc0 100644 --- a/config/dashboards/infrastructure/popups/docker_69_maintenance.yaml +++ b/config/dashboards/infrastructure/popups/docker_69_maintenance.yaml @@ -11,19 +11,18 @@ # Notes: Volume prune is destructive; keep it hold-to-act with an explicit confirmation. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#infra-docker-69' +entity: sensor.docker_69_apt_status +button_type: state +name: docker_69 maintenance +icon: mdi:server +show_header: true +show_state: true +width_desktop: 520px +bg_opacity: '35' cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#infra-docker-69' - entity: sensor.docker_69_apt_status - button_type: state - name: docker_69 maintenance - icon: mdi:server - show_header: true - show_state: true - width_desktop: 520px - bg_opacity: '35' - type: grid columns: 2 square: false diff --git a/config/dashboards/overview/popups/lights.yaml b/config/dashboards/overview/popups/lights.yaml index aca364fd..a185aac0 100644 --- a/config/dashboards/overview/popups/lights.yaml +++ b/config/dashboards/overview/popups/lights.yaml @@ -10,17 +10,16 @@ # Notes: Uses Bubble slider buttons for each light that is currently on. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#ovw-lights' +name: Lights Control +icon: mdi:lightbulb-group +width_desktop: 560px +show_header: true +entity: sensor.number_of_lights_on +button_type: name cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#ovw-lights' - name: Lights Control - icon: mdi:lightbulb-group - width_desktop: 560px - show_header: true - entity: sensor.number_of_lights_on - button_type: name - type: custom:auto-entities show_empty: true card: diff --git a/config/dashboards/overview/popups/living_room.yaml b/config/dashboards/overview/popups/living_room.yaml index 34b40666..8bff77a8 100644 --- a/config/dashboards/overview/popups/living_room.yaml +++ b/config/dashboards/overview/popups/living_room.yaml @@ -10,25 +10,24 @@ # Notes: Keeps scene actions limited to scenes already defined in `config/scene/living_room.yaml`. ###################################################################### -type: vertical-stack +type: custom:bubble-card +card_type: pop-up +hash: '#ovw-living-room' +button_type: slider +entity: light.living_room_lights +name: Living Room Lights +icon: mdi:sofa +show_attribute: false +slide_to_close_distance: '100000' +trigger: [] +bg_opacity: '35' +width_desktop: 560px +show_header: true +show_state: true +show_last_changed: true +tap_action: + action: toggle cards: -- type: custom:bubble-card - card_type: pop-up - hash: '#ovw-living-room' - button_type: slider - entity: light.living_room_lights - name: Living Room Lights - icon: mdi:sofa - show_attribute: false - slide_to_close_distance: '100000' - trigger: [] - bg_opacity: '35' - width_desktop: 560px - show_header: true - show_state: true - show_last_changed: true - tap_action: - action: toggle - type: custom:bubble-card card_type: button button_type: slider