You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
6.0 KiB
217 lines
6.0 KiB
######################################################################
|
|
# @CCOSTAN - Follow Me on X
|
|
# For more info visit https://www.vcloudinfo.com/click-here
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
# -------------------------------------------------------------------
|
|
# Overview Section - family presence and compact maps
|
|
# Special-home overlays stay visible while Bear Stone home stays clean.
|
|
# -------------------------------------------------------------------
|
|
# Notes: Core picture and map cards preserve person images and route history.
|
|
# Notes: Mobile search sits before maps so entity lookup remains near the top.
|
|
######################################################################
|
|
|
|
cards:
|
|
# Fallback card: picture-entity provides native person images and state filters.
|
|
- square: true
|
|
type: grid
|
|
columns: 4
|
|
cards:
|
|
- type: picture-entity
|
|
entity: person.carlo
|
|
name: Carlo
|
|
show_state: false
|
|
show_name: false
|
|
state_filter:
|
|
home: none
|
|
not_home: grayscale(100%) opacity(50%)
|
|
Justin Dorm: grayscale(10%) opacity(50%)
|
|
Paige Home: grayscale(10%) opacity(50%)
|
|
Joyce Home: grayscale(100%) opacity(50%)
|
|
driving: grayscale(100%) opacity(50%)
|
|
|
|
- type: picture-entity
|
|
entity: person.stacey
|
|
name: Stacey
|
|
show_state: false
|
|
show_name: false
|
|
state_filter:
|
|
home: none
|
|
not_home: grayscale(100%) opacity(50%)
|
|
Justin Dorm: grayscale(10%) opacity(50%)
|
|
Paige Home: grayscale(10%) opacity(50%)
|
|
Joyce Home: grayscale(100%) opacity(50%)
|
|
gym: grayscale(100%) opacity(50%)
|
|
driving: grayscale(100%) opacity(50%)
|
|
|
|
- type: picture-entity
|
|
entity: person.justin
|
|
name: Justin
|
|
show_state: true
|
|
show_name: false
|
|
card_mod:
|
|
style: |
|
|
.footer {
|
|
display: {% if is_state('person.justin', 'Justin Dorm') %}block{% else %}none{% endif %};
|
|
padding: 4px 2px !important;
|
|
font-size: 11px !important;
|
|
line-height: 14px !important;
|
|
}
|
|
state_filter:
|
|
home: none
|
|
not_home: grayscale(100%) opacity(50%)
|
|
Justin Dorm: grayscale(10%) opacity(50%)
|
|
Paige Home: grayscale(10%) opacity(50%)
|
|
Joyce Home: grayscale(100%) opacity(50%)
|
|
gym: grayscale(100%) opacity(50%)
|
|
driving: grayscale(100%) opacity(50%)
|
|
|
|
- type: picture-entity
|
|
entity: person.paige
|
|
name: Paige
|
|
show_state: true
|
|
show_name: false
|
|
card_mod:
|
|
style: |
|
|
.footer {
|
|
display: {% if is_state('person.paige', 'Paige Home') %}block{% else %}none{% endif %};
|
|
padding: 4px 2px !important;
|
|
font-size: 11px !important;
|
|
line-height: 14px !important;
|
|
}
|
|
state_filter:
|
|
home: none
|
|
not_home: grayscale(100%) opacity(50%)
|
|
paige_work: grayscale(100%) opacity(50%)
|
|
Justin Dorm: grayscale(10%) opacity(50%)
|
|
Paige Home: grayscale(10%) opacity(50%)
|
|
Joyce Home: grayscale(100%) opacity(50%)
|
|
gym: grayscale(100%) opacity(50%)
|
|
driving: grayscale(100%) opacity(50%)
|
|
|
|
# Fallback card: conditional rows explain away locations and collapse when empty.
|
|
- type: conditional
|
|
conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity: person.carlo
|
|
state_not: home
|
|
- condition: state
|
|
entity: person.stacey
|
|
state_not: home
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity: person.justin
|
|
state_not: home
|
|
- condition: state
|
|
entity: person.justin
|
|
state_not: Justin Dorm
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity: person.paige
|
|
state_not: home
|
|
- condition: state
|
|
entity: person.paige
|
|
state_not: Paige Home
|
|
card:
|
|
type: entities
|
|
state_color: false
|
|
entities:
|
|
- type: conditional
|
|
conditions:
|
|
- entity: person.carlo
|
|
state_not: home
|
|
row:
|
|
entity: sensor.carlo_location_display
|
|
name: Carlo Location
|
|
- type: conditional
|
|
conditions:
|
|
- entity: person.stacey
|
|
state_not: home
|
|
row:
|
|
entity: sensor.stacey_location_display
|
|
name: Stacey Location
|
|
- type: conditional
|
|
conditions:
|
|
- entity: person.justin
|
|
state_not: home
|
|
- entity: person.justin
|
|
state_not: Justin Dorm
|
|
row:
|
|
entity: sensor.justin_location_display
|
|
name: Justin Location
|
|
- type: conditional
|
|
conditions:
|
|
- entity: person.paige
|
|
state_not: home
|
|
- entity: person.paige
|
|
state_not: Paige Home
|
|
row:
|
|
entity: sensor.paige_location_display
|
|
name: Paige Location
|
|
|
|
# Fallback card: screen condition moves shared search ahead of maps on mobile.
|
|
- type: conditional
|
|
conditions:
|
|
- condition: screen
|
|
media_query: "(max-width: 900px)"
|
|
card: !include /config/dashboards/overview/partials/entity_search.yaml
|
|
|
|
- type: custom:mushroom-template-card
|
|
primary: Zoom Map
|
|
icon: mdi:map-marker
|
|
fill_container: true
|
|
layout: horizontal
|
|
grid_options:
|
|
columns: full
|
|
rows: 1
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /lovelace/family_locator
|
|
hold_action:
|
|
action: none
|
|
double_tap_action:
|
|
action: none
|
|
|
|
# Fallback cards: map preserves each person's 24-hour location path.
|
|
- type: map
|
|
entities:
|
|
- person.justin
|
|
hours_to_show: 24
|
|
aspect_ratio: '16:9'
|
|
theme_mode: auto
|
|
card_mod: &person_location_map_style
|
|
style:
|
|
ha-map $ ha-entity-marker $: |
|
|
.marker {
|
|
border: 3px solid var(--primary-color) !important;
|
|
border-radius: 50% 50% 50% 0 !important;
|
|
transform: rotate(-45deg) translate(50%, -50%);
|
|
overflow: visible !important;
|
|
}
|
|
.entity-picture {
|
|
transform: rotate(45deg);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
- type: map
|
|
entities:
|
|
- person.paige
|
|
hours_to_show: 24
|
|
aspect_ratio: '16:9'
|
|
theme_mode: auto
|
|
card_mod: *person_location_map_style
|
|
|
|
- type: map
|
|
entities:
|
|
- person.carlo
|
|
- person.stacey
|
|
hours_to_show: 24
|
|
aspect_ratio: '16:9'
|
|
theme_mode: auto
|
|
card_mod: *person_location_map_style
|
|
|
|
column_span: 1
|