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

######################################################################
# @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

Powered by TurnKey Linux.