LIVE copy of a card across views or dashboards?

You can already do this with the !include statement.

My entire UI is based on !includes. Most of the elements and cards are shared between my desktop, tablet (kiosk), and mobile dashboards so I only have to maintain one copy of them.

Here’s my main home page view for example.

Laptop Home View
###############################################################################
## Home View
###############################################################################
title: "Home"
icon: mdi:home-account
path: home
type: custom:vertical-layout
layout:
  max_cols: 4
cards:
  - type: horizontal-stack
    cards:
      - !include /config/ui/button/presence/occupancy_mode_button.yaml
      - !include /config/ui/button/alarm/master_alarm_button.yaml
      - !include /config/ui/button/presence/presence_button_jason.yaml

      - type: conditional
        conditions:
          - entity: input_boolean.guest_home
            state: "on"
        card: !include /config/ui/button/presence/guest_presence_button.yaml

  - !include /config/ui/card/alarm/alarm_alert_card.yaml

  - type: grid
    columns: 5
    square: true
    cards:
      - !include /config/ui/button/other/lock_button.yaml
      - !include /config/ui/button/garage/garage_door_button.yaml
      - !include /config/ui/button/sensor/door_button.yaml
      - !include /config/ui/button/sensor/window_button.yaml
      - !include /config/ui/button/sensor/motion_button.yaml
      - !include /config/ui/button/alarm/camera_button.yaml

      - !include /config/ui/button/other/thermostat_button.yaml
      - !include /config/ui/button/garage/garage_thermostat_button.yaml
      - !include /config/ui/button/other/fireplace_button.yaml
      - !include /config/ui/button/other/fan_button.yaml
      - !include /config/ui/button/sensor/dishwasher_button.yaml
      - !include /config/ui/button/sensor/refrigerator_button.yaml

      - !include /config/ui/button/other/light_button.yaml
      - !include /config/ui/button/scene/scene_movie_button.yaml
      - !include /config/ui/button/scene/scene_company_button.yaml
      - !include /config/ui/button/scene/scene_chill_button.yaml
      - !include /config/ui/button/scene/scene_shower_button.yaml
      - !include /config/ui/button/sensor/power_use_button.yaml

      - !include /config/ui/button/schedule/work_schedule_button.yaml
      - !include /config/ui/button/schedule/waketime_button.yaml
      - !include /config/ui/button/schedule/bedtime_button.yaml
      - !include /config/ui/button/schedule/waste_button.yaml

      - !include /config/ui/button/sensor/smoke_detector_button.yaml
      - !include /config/ui/button/other/charlie_button.yaml

      - !include /config/ui/button/sensor/leak_button.yaml
      - !include /config/ui/button/sensor/indoor_sump_button.yaml
      - !include /config/ui/button/sensor/outdoor_sump_button.yaml
      - !include /config/ui/button/other/sprinkler_button.yaml
      - !include /config/ui/button/other/hot_tub_button.yaml
      - !include /config/ui/button/other/hass_button.yaml

  - !include /config/ui/menu/home_menu.yaml
  - !include /config/ui/card/schedule/schedule_timers.yaml
  - !include /config/ui/card/scene/scene_timers.yaml

  - type: custom:layout-break

  - !include /config/ui/card/media/media_buttons.yaml

  - type: custom:state-switch
    entity: template
    default: "off"
    template: "{{ iif(is_state('binary_sensor.media_active','on'),'media','players') }}"
    states:
      media: !include /config/ui/card/media/media_launcher.yaml
      players: !include /config/ui/card/media/media_player/media_players_device.yaml

  - type: custom:layout-break

  - !include /config/ui/card/weather/weather_forecast.yaml

  - type: custom:layout-break

  - !include /config/ui/card/camera/camera_swipe.yaml
2 Likes