7382 lines
276 KiB
YAML
7382 lines
276 KiB
YAML
streamline_templates:
|
||
main_button_name:
|
||
default:
|
||
- name: ''
|
||
- columns: 2
|
||
- navigation_path: ''
|
||
- icon: ''
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: '[[name]]'
|
||
icon: '[[icon]]'
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
columns: '[[columns]]'
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
main_button_floors:
|
||
defaults:
|
||
name: ''
|
||
icon: ''
|
||
navigation_path: ''
|
||
occupancy_entity: ''
|
||
temp_entity: ''
|
||
lux_entity: ''
|
||
hot_entity: ''
|
||
cold_entity: ''
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[occupancy_entity]]'
|
||
name: '[[name]]'
|
||
icon: '[[icon]]'
|
||
show_state: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
sub_button:
|
||
- entity: '[[temp_entity]]'
|
||
name: Temp
|
||
show_state: true
|
||
show_name: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
show_background: false
|
||
- entity: '[[lux_entity]]'
|
||
show_state: true
|
||
name: Lux
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
show_background: false
|
||
modules:
|
||
- default
|
||
- temperature_colouring
|
||
- main_button_floors
|
||
temperature_colouring:
|
||
temperature_sensor: '[[temp_entity]]'
|
||
elements:
|
||
sub_buttons:
|
||
- 1
|
||
main_button_floors:
|
||
occupancy_entity: '[[occupancy_entity]]'
|
||
hot_entity: '[[hot_entity]]'
|
||
cold_entity: '[[cold_entity]]'
|
||
main_button_outdoors:
|
||
defaults:
|
||
name: ''
|
||
icon: ''
|
||
navigation_path: ''
|
||
occupancy_entity: ''
|
||
temp_entity: ''
|
||
lux_entity: ''
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[occupancy_entity]]'
|
||
name: '[[name]]'
|
||
icon: '[[icon]]'
|
||
show_state: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
sub_button:
|
||
- entity: '[[temp_entity]]'
|
||
name: Temp
|
||
show_state: true
|
||
show_name: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
show_background: false
|
||
- entity: '[[lux_entity]]'
|
||
show_state: true
|
||
name: Lux
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
show_background: false
|
||
modules:
|
||
- default
|
||
- temperature_colouring
|
||
- main_button_outdoors
|
||
temperature_colouring:
|
||
temperature_sensor: '[[temp_entity]]'
|
||
elements:
|
||
sub_buttons:
|
||
- 1
|
||
main_button_outdoors:
|
||
occupancy_entity: '[[occupancy_entity]]'
|
||
floors_separator:
|
||
defaults:
|
||
- name: ''
|
||
- icon: ''
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: separator
|
||
name: '[[name]]'
|
||
icon: '[[icon]]'
|
||
sub_button:
|
||
- entity: '[[power_entity]]'
|
||
name: Power
|
||
show_state: true
|
||
tap_action:
|
||
action: none
|
||
- entity: '[[lights_entity]]'
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
show_name: true
|
||
show_state: false
|
||
tap_action:
|
||
action: toggle
|
||
modules:
|
||
- badgy-condition-helper
|
||
badgy-condition-helper:
|
||
entity_badges:
|
||
'1':
|
||
entity: '[[floor_lights_count]]'
|
||
condition:
|
||
- condition: state
|
||
entity_id: '[[lights_entity]]'
|
||
state: 'on'
|
||
popup_temperature_button:
|
||
defaults:
|
||
- name: ''
|
||
- hot_entity: ''
|
||
- cold_entity: ''
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[entity]]'
|
||
name: '[[name]]'
|
||
show_attribute: false
|
||
modules:
|
||
- default
|
||
- popup_temperature_button
|
||
popup_temperature_button:
|
||
hot_entity: '[[hot_entity]]'
|
||
cold_entity: '[[cold_entity]]'
|
||
popup_timer_card:
|
||
defaults:
|
||
name: ''
|
||
entity: ''
|
||
card:
|
||
type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: '[[entity]]'
|
||
state_not: idle
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[entity]]'
|
||
name: '[[name]]'
|
||
icon: mdi:timer
|
||
sub_button:
|
||
- entity: '[[entity]]'
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.start
|
||
target:
|
||
entity_id: '[[entity]]'
|
||
name: Start
|
||
icon: mdi:play
|
||
visibility: []
|
||
- entity: '[[entity]]'
|
||
name: Pause
|
||
icon: mdi:pause
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.pause
|
||
target:
|
||
entity_id: '[[entity]]'
|
||
- entity: '[[entity]]'
|
||
name: Cancel
|
||
icon: mdi:cancel
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.cancel
|
||
target:
|
||
entity_id: '[[entity]]'
|
||
- entity: '[[entity]]'
|
||
name: Finish
|
||
icon: mdi:clock-end
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.finish
|
||
target:
|
||
entity_id: '[[entity]]'
|
||
modules:
|
||
- default
|
||
- popup_timer_card
|
||
state_color_button:
|
||
defaults:
|
||
- name: ''
|
||
- columns: 2
|
||
- show_state: true
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[entity]]'
|
||
name: '[[name]]'
|
||
show_state: '[[show_state]]'
|
||
tap_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: '[[columns]]'
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
state_color_button:
|
||
color: '[[color]]'
|
||
state_color_button_nav:
|
||
defaults:
|
||
- name: ''
|
||
- columns: 2
|
||
- show_state: false
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[entity]]'
|
||
name: '[[name]]'
|
||
show_state: '[[show_state]]'
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '[[navigation_path]]'
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: '[[columns]]'
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
state_color_button:
|
||
color: '[[color]]'
|
||
contact_sensor_button:
|
||
defaults:
|
||
- name: ''
|
||
- columns: 2
|
||
- show_state: true
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: '[[entity]]'
|
||
name: '[[name]]'
|
||
show_state: '[[show_state]]'
|
||
tap_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: '[[columns]]'
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
- get_state_attribute
|
||
state_color_button:
|
||
color: '[[color]]'
|
||
get_state_attribute:
|
||
- entity: '[[entity]]'
|
||
- entity: '[[entity]]_tamper'
|
||
phone_info_grid:
|
||
card:
|
||
type: custom:stack-in-card
|
||
card_mod:
|
||
style: |
|
||
ha-card {
|
||
overflow: visible !important;
|
||
}
|
||
cards:
|
||
- type: glance
|
||
entities:
|
||
- entity: device_tracker.[[device]]
|
||
name: Location
|
||
- entity: sensor.[[device]]_interval
|
||
name: Interval
|
||
icon: mdi:clock-start
|
||
- entity: sensor.[[device]]_travel_time
|
||
name: TravTime
|
||
icon: mdi:clock-outline
|
||
- entity: sensor.[[device]]_zone_distance
|
||
name: Home
|
||
icon: mdi:map-marker-distance
|
||
- entity: sensor.[[device]]_next_update
|
||
name: NextUpdt
|
||
icon: mdi:update
|
||
state_color: false
|
||
- type: glance
|
||
entities:
|
||
- entity: sensor.[[device]]_waze_distance
|
||
name: WazeDist
|
||
icon: mdi:map-marker-distance
|
||
- entity: sensor.[[device]]_calc_distance
|
||
name: CalcDist
|
||
icon: mdi:map-marker-distance
|
||
- entity: sensor.[[device]]_dir_of_travel
|
||
name: Direction
|
||
icon: mdi:compass-outline
|
||
- entity: sensor.[[device]]_last_located
|
||
name: Located
|
||
icon: mdi:map-clock
|
||
- entity: sensor.[[device]]_last_update
|
||
name: LastUpdt
|
||
icon: mdi:history
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: entities
|
||
entities:
|
||
- entity: sensor.[[device]]_info
|
||
name: Info
|
||
icon: mdi:information-outline
|
||
iphone_entities_card:
|
||
card:
|
||
type: entities
|
||
entities:
|
||
- entity: device_tracker.[[device]]_app
|
||
name: App Location
|
||
- type: custom:battery-state-entity
|
||
entity: sensor.[[device]]_battery
|
||
name: Battery
|
||
tap_action: more-info
|
||
charging_state:
|
||
entity_id: sensor.[[device]]_battery_status
|
||
state: Charging
|
||
- type: custom:template-entity-row
|
||
name: Connection Type
|
||
entity: sensor.[[device]]_connection_type
|
||
state: |
|
||
{% if is_state('sensor.[[device]]_connection_type','Cellular') %}
|
||
{{ state_attr('sensor.[[device]]_connection_type','Cellular Technology') }}
|
||
{% elif is_state('sensor.[[device]]_connection_type','Wi-Fi') %}
|
||
Wi-Fi
|
||
{% else %}
|
||
Unknown
|
||
{% endif %}
|
||
- entity: sensor.[[device]]_ssid
|
||
name: SSID
|
||
- entity: sensor.[[device]]_steps
|
||
name: Steps Today
|
||
- entity: binary_sensor.[[device]]_focus
|
||
name: Focus
|
||
- entity: sensor.[[device]]_storage
|
||
name: Storage
|
||
show_header_toggle: false
|
||
state_color: true
|
||
ipad_entities_card:
|
||
card:
|
||
type: entities
|
||
entities:
|
||
- entity: device_tracker.[[device]]_app
|
||
name: App Location
|
||
- type: custom:battery-state-entity
|
||
entity: sensor.[[device]]_battery
|
||
name: Battery
|
||
tap_action: more-info
|
||
charging_state:
|
||
entity_id: sensor.[[device]]_battery_status
|
||
state: Charging
|
||
- type: custom:template-entity-row
|
||
name: Connection Type
|
||
entity: sensor.[[device]]_connection_type
|
||
state: |
|
||
{% if is_state('sensor.[[device]]_connection_type','Cellular') %}
|
||
{{ state_attr('sensor.[[device]]_connection_type','Cellular Technology') }}
|
||
{% elif is_state('sensor.[[device]]_connection_type','Wi-Fi') %}
|
||
Wi-Fi
|
||
{% else %}
|
||
Unknown
|
||
{% endif %}
|
||
- entity: sensor.[[device]]_ssid
|
||
name: SSID
|
||
- entity: binary_sensor.[[device]]_focus
|
||
name: Focus
|
||
- entity: sensor.[[device]]_storage
|
||
name: Storage
|
||
- entity: sensor.[[device]]_info
|
||
name: Info
|
||
show_header_toggle: false
|
||
state_color: true
|
||
views:
|
||
- title: Home
|
||
path: home
|
||
type: sections
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
icon: mdi:weather-partly-cloudy
|
||
heading: Weather
|
||
heading_style: title
|
||
- type: custom:meteoalarm-card
|
||
entities:
|
||
entity: sensor.weatheralerts
|
||
integration: weatheralerts
|
||
hide_when_no_warning: true
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.weatheralerts_alerts_are_active
|
||
state: 'Yes'
|
||
- type: custom:clock-weather-card
|
||
entity: weather.iron_nerd_weather_station
|
||
sun_entity: sun.sun
|
||
weather_icon_type: fill
|
||
humidity_sensor: sensor.home_relative_humidity
|
||
show_humidity: true
|
||
apparent_sensor: sensor.home_temperature_feels_like
|
||
animated_icon: true
|
||
forecast_rows: 7
|
||
time_format: 12
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /lovelace/weather
|
||
- type: heading
|
||
icon: mdi:home-account
|
||
heading: People
|
||
heading_style: title
|
||
- square: false
|
||
columns: 3
|
||
type: grid
|
||
cards:
|
||
- type: custom:mushroom-person-card
|
||
entity: person.tony_stork
|
||
layout: vertical
|
||
icon_type: entity-picture
|
||
fill_container: false
|
||
- type: custom:mushroom-person-card
|
||
entity: person.christina_stork
|
||
layout: vertical
|
||
icon_type: entity-picture
|
||
fill_container: false
|
||
- type: custom:mushroom-person-card
|
||
entity: person.kallen_stork
|
||
layout: vertical
|
||
icon_type: entity-picture
|
||
fill_container: false
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
name: Mobile Devices
|
||
icon: mdi:cellphone-information
|
||
navigation_path: /dashboard-mobile/mobile-devices
|
||
columns: '4'
|
||
- type: heading
|
||
icon: mdi:cctv
|
||
heading: Cameras
|
||
heading_style: title
|
||
- camera_view: auto
|
||
type: picture-glance
|
||
title: Front Porch
|
||
entities:
|
||
- entity: light.front_porch_light
|
||
- entity: alarm_control_panel.stratton_ave_alarm
|
||
- entity: sensor.front_doorbell_battery_mqtt
|
||
- entity: binary_sensor.front_doorbell_motion_mqtt
|
||
- entity: binary_sensor.exterior_doors
|
||
- entity: binary_sensor.windows
|
||
camera_image: camera.front_porch_ring
|
||
- camera_view: auto
|
||
type: picture-glance
|
||
entities: []
|
||
camera_image: camera.side_camera
|
||
title: Perry Street
|
||
visibility:
|
||
- condition: state
|
||
entity: camera.side_camera
|
||
state_not: unavailable
|
||
- type: heading
|
||
icon: mdi:calendar
|
||
heading: Calendar
|
||
heading_style: title
|
||
- entities:
|
||
- entity: calendar.family
|
||
label: mdi:human-male-female-child
|
||
color: green
|
||
accent_color: green
|
||
- entity: calendar.kallen_school_days
|
||
label: mdi:school
|
||
color: orange
|
||
accent_color: orange
|
||
- entity: calendar.tony_s_twitch_schedule
|
||
label: mdi:twitch
|
||
color: purple
|
||
accent_color: purple
|
||
- calendar.kallen_early_release
|
||
- calendar.tm24fan8_gmail_com
|
||
- calendar.irishpirate1988_gmail_com
|
||
- calendar.vacation
|
||
days_to_show: 5
|
||
week_separator_width: 1px
|
||
month_separator_width: 1px
|
||
today_indicator: dot
|
||
weekend_weekday_color: cyan
|
||
weekend_day_color: cyan
|
||
weekend_month_color: cyan
|
||
show_countdown: true
|
||
show_progress_bar: true
|
||
remove_location_country: true
|
||
weather:
|
||
position: both
|
||
date:
|
||
show_conditions: true
|
||
show_high_temp: true
|
||
show_low_temp: true
|
||
icon_size: 14px
|
||
font_size: 12px
|
||
color: var(--primary-text-color)
|
||
event:
|
||
show_conditions: true
|
||
show_temp: true
|
||
icon_size: 14px
|
||
font_size: 12px
|
||
color: var(--primary-text-color)
|
||
entity: weather.iron_nerd_weather_station
|
||
type: custom:calendar-card-pro
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Housewide
|
||
heading_style: title
|
||
icon: mdi:home-analytics
|
||
- type: custom:streamline-card
|
||
template: state_color_button_nav
|
||
variables:
|
||
- name: Security
|
||
- entity: binary_sensor.security_faults
|
||
- navigation_path: '#security'
|
||
- columns: 2
|
||
- color: error-color
|
||
- show_state: false
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Global Scenes
|
||
- icon: mdi:home-lightbulb-outline
|
||
- navigation_path: '#global-scenes'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Batteries
|
||
- icon: mdi:battery-charging
|
||
- navigation_path: '#batteries'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Messaging
|
||
- icon: mdi:bullhorn
|
||
- navigation_path: '#messaging'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Rabbit
|
||
icon: mdi:rabbit
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/rabbit
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/rabbit
|
||
columns: 2
|
||
card_mod:
|
||
style: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color:
|
||
{% set feeding_reminders = states('counter.rabbit_feeding_reminder_count') | int %}
|
||
{% set cleaning_reminders = states('counter.rabbit_hutch_cleaning_reminder_count') | int %}
|
||
{% if feeding_reminders == 0 and cleaning_reminders == 0 %}
|
||
var(--bubble-main-background-color)
|
||
{% elif feeding_reminders < 3 and cleaning_reminders < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
.bubble-icon {
|
||
color:
|
||
{% set feeding_reminders = states('counter.rabbit_feeding_reminder_count') | int %}
|
||
{% set cleaning_reminders = states('counter.rabbit_hutch_cleaning_reminder_count') | int %}
|
||
{% if feeding_reminders == 0 and cleaning_reminders == 0 %}
|
||
var(--bubble-main-icon-color)
|
||
{% elif feeding_reminders < 3 and cleaning_reminders < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: color 1s !important;
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Home Feed
|
||
- icon: mdi:newspaper-variant
|
||
- navigation_path: '#homefeed'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Sports
|
||
- icon: mdi:football
|
||
- navigation_path: /dashboard-mobile/sports
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Climate
|
||
- icon: mdi:home-thermometer
|
||
- navigation_path: /dashboard-mobile/climate
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Running
|
||
- icon: mdi:database-clock
|
||
- navigation_path: '#running'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Go to Main Dashboard
|
||
- icon: mdi:navigation-variant
|
||
- navigation_path: /lovelace/default_view
|
||
- columns: 4
|
||
grid_options:
|
||
columns: 12
|
||
rows: auto
|
||
visibility:
|
||
- condition: screen
|
||
media_query: '(min-width: 0px) and (max-width: 767px)'
|
||
- type: heading
|
||
heading: Outside Info
|
||
heading_style: title
|
||
icon: mdi:chart-areaspline
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
- name: Gas Prices
|
||
- icon: mdi:gas-station
|
||
- navigation_path: '#gas-prices'
|
||
- columns: 2
|
||
grid_options:
|
||
columns: 6
|
||
rows: auto
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Personal
|
||
heading_style: title
|
||
icon: fas:person-shelter
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Tony
|
||
sub_button: []
|
||
columns: 2
|
||
icon: mdi:human-male
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/tony
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/tony
|
||
card_mod:
|
||
style: |
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','tony')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-background-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
.bubble-icon {
|
||
color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','tony')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-icon-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: color 1s !important;
|
||
}
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Tina
|
||
sub_button: []
|
||
columns: 2
|
||
icon: mdi:human-female
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/tina
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/tina
|
||
card_mod:
|
||
style: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','tina')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-background-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
.bubble-icon {
|
||
color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','tina')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-icon-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: color 1s !important;
|
||
}
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Kallen
|
||
sub_button: []
|
||
columns: 2
|
||
icon: mdi:human-child
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/kallen
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/kallen
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
modules:
|
||
- default
|
||
card_mod:
|
||
style: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','kallen')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-background-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
.bubble-icon {
|
||
color:
|
||
{% set counters = states.counter
|
||
| selectattr('entity_id','contains','kallen')
|
||
| selectattr('entity_id','contains','meds')
|
||
| map(attribute='state')
|
||
| max
|
||
| int %}
|
||
{% if counters == 0 %}
|
||
var(--bubble-main-icon-color)
|
||
{% elif counters < 3 %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--error-color)
|
||
{% endif %}
|
||
!important;
|
||
transition: color 1s !important;
|
||
}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Emma
|
||
sub_button: []
|
||
columns: 2
|
||
icon: mdi:bow-tie
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/emma
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/emma
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: timer.kallen_timer
|
||
columns: 4
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
show_attribute: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/kallen-timer
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /dashboard-mobile/kallen-timer
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Areas
|
||
heading_style: title
|
||
icon: hue:downstairs
|
||
- type: custom:streamline-card
|
||
template: floors_separator
|
||
variables:
|
||
- name: Outdoors
|
||
- icon: hue:room-outdoors
|
||
- power_entity: sensor.outside_lights_power_sensor
|
||
- lights_entity: light.outside_lights
|
||
- type: custom:streamline-card
|
||
template: main_button_outdoors
|
||
variables:
|
||
- name: Front Porch
|
||
- icon: hue:room-porch
|
||
- navigation_path: '#front-porch'
|
||
- occupancy_entity: binary_sensor.front_doorbell_motion_mqtt
|
||
- temp_entity: sensor.home_tempest_temperature
|
||
- lux_entity: sensor.home_tempest_illuminance
|
||
- type: custom:streamline-card
|
||
template: floors_separator
|
||
variables:
|
||
name: Basement
|
||
icon: mdi:home-floor-b
|
||
power_entity: sensor.basement_total_power_sensor
|
||
lights_entity: light.basement_lights
|
||
floor_lights_count: sensor.basement_lights_on
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Basement Studio
|
||
- icon: mdi:twitch
|
||
- navigation_path: '#basement-studio'
|
||
- occupancy_entity: binary_sensor.basement_occupied
|
||
- temp_entity: sensor.basement_studio_temperature
|
||
- lux_entity: sensor.basement_studio_illuminance
|
||
- hot_entity: binary_sensor.basement_studio_hot
|
||
- cold_entity: binary_sensor.basement_studio_cold
|
||
- type: custom:streamline-card
|
||
template: floors_separator
|
||
variables:
|
||
name: First Floor
|
||
icon: mdi:home-floor-1
|
||
power_entity: sensor.first_floor_total_power_sensor
|
||
lights_entity: light.first_floor_lights
|
||
floor_lights_count: sensor.first_floor_lights_on
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Living Room
|
||
- icon: mdi:sofa
|
||
- navigation_path: '#living-room'
|
||
- occupancy_entity: binary_sensor.living_room_occupied
|
||
- temp_entity: sensor.living_room_front_temperature
|
||
- lux_entity: sensor.living_room_front_illuminance
|
||
- hot_entity: binary_sensor.living_room_hot
|
||
- cold_entity: binary_sensor.living_room_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Tina Desk
|
||
- icon: mdi:desk
|
||
- navigation_path: '#tina-desk'
|
||
- occupancy_entity: binary_sensor.tina_desk_occupied
|
||
- temp_entity: sensor.living_room_back_temperature
|
||
- lux_entity: sensor.living_room_back_illuminance
|
||
- hot_entity: binary_sensor.living_room_back_hot
|
||
- cold_entity: binary_sensor.living_room_back_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Stairwell
|
||
- icon: mdi:stairs
|
||
- navigation_path: '#stairwell'
|
||
- occupancy_entity: binary_sensor.stairwell_occupied
|
||
- temp_entity: sensor.stairwell_bottom_temperature
|
||
- lux_entity: sensor.stairwell_bottom_illuminance
|
||
- hot_entity: binary_sensor.stairwell_bottom_hot
|
||
- cold_entity: binary_sensor.stairwell_bottom_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Downstairs Bathroom
|
||
- icon: mdi:toilet
|
||
- navigation_path: '#downstairs-bathroom'
|
||
- occupancy_entity: binary_sensor.downstairs_bathroom_occupied
|
||
- temp_entity: sensor.downstairs_bathroom_temperature
|
||
- lux_entity: sensor.downstairs_bathroom_illuminance
|
||
- hot_entity: binary_sensor.downstairs_bathroom_hot
|
||
- cold_entity: binary_sensor.downstairs_bathroom_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Mud Room
|
||
- icon: hue:room-other
|
||
- navigation_path: '#mud-room'
|
||
- occupancy_entity: binary_sensor.mud_room_occupied
|
||
- temp_entity: sensor.mud_room_temperature
|
||
- lux_entity: sensor.mud_room_illuminance
|
||
- hot_entity: binary_sensor.mud_room_hot
|
||
- cold_entity: binary_sensor.mud_room_cold
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Kitchen
|
||
icon: hue:room-kitchen
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#kitchen'
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#kitchen'
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
- type: custom:streamline-card
|
||
template: floors_separator
|
||
variables:
|
||
name: Second Floor
|
||
icon: mdi:home-floor-2
|
||
power_entity: sensor.second_floor_total_power_sensor
|
||
lights_entity: light.second_floor_lights
|
||
floor_lights_count: sensor.second_floor_lights_on
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Upstairs Hallway
|
||
- icon: hue:ceiling-round
|
||
- navigation_path: '#upstairs-hallway'
|
||
- occupancy_entity: binary_sensor.upstairs_hallway_occupied
|
||
- temp_entity: sensor.stairwell_top_temperature
|
||
- lux_entity: sensor.stairwell_top_illuminance
|
||
- hot_entity: binary_sensor.stairwell_top_hot
|
||
- cold_entity: binary_sensor.stairwell_top_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Upstairs Bathroom
|
||
- icon: mdi:toilet
|
||
- navigation_path: '#upstairs-bathroom'
|
||
- occupancy_entity: binary_sensor.upstairs_bathroom_occupied
|
||
- temp_entity: sensor.upstairs_bathroom_temperature
|
||
- lux_entity: sensor.upstairs_bathroom_illuminance
|
||
- hot_entity: binary_sensor.upstairs_bathroom_hot
|
||
- cold_entity: binary_sensor.upstairs_bathroom_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Master Bedroom
|
||
- icon: mdi:bed
|
||
- navigation_path: '#master-bedroom'
|
||
- occupancy_entity: binary_sensor.master_bedroom_occupied
|
||
- temp_entity: sensor.master_bedroom_temperature
|
||
- lux_entity: sensor.master_bedroom_illuminance
|
||
- hot_entity: binary_sensor.master_bedroom_hot
|
||
- cold_entity: binary_sensor.master_bedroom_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Kallen Bedroom
|
||
- icon: mdi:bunk-bed
|
||
- navigation_path: '#kallen-bedroom'
|
||
- occupancy_entity: binary_sensor.kallen_bedroom_occupied
|
||
- temp_entity: sensor.kallen_bedroom_temperature
|
||
- lux_entity: sensor.kallen_bedroom_illuminance
|
||
- hot_entity: binary_sensor.kallen_bedroom_hot
|
||
- cold_entity: binary_sensor.kallen_bedroom_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
- name: Emma Bedroom
|
||
- icon: hue:room-nursery
|
||
- navigation_path: '#emma-bedroom'
|
||
- occupancy_entity: binary_sensor.emma_bedroom_occupied
|
||
- temp_entity: sensor.emma_bedroom_temperature
|
||
- lux_entity: sensor.emma_bedroom_illuminance
|
||
- hot_entity: binary_sensor.emma_bedroom_hot
|
||
- cold_entity: binary_sensor.emma_bedroom_cold
|
||
- type: grid
|
||
cards:
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#front-porch'
|
||
button_type: slider
|
||
entity: light.front_porch_light
|
||
name: Front Porch
|
||
icon: hue:room-porch
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.front_porch_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
icon: mdi:palette
|
||
- entity: input_boolean.front_porch_light_on
|
||
name: Motion Lighting
|
||
icon: mdi:motion-sensor
|
||
tap_action:
|
||
action: toggle
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
modules:
|
||
- default
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
name: Storm Mode
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
|
||
}
|
||
modules:
|
||
- default
|
||
entity: switch.front_porch_storm_mode
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
modules:
|
||
- default
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.front_doorbell_motion_mqtt
|
||
name: Motion
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
|
||
}
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.front_doorbell_ding
|
||
name: Ding
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--success-color)' : 'var(--background-color-2)'} !important;
|
||
}
|
||
modules:
|
||
- default
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
name: Lux
|
||
modules:
|
||
- default
|
||
entity: sensor.home_tempest_illuminance
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
name: Lights Timer
|
||
entity: timer.front_porch_motion_timer
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#basement-studio'
|
||
button_type: slider
|
||
entity: light.basement_studio_lights
|
||
name: Basement Studio
|
||
icon: mdi:twitch
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.basement_studio_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.basement_studio_scenes
|
||
show_name: false
|
||
name: Scenes
|
||
show_state: false
|
||
show_last_changed: false
|
||
tap_action:
|
||
action: toggle
|
||
icon: mdi:palette
|
||
styles: ''
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.basement_led_strip_1
|
||
show_attribute: true
|
||
show_state: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
icon: hue:lightstrip
|
||
name: LED Strip 1
|
||
styles: >-
|
||
${icon.setAttribute("icon", state === 'off' ?
|
||
'hue:lightstrip-off' : 'hue:lightstrip')}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.basement_stairwell
|
||
name: Stairwell
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
styles: >-
|
||
${icon.setAttribute("icon", state === 'off' ?
|
||
'hue:floor-shade-off' : 'hue:floor-shade')}
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.basement_short_lamp
|
||
show_attribute: true
|
||
show_state: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
name: Short Lamp
|
||
styles: >-
|
||
${icon.setAttribute("icon", state === 'off' ?
|
||
'hue:floor-shade-off' : 'hue:floor-shade')}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.basement_tall_lamp
|
||
name: Tall Lamp
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
styles: >-
|
||
${icon.setAttribute("icon", state === 'off' ?
|
||
'hue:floor-shade-off' : 'hue:floor-shade')}
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Media
|
||
icon: mdi:volume-high
|
||
- type: custom:bubble-card
|
||
card_type: media-player
|
||
entity: media_player.basement_tv
|
||
name: TV
|
||
show_state: true
|
||
show_last_changed: false
|
||
show_attribute: true
|
||
attribute: app_name
|
||
force_icon: false
|
||
hide:
|
||
play_pause_button: false
|
||
volume_button: false
|
||
power_button: false
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Environment
|
||
icon: mdi:thermometer
|
||
- type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.basement_studio_heat_allowed
|
||
state: 'on'
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: climate
|
||
sub_button:
|
||
- entity: climate.basement_studio_vtherm
|
||
select_attribute: hvac_modes
|
||
name: HVAC modes menu
|
||
state_background: true
|
||
- name: Presets menu
|
||
select_attribute: preset_modes
|
||
state_background: false
|
||
show_arrow: true
|
||
name: Thermostat
|
||
entity: climate.basement_studio_vtherm
|
||
state_color: false
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.basement_studio_heat_allowed
|
||
state: 'on'
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: fan.basement_fan
|
||
name: Fan
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
modules:
|
||
- badgy-condition-helper
|
||
badgy-condition-helper:
|
||
icon_effects:
|
||
main_icon:
|
||
effect: spin-360
|
||
condition:
|
||
- condition: state
|
||
entity_id: fan.basement_fan
|
||
state: 'on'
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: input_boolean.white_noise_basement
|
||
name: White Noise
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.studio_quiet
|
||
name: Studio Quiet
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
button_type: switch
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: input_boolean.gaming_mode
|
||
name: Gaming Mode
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.do_not_enter_basement_studio
|
||
name: Do Not Enter
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
button_type: switch
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
name: Recliner Mode
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
button_type: switch
|
||
modules:
|
||
- default
|
||
entity: input_boolean.recliner_mode
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.basement_studio_temperature
|
||
- hot_entity: binary_sensor.basement_studio_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.basement_studio_illuminance
|
||
name: Lux
|
||
show_state: true
|
||
tap_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.basement_studio_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.basement_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Door Timer
|
||
- entity: timer.basement_studio_door_timer
|
||
- type: grid
|
||
cards:
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#living-room'
|
||
button_type: slider
|
||
entity: light.living_room_lights
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
icon: hue:room-living
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.living_room_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
name: Living Room
|
||
sub_button:
|
||
- entity: select.basement_led_strip_1_theme
|
||
name: LED Strip Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: hue:lightstrip
|
||
- entity: input_select.living_room_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.living_room_overhead
|
||
name: Overhead
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.living_room_led_strip
|
||
name: LED Strip
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
icon: hue:lightstrip
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: light.christmas_tree
|
||
name: Tree
|
||
show_state: true
|
||
show_attribute: false
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
icon: mdi:pine-tree
|
||
button_action:
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: light.christmas_tree
|
||
state_not: unavailable
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: light.christmas_lights_front_window
|
||
name: Window
|
||
show_state: true
|
||
show_attribute: false
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
icon: mdi:string-lights
|
||
button_action:
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: light.christmas_lights_front_window
|
||
state_not: unavailable
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: light.christmas_tree
|
||
state_not: unavailable
|
||
- condition: state
|
||
entity: light.christmas_lights_front_window
|
||
state_not: unavailable
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Media
|
||
icon: mdi:volume-high
|
||
- type: custom:bubble-card
|
||
card_type: media-player
|
||
entity: media_player.living_room_tv
|
||
name: TV
|
||
show_state: true
|
||
show_last_changed: false
|
||
show_attribute: true
|
||
attribute: app_id
|
||
force_icon: false
|
||
hide:
|
||
play_pause_button: false
|
||
volume_button: false
|
||
power_button: false
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
name: Front Temp
|
||
entity: sensor.living_room_front_temperature
|
||
hot_entity: binary_sensor.living_room_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.living_room_front_illuminance
|
||
name: Front Lux
|
||
show_attribute: false
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
name: Back Temp
|
||
entity: sensor.living_room_back_temperature
|
||
hot_entity: binary_sensor.living_room_back_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.living_room_back_illuminance
|
||
name: Back Lux
|
||
show_attribute: false
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
name: Front Motion
|
||
entity: binary_sensor.living_room_front_motion
|
||
color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
name: Back Motion
|
||
entity: binary_sensor.living_room_back_motion
|
||
color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
name: Occupied
|
||
entity: binary_sensor.living_room_occupied
|
||
color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
name: Lights Timer
|
||
entity: timer.living_room_motion_timer
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Security
|
||
icon: mdi:security
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Door
|
||
entity: binary_sensor.front_door
|
||
color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Front 1
|
||
entity: binary_sensor.front_window_1
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Front 2
|
||
entity: binary_sensor.front_window_2
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Front 3
|
||
entity: binary_sensor.front_window_3
|
||
color: error-color
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Side 1
|
||
entity: binary_sensor.side_window_1
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Side 2
|
||
entity: binary_sensor.side_window_2
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Side 3
|
||
entity: binary_sensor.side_window_3
|
||
color: error-color
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Side 4
|
||
entity: binary_sensor.side_window_4
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Back 1
|
||
entity: binary_sensor.back_window_1
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Back 2
|
||
entity: binary_sensor.back_window_2
|
||
color: error-color
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#downstairs-bathroom'
|
||
button_type: slider
|
||
entity: light.downstairs_bathroom_lights
|
||
name: Downstairs Bathroom
|
||
icon: mdi:toilet
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.downstairs_bathroom_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.downstairs_bathroom_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.downstairs_bathroom_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Laundry
|
||
icon: mdi:tshirt-crew
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: timer.washer_timer
|
||
button_type: state
|
||
name: Washer
|
||
show_attribute: false
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: timer.dryer_timer
|
||
button_type: state
|
||
name: Dryer
|
||
show_attribute: false
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.downstairs_bathroom_temperature
|
||
- hot_entity: binary_sensor.downstairs_bathroom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.downstairs_bathroom_illuminance
|
||
name: Lux
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.downstairs_bathroom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.downstairs_bathroom_occupied
|
||
- color: accent-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Security
|
||
icon: mdi:security
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Back
|
||
entity: binary_sensor.downstairs_bathroom_window_1
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Side
|
||
entity: binary_sensor.downstairs_bathroom_window_2
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.downstairs_bathroom_lights_timer
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#tina-desk'
|
||
button_type: slider
|
||
entity: light.tina_desk_lights
|
||
name: Tina Desk
|
||
icon: mdi:desk
|
||
show_last_changed: false
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.tina_desk_scenes
|
||
data:
|
||
option: Reset
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.tina_desk_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.tina_lamp_top
|
||
name: Lamp Top
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.tina_lamp_side
|
||
name: Lamp Side
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#kitchen'
|
||
button_type: name
|
||
name: Kitchen (No Lights)
|
||
icon: hue:room-kitchen
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Security
|
||
icon: mdi:security
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Big Window
|
||
entity: binary_sensor.kitchen_big_window
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Sink Window
|
||
entity: binary_sensor.kitchen_sink_window
|
||
color: error-color
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#mud-room'
|
||
button_type: slider
|
||
entity: light.mud_room_overhead
|
||
name: Mud Room
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.mud_room_scenes
|
||
data:
|
||
option: Adaptive
|
||
sub_button:
|
||
- entity: input_select.mud_room_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.mud_room_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.mud_room_temperature
|
||
- hot_entity: binary_sensor.mud_room_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.mud_room_illuminance
|
||
name: Lux
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.mud_room_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.mud_room_occupied
|
||
- color: accent-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Security
|
||
icon: mdi:security
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Back Door
|
||
entity: binary_sensor.back_door
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Window
|
||
entity: binary_sensor.mud_room_window
|
||
color: error-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.mud_room_motion_timer
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#stairwell'
|
||
button_type: slider
|
||
entity: light.stairwell_led_strip
|
||
name: Stairwell
|
||
icon: mdi:stairs
|
||
show_last_changed: false
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
service: script.stairwell_led_strip
|
||
service_data:
|
||
brightness: reset
|
||
target: {}
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: switch.stairwell_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.stairwell_bottom_temperature
|
||
- hot_entity: binary_sensor.stairwell_bottom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.stairwell_bottom_illuminance
|
||
name: Lux
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.stairwell_bottom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.stairwell_occupied
|
||
- color: accent-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Security
|
||
icon: mdi:security
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
name: Window
|
||
entity: binary_sensor.stairway_window_lower
|
||
color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.stairwell_motion_timer
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.upstairs_hallway_motion_timer
|
||
- type: grid
|
||
cards:
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#upstairs-hallway'
|
||
button_type: slider
|
||
entity: light.hallway_overhead
|
||
name: Upstairs Hallway
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.upstairs_hallway_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.upstairs_hallway_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.stairwell_top_temperature
|
||
- hot_entity: binary_sensor.stairwell_top_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.stairwell_top_illuminance
|
||
name: Lux
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.stairwell_top_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.upstairs_hallway_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.upstairs_hallway_motion_timer
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.stairwell_motion_timer
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#upstairs-bathroom'
|
||
button_type: slider
|
||
entity: light.upstairs_bathroom_lights
|
||
name: Upstairs Bathroom
|
||
icon: mdi:toilet
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.upstairs_bathroom_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.upstairs_bathroom_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.upstairs_bathroom_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.shower_mode
|
||
name: Shower Mode
|
||
show_last_changed: false
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.upstairs_bathroom_temperature
|
||
- hot_entity: binary_sensor.upstairs_bathroom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.upstairs_bathroom_illuminance
|
||
name: Lux
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.upstairs_bathroom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.upstairs_bathroom_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.upstairs_bathroom_motion_timer
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Shower Mode Cooldown
|
||
- entity: timer.shower_mode_cooldown
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#master-bedroom'
|
||
button_type: slider
|
||
entity: light.master_bedroom_lights
|
||
name: Master Bedroom
|
||
icon: mdi:bed
|
||
show_last_changed: false
|
||
show_attribute: true
|
||
show_state: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.master_bedroom_scenes
|
||
data:
|
||
option: Adaptive
|
||
sub_button:
|
||
- entity: input_select.master_bedroom_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.master_bedroom_motion_lighting
|
||
name: Motion Lighting
|
||
icon: mdi:motion-sensor
|
||
tap_action:
|
||
action: toggle
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.master_bedroom_front
|
||
name: Front
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.master_bedroom_side
|
||
name: Side
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.master_bedroom_closet
|
||
name: Closet
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
icon: hue:bulb-sultan
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.master_bedroom_sleeping
|
||
name: Sleeping
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Environment
|
||
icon: mdi:thermometer
|
||
- type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.master_bedroom_aircon_installed
|
||
state: 'on'
|
||
card:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: climate
|
||
sub_button:
|
||
- select_attribute: hvac_modes
|
||
name: HVAC modes menu
|
||
state_background: true
|
||
- name: Presets menu
|
||
select_attribute: preset_modes
|
||
state_background: false
|
||
show_arrow: true
|
||
name: Thermostat
|
||
entity: climate.master_bedroom_aircon
|
||
state_color: false
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.master_bedroom_aircon_compressor
|
||
name: Compressor
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
|
||
}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.master_bedroom_aircon_filter_alert
|
||
name: Filter
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: fan.master_bedroom_fan
|
||
name: Fan
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
modules:
|
||
- badgy-condition-helper
|
||
badgy-condition-helper:
|
||
icon_effects:
|
||
main_icon:
|
||
effect: spin-360
|
||
condition:
|
||
- condition: state
|
||
entity_id: fan.master_bedroom_fan
|
||
state: 'on'
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.master_bedroom_temperature
|
||
- hot_entity: binary_sensor.master_bedroom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.master_bedroom_illuminance
|
||
name: Lux
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.master_bedroom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.master_bedroom_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.master_bedroom_motion_timer
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Shower Mode Cooldown
|
||
- entity: timer.shower_mode_cooldown
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#kallen-bedroom'
|
||
button_type: slider
|
||
entity: light.kallen_bedroom_lights
|
||
name: Kallen Bedroom
|
||
icon: mdi:bunk-bed
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.kallen_bedroom_scenes
|
||
data:
|
||
option: Adaptive
|
||
sub_button:
|
||
- entity: input_select.kallen_bedroom_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.kallen_bedroom_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.kallen_bedroom_overhead
|
||
name: Overhead
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: slider
|
||
entity: light.kallen_bedroom_wall
|
||
name: Wall
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.kallen_sleeping
|
||
name: Sleeping
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Environment
|
||
icon: mdi:thermometer
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: fan.kallen_bedroom_fan
|
||
name: Fan
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
modules:
|
||
- badgy-condition-helper
|
||
badgy-condition-helper:
|
||
icon_effects:
|
||
main_icon:
|
||
effect: spin-360
|
||
condition:
|
||
- condition: state
|
||
entity_id: fan.kallen_bedroom_fan
|
||
state: 'on'
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: switch
|
||
entity: input_boolean.white_noise_kallen_bedroom
|
||
name: White Noise
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.kallen_bedroom_temperature
|
||
- hot_entity: binary_sensor.kallen_bedroom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.kallen_bedroom_illuminance
|
||
name: Lux
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.kallen_bedroom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.kallen_bedroom_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.kallen_bedroom_motion_timer
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#emma-bedroom'
|
||
button_type: slider
|
||
entity: light.emma_bedroom_light
|
||
name: Emma Bedroom
|
||
icon: hue:room-nursery
|
||
show_state: true
|
||
show_attribute: true
|
||
attribute: brightness
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: call-service
|
||
service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.emma_bedroom_scenes
|
||
data:
|
||
option: Adaptive
|
||
hold_action:
|
||
action: more-info
|
||
sub_button:
|
||
- entity: input_select.emma_bedroom_scenes
|
||
name: Scenes
|
||
tap_action:
|
||
action: toggle
|
||
show_name: false
|
||
icon: mdi:palette
|
||
- entity: switch.emma_bedroom_motion_lighting
|
||
name: Motion Lighting
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Modes
|
||
icon: mdi:toggle-switch
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.emma_sleeping
|
||
name: Sleeping
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Environment
|
||
icon: mdi:thermometer
|
||
modules:
|
||
- default
|
||
- type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.emma_bedroom_aircon_installed
|
||
state: 'on'
|
||
card:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: climate
|
||
sub_button:
|
||
- select_attribute: hvac_modes
|
||
name: HVAC modes menu
|
||
state_background: true
|
||
- name: Presets menu
|
||
select_attribute: preset_modes
|
||
state_background: false
|
||
show_arrow: true
|
||
name: Thermostat
|
||
entity: climate.emma_bedroom_aircon
|
||
state_color: false
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.emma_bedroom_aircon_compressor
|
||
name: Compressor
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
|
||
}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.emma_bedroom_aircon_filter_alert
|
||
name: Filter
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
- type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.emma_bedroom_heater_installed
|
||
state: 'on'
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: climate
|
||
sub_button:
|
||
- select_attribute: hvac_modes
|
||
name: HVAC modes menu
|
||
state_background: true
|
||
- name: Presets menu
|
||
select_attribute: preset_modes
|
||
state_background: false
|
||
show_arrow: true
|
||
name: Thermostat
|
||
entity: climate.emma_bedroom_vtherm
|
||
state_color: false
|
||
modules:
|
||
- default
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
entity: input_boolean.white_noise_emma_bedroom
|
||
name: White Noise
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: more-info
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
modules:
|
||
- default
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
modules:
|
||
- default
|
||
entity: switch.emma_bedroom_climate_watchdog
|
||
name: Climate Watchdog
|
||
show_state: true
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Status
|
||
icon: mdi:list-box
|
||
modules:
|
||
- default
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
- name: Temp
|
||
- entity: sensor.emma_bedroom_temperature
|
||
- hot_entity: binary_sensor.emma_bedroom_hot
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.emma_bedroom_illuminance
|
||
name: Lux
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Motion
|
||
- entity: binary_sensor.emma_bedroom_motion
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
- name: Occupied
|
||
- entity: binary_sensor.emma_bedroom_occupied
|
||
- color: accent-color
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
- name: Lights Timer
|
||
- entity: timer.emma_bedroom_motion_timer
|
||
- type: grid
|
||
cards:
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#security'
|
||
button_type: state
|
||
entity: binary_sensor.security_faults
|
||
name: Security Overview
|
||
show_attribute: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
styles: |-
|
||
.is-unavailable {
|
||
opacity: 0.5 !important;
|
||
}
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
|
||
transition: background-color 1s !important;
|
||
}
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Doors
|
||
styles: >-
|
||
${icon.setAttribute("icon",
|
||
hass.states['binary_sensor.exterior_doors'].state === 'on' ?
|
||
'mdi.door_open' : 'mdi:door-closed')}
|
||
icon: mdi:door
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Front
|
||
- entity: binary_sensor.front_door
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Back
|
||
- entity: binary_sensor.back_door
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Living Room
|
||
icon: hue:room-living
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Front 1
|
||
- entity: binary_sensor.front_window_1
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Front 2
|
||
- entity: binary_sensor.front_window_2
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Front 3
|
||
- entity: binary_sensor.front_window_3
|
||
- color: error-color
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Side 1
|
||
- entity: binary_sensor.side_window_1
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Side 2
|
||
- entity: binary_sensor.side_window_2
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Side 3
|
||
- entity: binary_sensor.side_window_3
|
||
- color: error-color
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Side 4
|
||
- entity: binary_sensor.side_window_4
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Back 1
|
||
- entity: binary_sensor.back_window_1
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Back 2
|
||
- entity: binary_sensor.back_window_2
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Stairwell
|
||
icon: mdi:stairs
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Window
|
||
- entity: binary_sensor.stairway_window_lower
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Kitchen
|
||
icon: hue:room-kitchen
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Big
|
||
- entity: binary_sensor.kitchen_big_window
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Sink
|
||
- entity: binary_sensor.kitchen_sink_window
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Mud Room
|
||
icon: hue:room-other
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Window
|
||
- entity: binary_sensor.mud_room_window
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Downstairs Bathroom
|
||
icon: mdi:toilet
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Back
|
||
- entity: binary_sensor.downstairs_bathroom_window_1
|
||
- color: error-color
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Side
|
||
- entity: binary_sensor.downstairs_bathroom_window_2
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Upstairs Hallway
|
||
icon: hue:ceiling-round
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Window
|
||
- entity: binary_sensor.stairway_window_upper
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty_column
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Upstairs Bathroom
|
||
icon: mdi:toilet
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
- name: Window
|
||
- entity: binary_sensor.upstairs_bathroom_window
|
||
- color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: empty_column
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#messaging'
|
||
button_type: name
|
||
name: Messaging
|
||
icon: mdi:bullhorn
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Premade
|
||
- type: entities
|
||
entities:
|
||
- entity: script.dinner_is_ready
|
||
name: Dinner Is Ready
|
||
icon: mdi:bullhorn
|
||
- entity: script.we_are_leaving
|
||
name: We Are Leaving
|
||
icon: mdi:bullhorn
|
||
- entity: script.birthday_announcement
|
||
name: Birthday Announcement
|
||
icon: mdi:bullhorn
|
||
- entity: script.server_maintenance_annc
|
||
name: Server Maintenance
|
||
icon: mdi:bullhorn
|
||
- entity: script.server_maintenance_done_annc
|
||
name: Server Maintenance Done
|
||
icon: mdi:bullhorn
|
||
- entity: script.speech_engine
|
||
name: Speech Engine
|
||
icon: mdi:bullhorn
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Custom
|
||
- type: custom:tabbed-card
|
||
styles:
|
||
'--mdc-theme-primary': null
|
||
'--mdc-tab-text-label-color-default': null
|
||
'--mdc-typography-button-font-size': null
|
||
tabs:
|
||
- card:
|
||
type: entities
|
||
entities:
|
||
- entity: input_text.tts_message
|
||
name: Message
|
||
- entity: input_select.tts_devices
|
||
name: Devices
|
||
- entity: input_select.announcement_voice
|
||
- entity: button.send_alexa_message
|
||
name: Send Message
|
||
title: House Announcement System
|
||
attributes:
|
||
label: TTS
|
||
icon: mdi:volume-high
|
||
- card:
|
||
type: entities
|
||
title: Text Notification System
|
||
entities:
|
||
- entity: input_select.select_phones
|
||
- entity: input_select.select_tvs
|
||
- entity: input_text.text_notification_title
|
||
name: Title
|
||
- entity: input_text.text_notification
|
||
name: Body
|
||
- entity: input_select.text_notification_priority_level
|
||
name: Priority Level (Only works for phones)
|
||
- entity: button.send_text_notification
|
||
name: Send
|
||
show_header_toggle: false
|
||
state_color: false
|
||
attributes:
|
||
label: Text Notify
|
||
icon: mdi:text
|
||
- card:
|
||
type: entities
|
||
entities:
|
||
- entity: input_text.report_system
|
||
name: Description
|
||
- entity: input_select.report_type
|
||
name: Report Type
|
||
- entity: button.send_report
|
||
title: Report System
|
||
show_header_toggle: false
|
||
state_color: false
|
||
attributes:
|
||
label: Reports
|
||
icon: mdi:bug
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#batteries'
|
||
button_type: name
|
||
name: Batteries
|
||
icon: mdi:battery-charging
|
||
modules:
|
||
- default
|
||
- type: custom:battery-state-card
|
||
sort_by_level: asc
|
||
bulk_rename:
|
||
- from: Battery
|
||
to: ''
|
||
- from: Stratton Ave
|
||
to: ''
|
||
- from: Dimmer Switch
|
||
to: ''
|
||
- from: Home Tempest Cloud Sensors
|
||
to: Tempest Weather Station
|
||
collapse:
|
||
- name: 'Door Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:door
|
||
entities:
|
||
- sensor.front_door_battery
|
||
- sensor.back_door_battery
|
||
- sensor.basement_studio_door_battery
|
||
- sensor.emma_bedroom_door_battery
|
||
- name: 'Window Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:window-closed
|
||
entities:
|
||
- sensor.front_window_battery_1
|
||
- sensor.front_window_battery_2
|
||
- sensor.front_window_battery_3
|
||
- sensor.side_window_1_battery
|
||
- sensor.side_window_2_battery
|
||
- sensor.side_window_3_battery
|
||
- sensor.side_window_4_battery
|
||
- sensor.back_window_1_battery
|
||
- sensor.back_window_2_battery
|
||
- sensor.stairway_window_lower_battery
|
||
- sensor.stairway_window_upper_battery
|
||
- sensor.kitchen_big_window_battery
|
||
- sensor.kitchen_sink_window_battery
|
||
- sensor.mud_room_window_battery
|
||
- sensor.downstairs_bathroom_window_1_battery
|
||
- sensor.downstairs_bathroom_window_2_battery
|
||
- sensor.upstairs_bathroom_window_battery
|
||
- name: 'Glass Break Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:image-broken-variant
|
||
entities:
|
||
- sensor.living_room_glass_break_battery
|
||
- name: 'Motion Detectors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:motion-sensor
|
||
entities:
|
||
- sensor.living_room_front_battery
|
||
- sensor.upstairs_bathroom_battery
|
||
- sensor.downstairs_bathroom_battery
|
||
- sensor.emma_bedroom_battery
|
||
- sensor.stairwell_bottom_battery
|
||
- sensor.basement_studio_battery
|
||
- sensor.kallen_bedroom_battery
|
||
- sensor.mud_room_battery
|
||
- sensor.stairwell_top_battery
|
||
- sensor.living_room_back_battery
|
||
- sensor.master_bedroom_battery
|
||
- name: 'Dimmer Switches (min: {min}%, count: {count})'
|
||
secondary_info: Battery Levels {range}%
|
||
icon: mdi:toggle-switch
|
||
entities:
|
||
- sensor.kallen_bedroom_dimmer_switch_battery
|
||
- sensor.tina_desk_dimmer_switch_battery
|
||
- sensor.emma_bedroom_dimmer_switch_battery
|
||
- sensor.master_bedroom_dimmer_switch_battery
|
||
- sensor.living_room_dimmer_switch_battery
|
||
filter:
|
||
include:
|
||
- name: entity_id
|
||
value: '*_battery'
|
||
- name: entity_id
|
||
value: '*battery_mqtt'
|
||
exclude:
|
||
- name: entity_id
|
||
value: '*iphone*'
|
||
- name: entity_id
|
||
value: '*ipad*'
|
||
- name: entity_id
|
||
value: '*airpod*'
|
||
- name: entity_id
|
||
value: '*apple*'
|
||
- name: entity_id
|
||
value: '*chrome*'
|
||
- name: entity_id
|
||
value: sensor.front_doorbell_battery
|
||
tap_action: more-info
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#running'
|
||
button_type: name
|
||
name: Running
|
||
icon: mdi:database-clock
|
||
- type: custom:auto-entities
|
||
filter:
|
||
include:
|
||
- domain: automation
|
||
attributes:
|
||
current: '> 0'
|
||
- domain: script
|
||
attributes:
|
||
current: '> 0'
|
||
exclude: []
|
||
sort:
|
||
method: last_triggered
|
||
reverse: false
|
||
show_empty: true
|
||
card:
|
||
type: entities
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#global-scenes'
|
||
button_type: name
|
||
name: Global Scenes
|
||
icon: mdi:home-lightbulb-outline
|
||
- type: entities
|
||
entities:
|
||
- entity: script.give_me_darkness
|
||
secondary_info: After kid's bedtime
|
||
- entity: button.good_morning
|
||
secondary_info: Optional, when we wake up
|
||
- entity: button.goodnight
|
||
secondary_info: When Tony goes to bed
|
||
- entity: script.global_on
|
||
secondary_info: Turn all lights on
|
||
- entity: script.global_off
|
||
secondary_info: Turn all lights/fans off
|
||
- entity: script.max_brightness
|
||
secondary_info: Turn all lights on at 100%
|
||
- entity: script.going_upstairs
|
||
secondary_info: When coming to bed from basement
|
||
- entity: button.basement_on_manual
|
||
name: Basement On
|
||
secondary_info: Turns on lights/computer/TV
|
||
- entity: button.sunset_lights_trigger
|
||
name: Sunset Lights Manual Trigger
|
||
secondary_info: If flow gets interrupted
|
||
- entity: script.adaptive_on_first_floor
|
||
secondary_info: Reset lights to adaptive
|
||
- entity: script.adaptive_on_second_floor
|
||
secondary_info: Reset lights to adaptive
|
||
- entity: script.bright_on_first_floor
|
||
- entity: script.bright_on_second_floor
|
||
- entity: script.evening_on_first_floor
|
||
- entity: script.evening_on_second_floor
|
||
- entity: script.emma_rainbow_lights
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#gas-prices'
|
||
button_type: name
|
||
name: Gas Prices
|
||
icon: mdi:gas-station
|
||
- type: entities
|
||
entities:
|
||
- entity: sensor.local_minimum_gas_price
|
||
name: Minimum
|
||
- entity: sensor.local_average_gas_price
|
||
name: Average
|
||
- entity: sensor.local_maximum_gas_price
|
||
name: Maximum
|
||
- type: custom:auto-entities
|
||
card:
|
||
type: entities
|
||
filter:
|
||
include:
|
||
- integration: gasbuddy
|
||
entity_id: '*regular_gas'
|
||
exclude: []
|
||
sort:
|
||
method: state
|
||
numeric: true
|
||
reverse: false
|
||
ignore_case: false
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#homefeed'
|
||
button_type: name
|
||
name: Home Feed
|
||
icon: mdi:newspaper-variant
|
||
- type: markdown
|
||
content: >-
|
||
Meds taken only reflects the time the switch was activated. If
|
||
the date/time was edited, it will not change in this feed.
|
||
Working on this.
|
||
- type: custom:home-feed-card
|
||
card_id: mobile_feed
|
||
show_empty: false
|
||
id_filter: ^home_feed_.*
|
||
more_info_on_tap: true
|
||
state_color: true
|
||
scrollbars_enabled: false
|
||
entities:
|
||
- entity: person.tony_stork
|
||
name: Tony Stork
|
||
content_template: '{{display_name}} is {{state}}'
|
||
remove_repeats: false
|
||
state_map:
|
||
not_home: traveling
|
||
Wal-Mart: at Wal-Mart
|
||
School: at the middle school
|
||
Hospital: at the hospital
|
||
- entity: person.christina_stork
|
||
name: Christina Stork
|
||
content_template: '{{display_name}} is {{state}}'
|
||
remove_repeats: false
|
||
state_map:
|
||
not_home: traveling
|
||
Wal-Mart: at Wal-Mart
|
||
School: at the middle school
|
||
Hospital: at the hospital
|
||
Bob Evans: at work
|
||
BobEvans: at work
|
||
- entity: timer.kallen_timer
|
||
- entity: person.kallen_stork
|
||
- entity: person.emmalynn_stork
|
||
- entity: automation.family_has_arrived
|
||
content_template: Family Arrived
|
||
- entity: automation.family_has_left
|
||
content_template: Family Left
|
||
- entity: input_boolean.shower_mode
|
||
- entity: input_boolean.white_noise_emma_bedroom
|
||
name: White Noise - Emma
|
||
- entity: input_boolean.white_noise_kallen_bedroom
|
||
name: White Noise - Kallen
|
||
- entity: input_boolean.white_noise_basement
|
||
name: White Noise - Basement
|
||
- entity: input_boolean.emma_sleeping
|
||
- entity: input_boolean.kallen_sleeping
|
||
- entity: input_boolean.master_bedroom_sleeping
|
||
- entity: binary_sensor.lightning_warning
|
||
state_map:
|
||
'off': No lightning detected
|
||
'on': Lightning is in the area!
|
||
content_template: '{{state}}'
|
||
- entity: binary_sensor.raining
|
||
state_map:
|
||
'off': It is not currently raining
|
||
'on': It is currently raining
|
||
unavailable: I have no idea if it is raining
|
||
unknown: I have no idea if it is raining
|
||
content_template: '{{state}}'
|
||
- entity: input_boolean.recliner_mode
|
||
- entity: timer.washer_timer
|
||
state_map:
|
||
idle: not running
|
||
active: running
|
||
content_template: The washer is {{state}}
|
||
- entity: timer.dryer_timer
|
||
state_map:
|
||
idle: not running
|
||
active: running
|
||
content_template: The dryer is {{state}}
|
||
- entity: binary_sensor.internet
|
||
state_map:
|
||
'off': Disconnected
|
||
'on': Connected
|
||
- entity: input_boolean.rabbit_fed
|
||
name: Rabbit
|
||
content_template: '{{display_name}} is {{state}}'
|
||
state_map:
|
||
'off': hungry
|
||
'on': fed
|
||
- entity: input_boolean.rabbit_hutch_cleaned
|
||
name: Rabbit Hutch
|
||
content_template: '{{display_name}} is {{state}}'
|
||
state_map:
|
||
'off': dirty
|
||
'on': clean
|
||
- entity: input_boolean.tony_morning_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Tony has {{state}} his morning meds
|
||
- entity: input_boolean.tony_afternoon_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Tony has {{state}} his afternoon meds
|
||
- entity: input_boolean.tony_night_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Tony has {{state}} his night meds
|
||
- entity: input_boolean.tina_morning_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Tina has {{state}} her morning meds
|
||
- entity: input_boolean.tina_night_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Tina has {{state}} her night meds
|
||
- entity: input_boolean.kallen_morning_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Kallen has {{state}} his morning meds
|
||
- entity: input_boolean.kallen_night_meds_taken
|
||
exclude_states: 'off'
|
||
state_map:
|
||
'on': taken
|
||
'off': not taken
|
||
content_template: Kallen has {{state}} his night meds
|
||
visible:
|
||
- user: c3909d27048140729f002aaef0391775
|
||
- user: f387a983651a4321a7411ff8cf36f949
|
||
- user: 879b4c04e32841b3ad1d2763a11b4e70
|
||
- user: 5244463d054a454389c06b76e6229b53
|
||
- user: cc8352d070b64246820a8af4302a5f52
|
||
cards: []
|
||
max_columns: 4
|
||
badges:
|
||
- type: custom:mushroom-template-badge
|
||
content: Emma has left her room! (Tap to silence)
|
||
icon: mdi:alert
|
||
color: var(--error-color)
|
||
label: Toddler Alert
|
||
entity: button.emma_door_alert_cancel
|
||
tap_action:
|
||
action: toggle
|
||
visibility:
|
||
- condition: state
|
||
entity: timer.emma_door_alert
|
||
state: active
|
||
- type: custom:mushroom-template-badge
|
||
content: Alert Disabled
|
||
icon: mdi:alert
|
||
entity: switch.emma_door_alert
|
||
label: Emma Door Alert
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: state
|
||
entity: switch.emma_door_alert
|
||
state: 'off'
|
||
color: var(--warning-color)
|
||
- type: custom:mushroom-template-badge
|
||
content: Tornado Possible
|
||
color: var(--error-color)
|
||
label: Stay Alert
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
entity: binary_sensor.tornado_possible
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.tornado_possible
|
||
state: 'on'
|
||
icon: '{{ state_attr(''binary_sensor.tornado_possible'',''icon'') }}'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{{
|
||
states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour')
|
||
}} strikes in last hour!
|
||
icon: mdi:lightning-bolt
|
||
color: var(--warning-color)
|
||
entity: binary_sensor.lightning_warning
|
||
label: Lightning Warning
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.lightning_warning
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% if
|
||
states('sensor.home_tempest_cloud_sensors_precipitation_intensity')
|
||
not in ['unavailable','unknown','no_rain'] %}
|
||
{{ states('sensor.home_tempest_cloud_sensors_precipitation_intensity') | replace('_',' ') | title }}
|
||
{% else %}
|
||
It is currently raining!
|
||
{% endif %}
|
||
icon: mdi:weather-rainy
|
||
color: blue
|
||
entity: binary_sensor.raining
|
||
label: Rain Status
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.raining
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: 'Currently: {{ states(''sensor.doors_open'') }}'
|
||
icon: mdi:door-open
|
||
color: var(--error-color)
|
||
entity: sensor.doors_open
|
||
label: Doors Open
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.exterior_doors
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: 'Currently: {{ states(''sensor.windows_open'') }}'
|
||
icon: mdi:window-open
|
||
color: var(--error-color)
|
||
entity: binary_sensor.windows
|
||
label: Windows Open
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.windows
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: Check light switches
|
||
icon: mdi:light-switch
|
||
color: var(--error-color)
|
||
label: Light Issue
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.light_switch_issue
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
entity: binary_sensor.emma_bedroom_door
|
||
icon: |-
|
||
{% if is_state(entity,'on') %}
|
||
mdi:door-open
|
||
{% else %}
|
||
mdi:door-closed
|
||
{% endif %}
|
||
color: |-
|
||
{% if is_state(entity,'on') %}
|
||
var(--error-color)
|
||
{% else %}
|
||
var(--success-color)
|
||
{% endif %}
|
||
label: Emma Door Status
|
||
content: |-
|
||
{% if is_state(entity,'on') %}
|
||
Emma's door has been left open!
|
||
{% else %}
|
||
Emma's door is closed
|
||
{% endif %}
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.emma_bedroom_door
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ states(entity) | title }}'
|
||
icon: fas:shower
|
||
entity: input_boolean.shower_mode
|
||
label: Shower Mode
|
||
color: var(--warning-color)
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.shower_mode
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: |-
|
||
{% if is_state('input_boolean.school_cancelled','on') %}
|
||
Cancelled
|
||
{% elif is_state('input_boolean.two_hour_delay','on') %}
|
||
Two Hour Delay
|
||
{% else %}
|
||
On Time
|
||
{% endif %}
|
||
icon: |-
|
||
{% if is_state('input_boolean.school_cancelled','on') %}
|
||
m3rf:cancel
|
||
{% elif is_state('input_boolean.two_hour_delay','on') %}
|
||
m3rf:clock-arrow-up
|
||
{% else %}
|
||
m3rf:check-circle
|
||
{% endif %}
|
||
color: |-
|
||
{% if is_state('input_boolean.school_cancelled','on') %}
|
||
var(--error-color)
|
||
{% elif is_state('input_boolean.two_hour_delay','on') %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--success-color)
|
||
{% endif %}
|
||
label: School Status
|
||
tap_action:
|
||
action: url
|
||
url_path: https://1057thebull.iheart.com/content/school-delays/
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.kallen_school_today
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.two_hour_delay
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.school_cancelled
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ states(entity) }}'
|
||
icon: |-
|
||
{% if is_state(entity,'Marginal Risk') %}
|
||
mdi:numeric-1-circle
|
||
{% elif is_state(entity,'Slight Risk') %}
|
||
mdi:numeric-2-circle
|
||
{% elif is_state(entity,'Enhanced Risk') %}
|
||
mdi:numeric-3-circle
|
||
{% elif is_state(entity,'Moderate Risk') %}
|
||
mdi:numeric-4-circle
|
||
{% elif is_state(entity,'High Risk') %}
|
||
mdi:numeric-5-circle
|
||
{% elif is_state(entity,'General Thunderstorms Risk') %}
|
||
mdi:information
|
||
{% else %}
|
||
mdi:close
|
||
{% endif %}
|
||
color: '{{ state_attr(entity,''fill'') }}'
|
||
entity: sensor.spc_outlook_day_1
|
||
label: SPC Outlook Day 1
|
||
tap_action:
|
||
action: more-info
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: sensor.spc_outlook_day_1
|
||
state_not: unavailable
|
||
- condition: state
|
||
entity: sensor.spc_outlook_day_1
|
||
state_not: unknown
|
||
- condition: state
|
||
entity: sensor.spc_outlook_day_1
|
||
state_not: No Risk
|
||
- condition: state
|
||
entity: sensor.spc_outlook_day_1
|
||
state_not: General Thunderstorms Risk
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ states(entity) }}'
|
||
icon: mdi:weather-windy
|
||
color: '{{ state_attr(entity,''wind_fill'') }}'
|
||
entity: sensor.spc_wind_risk_day_1
|
||
label: SPC Wind Risk
|
||
tap_action:
|
||
action: more-info
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: sensor.spc_wind_risk_day_1
|
||
state_not: unavailable
|
||
- condition: state
|
||
entity: sensor.spc_wind_risk_day_1
|
||
state_not: unknown
|
||
- condition: state
|
||
entity: sensor.spc_wind_risk_day_1
|
||
state_not: No Risk
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ states(entity) }}'
|
||
icon: mdi:weather-tornado
|
||
color: '{{ state_attr(entity,''torn_fill'') }}'
|
||
entity: sensor.spc_tornado_risk_day_1
|
||
label: SPC Tornado Risk
|
||
tap_action:
|
||
action: more-info
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: sensor.spc_tornado_risk_day_1
|
||
state_not: unavailable
|
||
- condition: state
|
||
entity: sensor.spc_tornado_risk_day_1
|
||
state_not: unknown
|
||
- condition: state
|
||
entity: sensor.spc_tornado_risk_day_1
|
||
state_not: No Risk
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ states(entity) }}'
|
||
icon: mdi:weather-hail
|
||
color: '{{ state_attr(entity,''hail_fill'') }}'
|
||
entity: sensor.spc_hail_risk_day_1
|
||
label: SPC Hail Risk
|
||
tap_action:
|
||
action: more-info
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: sensor.spc_hail_risk_day_1
|
||
state_not: unavailable
|
||
- condition: state
|
||
entity: sensor.spc_hail_risk_day_1
|
||
state_not: unknown
|
||
- condition: state
|
||
entity: sensor.spc_hail_risk_day_1
|
||
state_not: No Risk
|
||
- type: custom:mushroom-template-badge
|
||
content: |-
|
||
{% if is_state(entity,'on') %}
|
||
Do Not Enter
|
||
{% elif is_state('input_boolean.studio_quiet','on') %}
|
||
Studio Quiet
|
||
{% else %}
|
||
Safe
|
||
{% endif %}
|
||
entity: input_boolean.do_not_enter_basement_studio
|
||
label: Basement Status
|
||
color: |-
|
||
{% if is_state(entity,'on') %}
|
||
var(--error-color)
|
||
{% elif is_state('input_boolean.studio_quiet','on') %}
|
||
var(--warning-color)
|
||
{% else %}
|
||
var(--success-color)
|
||
{% endif %}
|
||
icon: |-
|
||
{% if is_state(entity,'on') %}
|
||
mdi:close-circle
|
||
{% elif is_state('input_boolean.studio_quiet','on') %}
|
||
mdi:alert
|
||
{% else %}
|
||
mdi:check-circle
|
||
{% endif %}
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %}
|
||
|
||
{% if is_state('input_boolean.tony_morning_meds_reminder','on') %}
|
||
|
||
Waiting: {{ states('counter.tony_morning_meds_reminder_count') | int
|
||
}} reminders
|
||
|
||
{% else %}
|
||
|
||
{{ input_datetime_read('input_datetime.tony_morning_meds_taken') }}
|
||
|
||
{% endif %}
|
||
icon: mdi:medication
|
||
entity: input_datetime.tony_morning_meds_taken
|
||
label: Tony Morning Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.tony_morning_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tony_morning_meds_reminder
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tony_awake
|
||
state: 'on'
|
||
color: >-
|
||
{% set counter = states('counter.tony_morning_meds_reminder_count') |
|
||
int %}
|
||
|
||
{% if is_state('input_boolean.tony_morning_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.tony_afternoon_meds_reminder','on') %}
|
||
Waiting: {{ states('counter.tony_afternoon_meds_reminder_count') | int
|
||
}} reminders {% else %} {{
|
||
input_datetime_read('input_datetime.tony_afternoon_meds_taken') }} {%
|
||
endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.tony_afternoon_meds_reminder_count')
|
||
| int %} {% if
|
||
is_state('input_boolean.tony_afternoon_meds_taken','on') %}
|
||
var(--success-color) {% elif counter >= 3 %} var(--error-color) {%
|
||
elif counter >= 1 %} var(--warning-color) {% else %} '' {% endif %}
|
||
entity: input_datetime.tony_afternoon_meds_taken
|
||
label: Tony Afternoon Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.tony_afternoon_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tony_afternoon_meds_reminder
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tony_awake
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.tony_night_meds_reminder','on') %} Waiting: {{
|
||
states('counter.tony_night_meds_reminder_count') | int }} reminders {%
|
||
else %} {{ input_datetime_read('input_datetime.tony_night_meds_taken')
|
||
}} {% endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.tony_night_meds_reminder_count') |
|
||
int %}
|
||
|
||
{% if is_state('input_boolean.tony_night_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
entity: input_datetime.tony_night_meds_taken
|
||
label: Tony Night Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.tony_night_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tony_night_meds_reminder
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.tina_morning_meds_reminder','on') %} Waiting:
|
||
{{ states('counter.tina_morning_meds_reminder_count') | int }}
|
||
reminders {% else %} {{
|
||
input_datetime_read('input_datetime.tina_morning_meds_taken') }} {%
|
||
endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.tina_morning_meds_reminder_count') |
|
||
int %}
|
||
|
||
{% if is_state('input_boolean.tina_morning_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
entity: input_datetime.tina_morning_meds_taken
|
||
label: Tina Morning Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.tina_morning_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tina_morning_meds_reminder
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.tina_night_meds_reminder','on') %} Waiting: {{
|
||
states('counter.tina_night_meds_reminder_count') | int }} reminders {%
|
||
else %} {{ input_datetime_read('input_datetime.tina_night_meds_taken')
|
||
}} {% endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.tina_night_meds_reminder_count') |
|
||
int %}
|
||
|
||
{% if is_state('input_boolean.tina_night_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
entity: input_datetime.tina_night_meds_taken
|
||
label: Tina Night Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.tina_night_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.tina_night_meds_reminder
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.kallen_morning_meds_reminder','on') %}
|
||
Waiting: {{ states('counter.kallen_morning_meds_reminder_count') | int
|
||
}} reminders {% else %} {{
|
||
input_datetime_read('input_datetime.kallen_morning_meds_taken') }} {%
|
||
endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.kallen_morning_meds_reminder_count')
|
||
| int %}
|
||
|
||
{% if is_state('input_boolean.kallen_morning_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
entity: input_datetime.kallen_morning_meds_taken
|
||
label: Kallen Morning Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.kallen_morning_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.kallen_morning_meds_reminder
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.kallen_sleeping
|
||
state: 'off'
|
||
- type: custom:mushroom-template-badge
|
||
content: >-
|
||
{% from 'time.jinja' import input_datetime_read %} {% if
|
||
is_state('input_boolean.kallen_night_meds_reminder','on') %} Waiting:
|
||
{{ states('counter.kallen_night_meds_reminder_count') | int }}
|
||
reminders {% else %} {{
|
||
input_datetime_read('input_datetime.kallen_night_meds_taken') }} {%
|
||
endif %}
|
||
icon: mdi:medication
|
||
color: >-
|
||
{% set counter = states('counter.kallen_night_meds_reminder_count') |
|
||
int %}
|
||
|
||
{% if is_state('input_boolean.kallen_night_meds_taken','on') %}
|
||
|
||
var(--success-color)
|
||
|
||
{% elif counter >= 3 %}
|
||
|
||
var(--error-color)
|
||
|
||
{% elif counter >= 1 %}
|
||
|
||
var(--warning-color)
|
||
|
||
{% else %}
|
||
|
||
''
|
||
|
||
{% endif %}
|
||
entity: input_datetime.kallen_night_meds_taken
|
||
label: Kallen Night Meds
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.kallen_night_meds_taken
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.kallen_night_meds_reminder
|
||
state: 'on'
|
||
- condition: state
|
||
entity: input_boolean.kallen_sleeping
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
content: |-
|
||
{% from 'time.jinja' import input_datetime_read %}
|
||
{{ input_datetime_read('input_datetime.emma_awake_at') }}
|
||
icon: mdi:weather-sunset-up
|
||
color: ''
|
||
entity: input_datetime.emma_awake_at
|
||
label: Emma Awake At
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
- condition: state
|
||
entity: input_boolean.emma_sleeping
|
||
state: 'off'
|
||
- type: custom:mushroom-template-badge
|
||
content: |-
|
||
{% from 'time.jinja' import input_datetime_read %}
|
||
{{ input_datetime_read('input_datetime.emma_asleep_at') }}
|
||
icon: mdi:sleep
|
||
color: ''
|
||
entity: input_datetime.emma_asleep_at
|
||
label: Emma Asleep At
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
- condition: state
|
||
entity: input_boolean.emma_sleeping
|
||
state: 'on'
|
||
- type: custom:mushroom-template-badge
|
||
icon: mdi:wrench-clock
|
||
entity: input_boolean.server_maintenance
|
||
color: var(--warning-color)
|
||
label: Server Maintenance
|
||
content: Interruptions Possible
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.server_maintenance
|
||
state: 'on'
|
||
header:
|
||
card:
|
||
type: markdown
|
||
content: >-
|
||
{% from 'weather.jinja' import weatherReport %} {% from
|
||
'formatting.jinja' import cleanup %} {% import 'status.jinja' as
|
||
status %}
|
||
|
||
# Hello {{ user }}
|
||
|
||
{{ weatherReport('full','dashboard') }}
|
||
|
||
|
||
---
|
||
|
||
|
||
--- Climate ---
|
||
|
||
Average: {{ states('sensor.average_room_temperature',with_unit=true)
|
||
}}
|
||
|
||
Coldest: {{ state_attr('sensor.coldest_room_temperature','room') }},
|
||
{{ states('sensor.coldest_room_temperature',with_unit=true) }}
|
||
|
||
Warmest: {{ state_attr('sensor.warmest_room_temperature','room') }},
|
||
{{ states('sensor.warmest_room_temperature',with_unit=true) }}
|
||
layout: responsive
|
||
badges_position: bottom
|
||
- title: Old
|
||
path: old
|
||
icon: ''
|
||
visible:
|
||
- user: f387a983651a4321a7411ff8cf36f949
|
||
- user: 879b4c04e32841b3ad1d2763a11b4e70
|
||
- user: c3909d27048140729f002aaef0391775
|
||
cards:
|
||
- type: custom:meteoalarm-card
|
||
entities:
|
||
entity: sensor.weatheralerts
|
||
integration: weatheralerts
|
||
hide_when_no_warning: true
|
||
- type: custom:mushroom-template-card
|
||
primary: Hello, {{user}}
|
||
secondary: >-
|
||
{% from 'weather.jinja' import weatherReport %}
|
||
|
||
{{ weatherReport('full','text') }}
|
||
|
||
--- Indoor Temps ---
|
||
|
||
Average: {{ states('sensor.average_room_temperature',with_unit=true)
|
||
}}
|
||
|
||
Coldest: {{ state_attr('sensor.coldest_room_temperature','room') }},
|
||
{{ states('sensor.coldest_room_temperature',with_unit=true) }}
|
||
|
||
Warmest: {{ state_attr('sensor.warmest_room_temperature','room') }},
|
||
{{ states('sensor.warmest_room_temperature',with_unit=true) }}
|
||
|
||
|
||
--- Lights ---
|
||
|
||
Average: {{ states('sensor.average_room_illuminance',with_unit=true)
|
||
}}
|
||
|
||
Dimmest: {{ state_attr('sensor.dimmest_room','room') }}, {{
|
||
states('sensor.dimmest_room',with_unit=true) }}
|
||
|
||
Brightest: {{ state_attr('sensor.brightest_room','room') }}, {{
|
||
states('sensor.brightest_room',with_unit=true) }}
|
||
|
||
|
||
For advanced controls, click this card to go to the main dashboard.
|
||
icon: mdi:home
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /lovelace
|
||
multiline_secondary: true
|
||
icon_color: blue
|
||
fill_container: false
|
||
- square: false
|
||
type: grid
|
||
cards:
|
||
- type: custom:button-card
|
||
name: Global Scenes
|
||
icon: mdi:home-lightbulb-outline
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: entities
|
||
entities:
|
||
- script.give_me_darkness
|
||
- button.good_morning
|
||
- button.goodnight
|
||
- script.max_brightness
|
||
- button.sunset_lights_trigger
|
||
- entity: button.basement_on_manual
|
||
name: Basement On
|
||
- script.adaptive_on_first_floor
|
||
- script.adaptive_on_second_floor
|
||
- script.bright_on_first_floor
|
||
- script.bright_on_second_floor
|
||
- script.evening_on_first_floor
|
||
- script.evening_on_second_floor
|
||
- switch.animated_scene_halloween
|
||
- script.emma_rainbow_lights
|
||
- type: custom:button-card
|
||
name: Messages
|
||
icon: mdi:bullhorn
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:stack-in-card
|
||
cards:
|
||
- type: entities
|
||
title: Premade
|
||
entities:
|
||
- entity: script.dinner_is_ready
|
||
name: Dinner Is Ready
|
||
icon: mdi:bullhorn
|
||
- entity: script.we_are_leaving
|
||
name: We Are Leaving
|
||
icon: mdi:bullhorn
|
||
- entity: script.birthday_announcement
|
||
name: Birthday Announcement
|
||
icon: mdi:bullhorn
|
||
- entity: script.server_maintenance_annc
|
||
name: Server Maintenance
|
||
icon: mdi:bullhorn
|
||
- entity: script.server_maintenance_done_annc
|
||
name: Server Maintenance Done
|
||
icon: mdi:bullhorn
|
||
- entity: script.speech_engine
|
||
name: Speech Engine
|
||
icon: mdi:bullhorn
|
||
- type: custom:tabbed-card
|
||
styles:
|
||
'--mdc-theme-primary': null
|
||
'--mdc-tab-text-label-color-default': null
|
||
'--mdc-typography-button-font-size': null
|
||
tabs:
|
||
- card:
|
||
type: entities
|
||
entities:
|
||
- entity: input_text.tts_message
|
||
name: Message
|
||
- entity: input_select.tts_devices
|
||
name: Devices
|
||
- entity: input_select.announcement_voice
|
||
- entity: button.send_alexa_message
|
||
name: Send Message
|
||
attributes:
|
||
label: TTS
|
||
icon: mdi:volume-high
|
||
- card:
|
||
type: entities
|
||
entities:
|
||
- entity: input_select.select_phones
|
||
- entity: input_select.select_tvs
|
||
- entity: input_text.text_notification_title
|
||
name: Title
|
||
- entity: input_text.text_notification
|
||
name: Body
|
||
- entity: >-
|
||
input_select.text_notification_priority_level
|
||
name: Priority Level (Only works for phones)
|
||
- entity: button.send_text_notification
|
||
name: Send
|
||
show_header_toggle: false
|
||
state_color: false
|
||
attributes:
|
||
label: Text Notify
|
||
icon: mdi:text
|
||
- card:
|
||
type: entities
|
||
entities:
|
||
- entity: input_text.report_system
|
||
name: Description
|
||
- entity: input_select.report_type
|
||
name: Report Type
|
||
- entity: button.send_report
|
||
show_header_toggle: false
|
||
state_color: false
|
||
attributes:
|
||
label: Reports
|
||
icon: mdi:bug
|
||
- type: custom:button-card
|
||
name: Weather
|
||
icon: mdi:weather-partly-cloudy
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:clock-weather-card
|
||
entity: weather.iron_nerd_weather_station
|
||
sun_entity: sun.sun
|
||
weather_icon_type: fill
|
||
animated_icon: true
|
||
forecast_rows: 7
|
||
time_format: 12
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /lovelace/weather
|
||
- type: custom:button-card
|
||
name: Batteries
|
||
icon: mdi:battery-charging
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:battery-state-card
|
||
sort_by_level: asc
|
||
bulk_rename:
|
||
- from: Battery
|
||
to: ''
|
||
- from: Stratton Ave
|
||
to: ''
|
||
- from: Dimmer Switch
|
||
to: ''
|
||
collapse:
|
||
- name: 'Door Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:door
|
||
entities:
|
||
- sensor.front_door_battery
|
||
- sensor.back_door_battery
|
||
- sensor.basement_studio_door_battery
|
||
- sensor.downstairs_bathroom_door_battery
|
||
- name: 'Window Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:window-closed
|
||
entities:
|
||
- sensor.front_window_battery_1
|
||
- sensor.front_window_battery_2
|
||
- sensor.front_window_battery_3
|
||
- sensor.side_window_1_battery
|
||
- sensor.side_window_2_battery
|
||
- sensor.side_window_3_battery
|
||
- sensor.side_window_4_battery
|
||
- sensor.back_window_1_battery
|
||
- sensor.back_window_2_battery
|
||
- sensor.stairway_window_lower_battery
|
||
- sensor.stairway_window_upper_battery
|
||
- sensor.kitchen_big_window_battery
|
||
- sensor.kitchen_sink_window_battery
|
||
- sensor.mud_room_window_battery
|
||
- sensor.downstairs_bathroom_window_1_battery
|
||
- sensor.downstairs_bathroom_window_2_battery
|
||
- sensor.upstairs_bathroom_window_battery
|
||
- name: 'Glass Break Sensors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:image-broken-variant
|
||
entities:
|
||
- sensor.living_room_glass_break_battery
|
||
- name: 'Motion Detectors (min: {min}%, count: {count})'
|
||
secondary_info: Battery levels {range}%
|
||
icon: mdi:motion-sensor
|
||
entities:
|
||
- sensor.living_room_front_battery
|
||
- sensor.upstairs_bathroom_battery
|
||
- sensor.downstairs_bathroom_battery
|
||
- sensor.emma_bedroom_battery
|
||
- sensor.stairwell_bottom_battery
|
||
- sensor.basement_studio_battery
|
||
- sensor.kallen_bedroom_battery
|
||
- sensor.mud_room_battery
|
||
- sensor.stairwell_top_battery
|
||
- sensor.living_room_back_battery
|
||
- sensor.master_bedroom_battery
|
||
- name: 'Dimmer Switches (min: {min}%, count: {count})'
|
||
secondary_info: Battery Levels {range}%
|
||
icon: mdi:toggle-switch
|
||
entities:
|
||
- sensor.kallen_bedroom_dimmer_switch_battery
|
||
- sensor.tina_desk_dimmer_switch_battery
|
||
- sensor.emma_bedroom_dimmer_switch_battery
|
||
- sensor.master_bedroom_dimmer_switch_battery
|
||
- sensor.living_room_dimmer_switch_battery
|
||
filter:
|
||
include:
|
||
- name: entity_id
|
||
value: '*_battery'
|
||
- name: entity_id
|
||
value: '*battery_mqtt'
|
||
exclude:
|
||
- name: entity_id
|
||
value: '*iphone*'
|
||
- name: entity_id
|
||
value: '*ipad*'
|
||
- name: entity_id
|
||
value: '*airpod*'
|
||
- name: entity_id
|
||
value: '*apple*'
|
||
- name: entity_id
|
||
value: '*chrome*'
|
||
- name: entity_id
|
||
value: sensor.front_doorbell_battery
|
||
tap_action: more-info
|
||
columns: 4
|
||
- type: grid
|
||
square: false
|
||
columns: 4
|
||
cards:
|
||
- type: custom:button-card
|
||
name: Tony
|
||
icon: mdi:human-male
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: entities
|
||
title: Meds
|
||
entities:
|
||
- entity: input_boolean.tony_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_boolean.tony_afternoon_meds_taken
|
||
name: Afternoon Meds
|
||
- entity: input_boolean.tony_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.tony_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.tony_afternoon_meds_taken
|
||
name: Afternoon Meds Taken
|
||
- entity: input_datetime.tony_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.tony_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_datetime.tony_afternoon_meds_notify
|
||
name: Afternoon Notify
|
||
- entity: input_datetime.tony_night_meds_notify
|
||
name: Night Notify
|
||
- entity: counter.tony_morning_meds_reminder_count
|
||
name: Morning Reminders
|
||
- entity: counter.tony_afternoon_meds_reminder_count
|
||
name: Afternoon Reminders
|
||
- entity: counter.tony_night_meds_reminder_count
|
||
name: Night Reminders
|
||
- entity: input_number.tony_afternoon_meds_interval
|
||
name: Afternoon Interval
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
title: Computer
|
||
entities:
|
||
- entity: binary_sensor.tony_desktop_on
|
||
name: Status
|
||
- entity: script.tony_desktop_wake
|
||
name: Wake
|
||
- entity: script.tony_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: custom:button-card
|
||
name: Tina
|
||
icon: mdi:human-female
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: entities
|
||
title: Meds
|
||
entities:
|
||
- entity: input_boolean.tina_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_boolean.tina_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.tina_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.tina_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.tina_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_datetime.tina_night_meds_notify
|
||
name: Night Notify
|
||
- entity: counter.tina_morning_meds_reminder_count
|
||
name: Morning Reminders
|
||
- entity: counter.tina_night_meds_reminder_count
|
||
name: Night Reminders
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
title: Computer
|
||
entities:
|
||
- entity: binary_sensor.tina_desktop_on
|
||
name: Status
|
||
- entity: script.tina_desktop_wake
|
||
name: Wake
|
||
- entity: script.tina_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: custom:button-card
|
||
name: Kallen
|
||
icon: mdi:human-child
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: entities
|
||
title: Meds
|
||
entities:
|
||
- entity: input_boolean.kallen_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_boolean.kallen_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.kallen_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.kallen_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.kallen_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_datetime.kallen_night_meds_notify
|
||
name: Night Notify
|
||
- entity: counter.kallen_morning_meds_reminder_count
|
||
name: Morning Reminders
|
||
- entity: counter.kallen_night_meds_reminder_count
|
||
name: Night Reminders
|
||
- entity: input_boolean.kallen_late_bedtime
|
||
name: Late Bedtime
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
title: Computer
|
||
entities:
|
||
- entity: binary_sensor.kallen_desktop_on
|
||
name: Status
|
||
- entity: script.kallen_desktop_wake
|
||
name: Wake
|
||
- entity: script.kallen_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: custom:button-card
|
||
name: Emma
|
||
icon: mdi:bow-tie
|
||
show_label: true
|
||
aspect_ratio: 1.25/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: entities
|
||
title: Emma Meds
|
||
entities:
|
||
- type: custom:fold-entity-row
|
||
head:
|
||
type: section
|
||
label: Alternating Meds
|
||
entities:
|
||
- entity: input_boolean.emma_alternating_meds_active
|
||
name: Alternating Meds Active
|
||
- entity: input_boolean.emma_tylenol
|
||
name: Tylenol Taken
|
||
- entity: input_datetime.emma_tylenol
|
||
name: Tylenol Given
|
||
- entity: input_datetime.emma_tylenol_notify
|
||
name: Tylenol Notify
|
||
- entity: input_boolean.emma_ibuprofen
|
||
name: Ibuprofen Taken
|
||
- entity: input_datetime.emma_ibuprofen
|
||
name: Ibuprofen Given
|
||
- entity: input_datetime.emma_ibuprofen_notify
|
||
name: Ibuprofen Notify
|
||
- type: custom:fold-entity-row
|
||
head:
|
||
type: section
|
||
label: Cough Meds
|
||
entities:
|
||
- entity: input_boolean.emma_cough_meds_active
|
||
name: Cough Meds Active
|
||
- entity: input_boolean.emma_cough_meds
|
||
name: Cough Meds Taken
|
||
- entity: input_datetime.emma_cough_meds
|
||
name: Cough Meds Given
|
||
- entity: input_datetime.emma_cough_meds_notify
|
||
name: Cough Meds Notify
|
||
- entity: input_number.emma_cough_meds_interval
|
||
name: Interval
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: grid
|
||
square: false
|
||
columns: 2
|
||
cards:
|
||
- type: custom:button-card
|
||
name: Cats
|
||
icon: mdi:cat
|
||
show_label: true
|
||
aspect_ratio: 2.5/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:mushroom-template-card
|
||
primary: ''
|
||
secondary: Cat stuff coming soon. Maybe.
|
||
icon: ''
|
||
layout: vertical
|
||
multiline_secondary: false
|
||
fill_container: false
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
- type: custom:button-card
|
||
name: Rabbit
|
||
icon: mdi:rabbit
|
||
show_label: true
|
||
aspect_ratio: 2.5/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: vertical-stack
|
||
cards:
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.rabbit_fed
|
||
- entity: input_datetime.rabbit_fed
|
||
- entity: input_datetime.rabbit_feeding_notify
|
||
name: Notify
|
||
- entity: input_number.rabbit_feeding_interval
|
||
name: Interval
|
||
- entity: counter.rabbit_feeding_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
title: Rabbit Feeding
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.rabbit_hutch_cleaned
|
||
name: Hutch Cleaned
|
||
- entity: input_datetime.rabbit_hutch_cleaned
|
||
name: Hutch Cleaned
|
||
- entity: input_datetime.rabbit_hutch_cleaning_notify
|
||
name: Notify
|
||
- entity: input_number.rabbit_hutch_cleaning_interval
|
||
name: Interval
|
||
- entity: counter.rabbit_hutch_cleaning_reminder_count
|
||
name: Reminder Count
|
||
title: Rabbit Hutch Cleaning
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: grid
|
||
square: false
|
||
columns: 1
|
||
cards:
|
||
- type: custom:button-card
|
||
name: Running
|
||
icon: mdi:database-clock
|
||
show_label: true
|
||
aspect_ratio: 5/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:auto-entities
|
||
filter:
|
||
include:
|
||
- domain: automation
|
||
attributes:
|
||
current: '> 0'
|
||
- domain: script
|
||
attributes:
|
||
current: '> 0'
|
||
exclude: []
|
||
sort:
|
||
method: last_triggered
|
||
reverse: false
|
||
else:
|
||
type: custom:mushroom-template-card
|
||
primary: Nothing running
|
||
secondary: There are currently no automations or scripts running
|
||
multiline_secondary: true
|
||
layout: vertical
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
fill_container: false
|
||
card:
|
||
type: entities
|
||
show_header_toggle: false
|
||
state_color: true
|
||
title: Running Automations/Scripts
|
||
card_mod:
|
||
style: |
|
||
ha-dialog {
|
||
--mdc-dialog-min-height: 10px !important;
|
||
}
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: grid
|
||
square: false
|
||
columns: 1
|
||
cards:
|
||
- type: custom:button-card
|
||
name: Kallen Timer
|
||
icon: mdi:timer
|
||
show_label: true
|
||
aspect_ratio: 5/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
tap_action:
|
||
action: fire-dom-event
|
||
browser_mod:
|
||
service: browser_mod.popup
|
||
data:
|
||
content:
|
||
type: custom:stack-in-card
|
||
title: Activity Timer
|
||
cards:
|
||
- type: custom:flipdown-timer-card
|
||
entity: timer.kallen_timer
|
||
name: Kallen Activity Timer
|
||
duration: '00:00:00'
|
||
show_title: false
|
||
show_header: true
|
||
show_error: false
|
||
show_hour: auto
|
||
styles:
|
||
button:
|
||
location: hide
|
||
- type: entities
|
||
entities:
|
||
- entity: input_number.kallen_activity_duration
|
||
name: Duration
|
||
- entity: input_boolean.kallen_timer_control_lights
|
||
name: Control Lights
|
||
- entity: input_select.kallen_activity_room
|
||
name: Room
|
||
- entity: input_select.kallen_activities
|
||
name: Activity
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: custom:stack-in-card
|
||
mode: horizontal
|
||
cards:
|
||
- type: custom:button-card
|
||
entity: timer.kallen_timer
|
||
name: []
|
||
show_label: true
|
||
aspect_ratio: 2.7/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
state:
|
||
- value: active
|
||
label: Running
|
||
icon: mdi:play
|
||
styles:
|
||
icon:
|
||
- color: green
|
||
- value: paused
|
||
label: Paused
|
||
icon: mdi:pause
|
||
styles:
|
||
icon:
|
||
- color: yellow
|
||
- value: idle
|
||
label: Idle
|
||
icon: mdi:play
|
||
tap_action:
|
||
action: call-service
|
||
service: button.press
|
||
service_data:
|
||
entity_id: button.kallen_timer_start
|
||
hold_action:
|
||
action: more-info
|
||
entity: timer.kallen_timer
|
||
- type: custom:button-card
|
||
entity: timer.kallen_timer
|
||
name: []
|
||
icon: mdi:cancel
|
||
label: Cancel
|
||
show_label: true
|
||
aspect_ratio: 2.7/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
state:
|
||
- value: active
|
||
styles:
|
||
icon:
|
||
- color: green
|
||
- value: paused
|
||
styles:
|
||
icon:
|
||
- color: yellow
|
||
- value: idle
|
||
tap_action:
|
||
action: call-service
|
||
service: script.kallen_timer_cancel
|
||
hold_action:
|
||
action: more-info
|
||
entity: timer.kallen_timer
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- 879b4c04e32841b3ad1d2763a11b4e70
|
||
- type: custom:mushroom-template-card
|
||
primary: ''
|
||
multiline_secondary: true
|
||
secondary: |-
|
||
{% from 'formatting.jinja' import cleanup %}
|
||
{% import 'status.jinja' as status %}
|
||
|
||
{{ cleanup(status.tony_status_report('full','text')) }}
|
||
|
||
{{ cleanup(status.tina_status_report('full','text')) }}
|
||
|
||
{{ cleanup(status.kallen_status_report('full','text')) }}
|
||
|
||
{{ cleanup(status.emma_status_report('full','text')) }}
|
||
|
||
{{ cleanup(status.house_status_report('full','text')) }}
|
||
|
||
{{ cleanup(status.laundry_report('full','text')) }}
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
fill_container: false
|
||
- type: custom:mushroom-template-card
|
||
primary: ''
|
||
secondary: Cat stuff coming soon. Maybe.
|
||
icon: ''
|
||
layout: vertical
|
||
multiline_secondary: false
|
||
fill_container: false
|
||
tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
type: masonry
|
||
subview: true
|
||
- title: Tony
|
||
path: tony
|
||
icon: mdi:human-male
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Meds
|
||
- type: custom:card-templater
|
||
card:
|
||
type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
entities:
|
||
- entity: input_boolean.tony_custom_meds_taken_p1
|
||
name_template: >-
|
||
{{ states('input_text.tony_custom_med_name_p1') + ' Taken'
|
||
}}
|
||
- entity: input_datetime.tony_custom_meds_taken_p1
|
||
name_template: >-
|
||
{{ states('input_text.tony_custom_med_name_p1') + ' Taken'
|
||
}}
|
||
- entity: input_datetime.tony_custom_meds_notify_p1
|
||
name_template: >-
|
||
{{ states('input_text.tony_custom_med_name_p1') + ' Notify'
|
||
}}
|
||
- entity: input_boolean.tony_custom_meds_reminder_p1
|
||
name: Reminders Active
|
||
- entity: counter.tony_custom_meds_reminder_count_p1
|
||
name: Reminder Count
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.tony_custom_meds_tracker_p1
|
||
state: 'on'
|
||
- type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
entities:
|
||
- entity: input_boolean.tony_ibuprofen_taken
|
||
name: Ibuprofen Taken
|
||
- entity: input_datetime.tony_ibuprofen_taken
|
||
name: Ibuprofen Taken
|
||
- entity: input_datetime.tony_ibuprofen_notify
|
||
name: Ibuprofen Notify
|
||
- entity: input_boolean.tony_ibuprofen_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tony_ibuprofen_reminder_count
|
||
name: Reminder Count
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.tony_ibuprofen_active
|
||
state: 'on'
|
||
- type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
entities:
|
||
- entity: input_boolean.tony_tylenol_taken
|
||
name: Tylenol Taken
|
||
- entity: input_datetime.tony_tylenol_taken
|
||
name: Tylenol Taken
|
||
- entity: input_datetime.tony_tylenol_notify
|
||
name: Tylenol Notify
|
||
- entity: input_boolean.tony_tylenol_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tony_tylenol_reminder_count
|
||
name: Reminder Count
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.tony_tylenol_active
|
||
state: 'on'
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.tony_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_datetime.tony_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.tony_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_boolean.tony_morning_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tony_morning_meds_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.tony_afternoon_meds_taken
|
||
name: Afternoon Meds
|
||
- entity: input_datetime.tony_afternoon_meds_taken
|
||
name: Afternoon Meds Taken
|
||
- entity: input_datetime.tony_afternoon_meds_notify
|
||
name: Afternoon Notify
|
||
- entity: input_number.tony_afternoon_meds_interval
|
||
name: Afternoon Interval
|
||
- entity: input_boolean.tony_afternoon_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tony_afternoon_meds_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.tony_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.tony_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.tony_night_meds_notify
|
||
name: Night Notify
|
||
- entity: input_boolean.tony_night_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tony_night_meds_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- type: custom:fold-entity-row
|
||
head:
|
||
type: section
|
||
label: Settings
|
||
entities:
|
||
- entity: input_boolean.tony_custom_meds_tracker_p1
|
||
name: Custom Tracker 1
|
||
- entity: input_text.tony_custom_med_name_p1
|
||
name: Custom 1 Name
|
||
- entity: input_select.tony_custom_meds_type_p1
|
||
name: Custom 1 Type
|
||
- entity: input_number.tony_custom_meds_interval_p1
|
||
name: Custom 1 Interval
|
||
- entity: input_boolean.tony_ibuprofen_active
|
||
name: Ibuprofen Active
|
||
- entity: input_boolean.tony_tylenol_active
|
||
name: Tylenol Active
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Computer
|
||
- type: entities
|
||
entities:
|
||
- entity: binary_sensor.tony_desktop_on
|
||
name: Status
|
||
- entity: script.tony_desktop_wake
|
||
name: Wake
|
||
- entity: script.tony_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visible:
|
||
- user: f387a983651a4321a7411ff8cf36f949
|
||
- user: c3909d27048140729f002aaef0391775
|
||
cards: []
|
||
- title: Tina
|
||
path: tina
|
||
icon: mdi:human-female
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
visible:
|
||
- user: f387a983651a4321a7411ff8cf36f949
|
||
- user: c3909d27048140729f002aaef0391775
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Meds
|
||
- type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
entities:
|
||
- entity: input_boolean.tina_ibuprofen_taken
|
||
- entity: input_datetime.tina_ibuprofen_taken
|
||
- entity: input_datetime.tina_ibuprofen_notify
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.tina_ibuprofen_active
|
||
state: 'on'
|
||
- type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
entities:
|
||
- entity: input_boolean.tina_tylenol_taken
|
||
- entity: input_datetime.tina_tylenol_taken
|
||
- entity: input_datetime.tina_tylenol_notify
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.tina_tylenol_active
|
||
state: 'on'
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.tina_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_datetime.tina_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.tina_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_boolean.tina_morning_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tina_morning_meds_reminder_count
|
||
name: Morning Reminders
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.tina_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.tina_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.tina_night_meds_notify
|
||
name: Night Notify
|
||
- entity: input_boolean.tina_night_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.tina_night_meds_reminder_count
|
||
name: Night Reminders
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- type: custom:fold-entity-row
|
||
head:
|
||
type: section
|
||
label: Settings
|
||
entities:
|
||
- entity: input_boolean.tina_ibuprofen_active
|
||
name: Ibuprofen Active
|
||
- entity: input_boolean.tina_tylenol_active
|
||
name: Tylenol Active
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Computer
|
||
- type: entities
|
||
entities:
|
||
- entity: binary_sensor.tina_desktop_on
|
||
name: Status
|
||
- entity: script.tina_desktop_wake
|
||
name: Wake
|
||
- entity: script.tina_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- title: Kallen
|
||
path: kallen
|
||
icon: mdi:human-child
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Meds
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.kallen_morning_meds_taken
|
||
name: Morning Meds
|
||
- entity: input_datetime.kallen_morning_meds_taken
|
||
name: Morning Meds Taken
|
||
- entity: input_datetime.kallen_morning_meds_notify
|
||
name: Morning Notify
|
||
- entity: input_boolean.kallen_morning_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.kallen_morning_meds_reminder_count
|
||
name: Morning Reminders
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.kallen_night_meds_taken
|
||
name: Night Meds
|
||
- entity: input_datetime.kallen_night_meds_taken
|
||
name: Night Meds Taken
|
||
- entity: input_datetime.kallen_night_meds_notify
|
||
name: Night Notify
|
||
- entity: input_boolean.kallen_night_meds_reminder
|
||
name: Reminders Active
|
||
- entity: counter.kallen_night_meds_reminder_count
|
||
name: Night Reminders
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Computer
|
||
- type: entities
|
||
entities:
|
||
- entity: binary_sensor.kallen_desktop_on
|
||
name: Status
|
||
- entity: script.kallen_desktop_wake
|
||
name: Wake
|
||
- entity: script.kallen_desktop_shutdown
|
||
name: Shutdown
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- title: Emma
|
||
path: emma
|
||
icon: mdi:bow-tie
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
visible:
|
||
- user: f387a983651a4321a7411ff8cf36f949
|
||
- user: c3909d27048140729f002aaef0391775
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Meds
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.emma_alternating_meds_active
|
||
name: Alternating Meds Active
|
||
- entity: input_boolean.emma_cough_meds_active
|
||
name: Cough Meds Active
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.emma_cough_meds
|
||
name: Cough Meds Taken
|
||
- entity: input_datetime.emma_cough_meds
|
||
name: Cough Meds Given
|
||
- entity: input_datetime.emma_cough_meds_notify
|
||
name: Cough Meds Notify
|
||
- entity: input_number.emma_cough_meds_interval
|
||
name: Interval
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.emma_cough_meds_active
|
||
state: 'on'
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.emma_tylenol
|
||
name: Tylenol Taken
|
||
- entity: input_datetime.emma_tylenol
|
||
name: Tylenol Given
|
||
- entity: input_datetime.emma_tylenol_notify
|
||
name: Tylenol Notify
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.emma_alternating_meds_active
|
||
state: 'on'
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.emma_ibuprofen
|
||
name: Ibuprofen Taken
|
||
- entity: input_datetime.emma_ibuprofen
|
||
name: Ibuprofen Given
|
||
- entity: input_datetime.emma_ibuprofen_notify
|
||
name: Ibuprofen Notify
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.emma_alternating_meds_active
|
||
state: 'on'
|
||
- title: Rabbit
|
||
path: rabbit
|
||
icon: mdi:rabbit
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Feeding
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.rabbit_fed
|
||
- entity: input_datetime.rabbit_fed
|
||
- entity: input_datetime.rabbit_feeding_notify
|
||
name: Notify
|
||
- entity: input_number.rabbit_feeding_interval
|
||
name: Interval
|
||
- entity: counter.rabbit_feeding_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Cleaning
|
||
- type: entities
|
||
entities:
|
||
- entity: input_boolean.rabbit_hutch_cleaned
|
||
name: Hutch Cleaned
|
||
- entity: input_datetime.rabbit_hutch_cleaned
|
||
name: Hutch Cleaned
|
||
- entity: input_datetime.rabbit_hutch_cleaning_notify
|
||
name: Notify
|
||
- entity: input_number.rabbit_hutch_cleaning_interval
|
||
name: Interval
|
||
- entity: counter.rabbit_hutch_cleaning_reminder_count
|
||
name: Reminder Count
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- title: Kallen Timer
|
||
path: kallen-timer
|
||
icon: mdi:timer
|
||
type: sections
|
||
max_columns: 4
|
||
subview: true
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: custom:stack-in-card
|
||
title: Activity Timer
|
||
cards:
|
||
- type: custom:flipdown-timer-card
|
||
entity: timer.kallen_timer
|
||
name: Kallen Activity Timer
|
||
duration: '00:00:00'
|
||
show_title: false
|
||
show_header: true
|
||
show_error: false
|
||
show_hour: auto
|
||
styles:
|
||
button:
|
||
location: hide
|
||
- type: entities
|
||
entities:
|
||
- entity: input_number.kallen_activity_duration
|
||
name: Duration
|
||
- entity: input_boolean.kallen_timer_control_lights
|
||
name: Control Lights
|
||
- entity: input_select.kallen_activity_room
|
||
name: Room
|
||
- entity: input_select.kallen_activities
|
||
name: Activity
|
||
show_header_toggle: false
|
||
state_color: true
|
||
- type: custom:stack-in-card
|
||
mode: horizontal
|
||
cards:
|
||
- type: custom:button-card
|
||
entity: timer.kallen_timer
|
||
name: []
|
||
show_label: true
|
||
aspect_ratio: 2.7/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
state:
|
||
- value: active
|
||
label: Running
|
||
icon: mdi:play
|
||
styles:
|
||
icon:
|
||
- color: green
|
||
- value: paused
|
||
label: Paused
|
||
icon: mdi:pause
|
||
styles:
|
||
icon:
|
||
- color: yellow
|
||
- value: idle
|
||
label: Idle
|
||
icon: mdi:play
|
||
tap_action:
|
||
action: call-service
|
||
service: button.press
|
||
service_data:
|
||
entity_id: button.kallen_timer_start
|
||
hold_action:
|
||
action: more-info
|
||
entity: timer.kallen_timer
|
||
- type: custom:button-card
|
||
entity: timer.kallen_timer
|
||
name: []
|
||
icon: mdi:cancel
|
||
label: Cancel
|
||
show_label: true
|
||
aspect_ratio: 2.7/1
|
||
styles:
|
||
card:
|
||
- '--mdc-ripple-color': purple
|
||
- '--mdc-ripple-press-opacity': 0.5
|
||
state:
|
||
- value: active
|
||
styles:
|
||
icon:
|
||
- color: green
|
||
- value: paused
|
||
styles:
|
||
icon:
|
||
- color: yellow
|
||
- value: idle
|
||
tap_action:
|
||
action: call-service
|
||
service: script.kallen_timer_cancel
|
||
hold_action:
|
||
action: more-info
|
||
entity: timer.kallen_timer
|
||
- title: Sports
|
||
path: sports
|
||
icon: mdi:football
|
||
type: sections
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: NCAAF
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.michigan_wolverines
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.michigan_wolverines
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.michigan_wolverines
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.michigan_wolverines_inhibit
|
||
state: 'off'
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.ohio_state_buckeyes
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.ohio_state_buckeyes
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.ohio_state_buckeyes
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.ohio_state_buckeyes_inhibit
|
||
state: 'off'
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.toledo_rockets
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.toledo_rockets
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.toledo_rockets
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.toledo_rockets_inhibit
|
||
state: 'off'
|
||
column_span: 3
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: binary_sensor.michigan_wolverines_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.ohio_state_buckeyes_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.toledo_rockets_inhibit
|
||
state: 'off'
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: NFL
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.minnesota_vikings
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.minnesota_vikings
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.minnesota_vikings
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_vikings_inhibit
|
||
state: 'off'
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.san_francisco_49ers
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.san_francisco_49ers
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.san_francisco_49ers
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.san_francisco_49ers_inhibit
|
||
state: 'off'
|
||
column_span: 2
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_vikings_inhibit
|
||
state: ''
|
||
- condition: state
|
||
entity: binary_sensor.san_francisco_49ers_inhibit
|
||
state: 'off'
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: MLB
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.minnesota_twins
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.minnesota_twins
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.minnesota_twins
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_twins_inhibit
|
||
state: 'off'
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.cleveland_guardians
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.cleveland_guardians
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.cleveland_guardians
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.cleveland_guardians_inhibit
|
||
state: 'off'
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.los_angeles_dodgers
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.los_angeles_dodgers
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.los_angeles_dodgers
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.los_angeles_dodgers_inhibit
|
||
state: 'off'
|
||
column_span: 3
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_twins_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.cleveland_guardians_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.los_angeles_dodgers_inhibit
|
||
state: 'off'
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: NHL
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.minnesota_wild
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.minnesota_wild
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.minnesota_wild
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_wild_inhibit
|
||
state: 'off'
|
||
column_span: 1
|
||
visibility:
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_wild_inhibit
|
||
state: 'off'
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Motorsports
|
||
- type: custom:mushroom-template-card
|
||
primary: Hello, {{user}}
|
||
secondary: For the latest Formula 1 statistics, tap this card!
|
||
icon: fas:flag-checkered
|
||
icon_color: |-
|
||
{% if is_state('sensor.formula_one','PRE') %}
|
||
white
|
||
{% elif is_state('sensor.formula_one','IN') %}
|
||
green
|
||
{% elif is_state('sensor.formula_one','POST') %}
|
||
red
|
||
{% else %}
|
||
black
|
||
{% endif %}
|
||
badge_icon: |-
|
||
{% if is_state('sensor.formula_one','PRE') %}
|
||
mdi:car-clock
|
||
{% elif is_state('sensor.formula_one','IN') %}
|
||
mdi:car-multiple
|
||
{% elif is_state('sensor.formula_one','POST') %}
|
||
mdi:flag-checkered
|
||
{% else %}
|
||
mdi:close
|
||
{% endif %}
|
||
layout: horizontal
|
||
fill_container: false
|
||
multiline_secondary: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: /lovelace/formula-1
|
||
hold_action:
|
||
action: none
|
||
double_tap_action:
|
||
action: none
|
||
badge_color: |-
|
||
{% if is_state('sensor.formula_one','PRE') %}
|
||
grey
|
||
{% elif is_state('sensor.formula_one','IN') %}
|
||
green
|
||
{% elif is_state('sensor.formula_one','POST') %}
|
||
red
|
||
{% else %}
|
||
black
|
||
{% endif %}
|
||
column_span: 1
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading_style: title
|
||
heading: College Hockey
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.michigan_wolverines_hockey
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.michigan_wolverines_hockey
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.michigan_wolverines_hockey
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.michigan_wolverines_hockey_inhibit
|
||
state: 'off'
|
||
show_league: false
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.minnesota_golden_gophers_hockey
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.minnesota_golden_gophers_hockey
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.minnesota_golden_gophers_hockey
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_golden_gophers_hockey_inhibit
|
||
state: 'off'
|
||
show_league: false
|
||
- type: custom:teamtracker-card
|
||
entity: sensor.minnesota_state_mavericks_hockey
|
||
visibility:
|
||
- condition: state
|
||
entity: sensor.minnesota_state_mavericks_hockey
|
||
state_not: NOT_FOUND
|
||
- condition: state
|
||
entity: sensor.minnesota_state_mavericks_hockey
|
||
state_not: BYE
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_state_mavericks_hockey_inhibit
|
||
state: 'off'
|
||
show_league: false
|
||
column_span: 3
|
||
visibility:
|
||
- condition: or
|
||
conditions:
|
||
- condition: state
|
||
entity: binary_sensor.michigan_wolverines_hockey_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_golden_gophers_hockey_inhibit
|
||
state: 'off'
|
||
- condition: state
|
||
entity: binary_sensor.minnesota_state_mavericks_hockey_inhibit
|
||
state: 'off'
|
||
max_columns: 5
|
||
cards: []
|
||
subview: true
|
||
- title: Climate
|
||
path: climate
|
||
icon: mdi:home-thermometer
|
||
type: sections
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Climate Devices On
|
||
heading_style: title
|
||
icon: m3rf:climate-mini-split
|
||
- type: custom:auto-entities
|
||
show_empty: false
|
||
card:
|
||
type: entities
|
||
show_header_toggle: false
|
||
state_color: true
|
||
filter:
|
||
include:
|
||
- options: {}
|
||
domain: fan
|
||
- options: {}
|
||
domain: climate
|
||
exclude:
|
||
- options: {}
|
||
entity_id: fan.all_fans
|
||
- options: {}
|
||
state: 'off'
|
||
- options: {}
|
||
state: unavailable
|
||
- options: {}
|
||
integration: generic_thermostat
|
||
sort:
|
||
method: friendly_name
|
||
reverse: false
|
||
- type: heading
|
||
icon: mdi:home-thermometer
|
||
heading: Floor Average Temperatures
|
||
heading_style: title
|
||
- type: custom:auto-entities
|
||
card:
|
||
type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
filter:
|
||
include:
|
||
- options: {}
|
||
entity_id: sensor.*floor_average_temperature
|
||
exclude: []
|
||
sort:
|
||
method: state
|
||
numeric: true
|
||
reverse: true
|
||
- type: heading
|
||
icon: hue:motion-sensor-temperature
|
||
heading: Room Temperatures
|
||
heading_style: title
|
||
- type: custom:auto-entities
|
||
card:
|
||
type: entities
|
||
show_header_toggle: false
|
||
title: Room Temperature Warnings
|
||
state_color: true
|
||
filter:
|
||
include:
|
||
- options: {}
|
||
entity_id: binary_sensor.*_hot
|
||
state: 'on'
|
||
- options: {}
|
||
entity_id: binary_sensor.*_cold
|
||
state: 'on'
|
||
sort:
|
||
method: entity_id
|
||
reverse: false
|
||
numeric: false
|
||
ignore_case: false
|
||
show_empty: false
|
||
- type: custom:auto-entities
|
||
card:
|
||
type: entities
|
||
state_color: true
|
||
show_header_toggle: false
|
||
filter:
|
||
include:
|
||
- options: {}
|
||
device_manufacturer: Signify Netherlands B.V.
|
||
entity_id: sensor.*_temperature
|
||
exclude: []
|
||
sort:
|
||
method: state
|
||
numeric: true
|
||
reverse: true
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Master Bedroom
|
||
heading_style: title
|
||
icon: mdi:bed
|
||
- type: entities
|
||
entities:
|
||
- entity: switch.master_bedroom_aircon_display
|
||
name: A/C Display
|
||
- entity: switch.master_bedroom_aircon_prompt_tone
|
||
name: Prompt Tone
|
||
- entity: binary_sensor.master_bedroom_aircon_filter_alert
|
||
name: Filter Status
|
||
- entity: input_number.master_bedroom_daytime_temp
|
||
name: Daytime Temp
|
||
- entity: input_number.master_bedroom_night_temp
|
||
name: Night Temp
|
||
- entity: input_number.master_bedroom_bedtime_temp
|
||
name: Bedtime Temp
|
||
- entity: button.master_bedroom_fan_only
|
||
name: A/C Fan Only
|
||
- entity: button.master_bedroom_day_mode
|
||
name: Day Mode
|
||
icon: m3rf:sunny
|
||
- entity: button.master_bedroom_night_mode
|
||
name: Night Mode
|
||
- entity: button.master_bedroom_bedtime_mode
|
||
name: Bedtime Mode
|
||
- entity: button.master_bedroom_climate_reset
|
||
name: Climate Reset
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.master_bedroom_aircon_installed
|
||
state: 'on'
|
||
- type: heading
|
||
icon: m3o:schedule
|
||
heading: Scheduling
|
||
heading_style: title
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: entities
|
||
entities:
|
||
- entity: input_select.scheduled_climate_mode_master_bedroom_aircon
|
||
name: Scheduled Mode - Aircon
|
||
- entity: input_select.scheduled_climate_mode_master_bedroom_fan
|
||
name: Scheduled Mode - Fan
|
||
- entity: input_datetime.master_bedroom_cooling
|
||
name: Cooling
|
||
- entity: input_datetime.master_bedroom_fan
|
||
name: Fan
|
||
- entity: input_boolean.master_bedroom_climate_override
|
||
name: Climate Schedule Override
|
||
state_color: true
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: heading
|
||
icon: m3of:data-thresholding
|
||
heading: Thresholds
|
||
heading_style: title
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: entities
|
||
entities:
|
||
- entity: input_number.master_bedroom_fan_threshold
|
||
name: Fan
|
||
- entity: input_number.master_bedroom_aircon_run_threshold
|
||
name: Aircon Run
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.master_bedroom_aircon_run_threshold') |
|
||
int %} {% set low = states('sensor.tonights_low_temp') | int
|
||
%} {{ 'Threshold Met' if low >= threshold else '' }}
|
||
- entity: input_number.master_bedroom_aircon_mode_threshold
|
||
name: Aircon Mode
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.master_bedroom_aircon_mode_threshold') |
|
||
int %} {% set low = states('sensor.tonights_low_temp') | int
|
||
%} {{ 'Threshold Met' if low >= threshold else '' }}
|
||
- entity: input_number.master_bedroom_auto_cooling_threshold
|
||
name: Auto Cooling
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.master_bedroom_auto_cooling_threshold') |
|
||
int %} {% set roomtemp =
|
||
states('sensor.master_bedroom_temperature') | int %} {{
|
||
'Threshold Met' if roomtemp >= threshold else '' }}
|
||
- entity: input_number.master_bedroom_mode_switch_threshold
|
||
name: Mode Switch
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.master_bedroom_mode_switch_threshold') |
|
||
int %} {% set high = states('sensor.todays_high_temp') | int
|
||
%} {{ 'Threshold Met' if high >= threshold else '' }}
|
||
- entity: input_boolean.master_bedroom_aircon_installed
|
||
name: Aircon Installed
|
||
- entity: input_boolean.master_bedroom_climate_protocol
|
||
name: Climate Automations
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.master_bedroom_aircon_installed
|
||
state: 'on'
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Emma Bedroom
|
||
heading_style: title
|
||
icon: mdi:bed
|
||
- type: entities
|
||
entities:
|
||
- entity: switch.emma_bedroom_aircon_display
|
||
name: A/C Display
|
||
- entity: switch.emma_bedroom_aircon_prompt_tone
|
||
name: Prompt Tone
|
||
- entity: switch.emma_bedroom_climate_watchdog
|
||
name: Climate Watchdog
|
||
secondary_info: Protects aircon settings
|
||
- entity: binary_sensor.emma_bedroom_aircon_filter_alert
|
||
name: Filter Status
|
||
- entity: input_number.emma_bedroom_daytime_temp
|
||
name: Daytime Temp
|
||
- entity: input_number.emma_bedroom_night_temp
|
||
name: Night Temp
|
||
- entity: input_number.emma_bedroom_bedtime_temp
|
||
name: Bedtime Temp
|
||
- entity: button.emma_bedroom_fan_only
|
||
name: A/C Fan Only
|
||
- entity: button.emma_bedroom_day_mode
|
||
name: Day Mode
|
||
icon: m3rf:sunny
|
||
- entity: button.emma_bedroom_night_mode
|
||
name: Night Mode
|
||
- entity: button.emma_bedroom_bedtime_mode
|
||
name: Bedtime Mode
|
||
- entity: button.emma_bedroom_climate_reset
|
||
name: Climate Reset
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: state
|
||
entity: input_boolean.emma_bedroom_aircon_installed
|
||
state: 'on'
|
||
- type: heading
|
||
icon: m3o:schedule
|
||
heading: Scheduling
|
||
heading_style: title
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: entities
|
||
entities:
|
||
- entity: input_select.scheduled_climate_mode_emma_bedroom
|
||
name: Scheduled Mode
|
||
- entity: input_datetime.emma_bedroom_climate
|
||
name: Climate
|
||
- entity: input_boolean.emma_bedroom_climate_override
|
||
name: Climate Schedule Override
|
||
state_color: true
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: heading
|
||
icon: m3of:data-thresholding
|
||
heading: Thresholds
|
||
heading_style: title
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: entities
|
||
entities:
|
||
- entity: input_number.emma_bedroom_aircon_run_threshold
|
||
name: Run Threshold
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.emma_bedroom_aircon_run_threshold') | int
|
||
%} {% set low = states('sensor.tonights_low_temp') | int %} {{
|
||
'Threshold Met' if low >= threshold else '' }}
|
||
- entity: input_number.emma_bedroom_aircon_mode_threshold
|
||
name: Mode Threshold
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.emma_bedroom_aircon_mode_threshold') |
|
||
int %} {% set low = states('sensor.tonights_low_temp') | int
|
||
%} {{ 'Threshold Met' if low >= threshold else '' }}
|
||
- entity: input_number.emma_bedroom_auto_cooling_threshold
|
||
name: EBR Auto Cooling
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.emma_bedroom_auto_cooling_threshold') |
|
||
int %} {% set roomtemp =
|
||
states('sensor.emma_bedroom_temperature') | int %} {{
|
||
'Threshold Met' if roomtemp >= threshold else '' }}
|
||
- entity: input_number.emma_bedroom_mode_switch_threshold
|
||
name: EBR Mode Switch
|
||
secondary_info: >
|
||
{% set threshold =
|
||
states('input_number.emma_bedroom_mode_switch_threshold') |
|
||
int %} {% set high = states('sensor.todays_high_temp') | int
|
||
%} {{ 'Threshold Met' if high >= threshold else '' }}
|
||
- entity: input_boolean.emma_bedroom_aircon_installed
|
||
name: Aircon Installed
|
||
- entity: input_boolean.emma_bedroom_heater_installed
|
||
name: Heater Installed
|
||
- entity: input_boolean.emma_bedroom_climate_protocol
|
||
name: Climate Automations
|
||
- entity: switch.emma_bedroom_climate_watchdog
|
||
name: Climate Watchdog
|
||
visibility:
|
||
- condition: and
|
||
conditions:
|
||
- condition: state
|
||
entity: input_boolean.emma_bedroom_aircon_installed
|
||
state: 'on'
|
||
- condition: user
|
||
users:
|
||
- c3909d27048140729f002aaef0391775
|
||
show_header_toggle: false
|
||
state_color: true
|
||
visibility:
|
||
- condition: user
|
||
users:
|
||
- f387a983651a4321a7411ff8cf36f949
|
||
- c3909d27048140729f002aaef0391775
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Climate Feed
|
||
heading_style: title
|
||
icon: mdi:timeline-text
|
||
- type: custom:home-feed-card
|
||
card_id: climate_feed_ac
|
||
show_empty: false
|
||
id_filter: ^home_feed_.*
|
||
more_info_on_tap: true
|
||
state_color: true
|
||
entities:
|
||
- entity: climate.master_bedroom_aircon
|
||
icon: mdi:air-conditioner
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: climate.emma_bedroom_aircon
|
||
icon: mdi:air-conditioner
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: sensor.master_bedroom_target_temp
|
||
icon: mdi:thermostat
|
||
name: Master Bedroom Set Temp
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: sensor.emma_bedroom_target_temp
|
||
icon: mdi:thermostat
|
||
name: Emma Bedroom Set Temp
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: fan.master_bedroom_fan
|
||
name: Master Bedroom Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: fan.basement_fan
|
||
name: Basement Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: fan.kallen_bedroom_fan
|
||
name: Kallen Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.master_bedroom_aircon_eco_mode
|
||
name: Master Bedroom Eco Mode
|
||
- entity: sensor.master_bedroom_aircon_fan_mode
|
||
name: Master Bedroom A/C Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: binary_sensor.emma_bedroom_aircon_fan
|
||
name: Emma Bedroom A/C Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: binary_sensor.emma_bedroom_aircon_compressor
|
||
name: Emma Bedroom A/C Compressor
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.emma_bedroom_aircon_eco_mode
|
||
name: Emma Bedroom Eco Mode
|
||
- entity: sensor.emma_bedroom_aircon_fan_mode
|
||
name: Emma Bedroom A/C Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: binary_sensor.master_bedroom_aircon_fan
|
||
name: Master Bedroom A/C Fan
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: binary_sensor.master_bedroom_aircon_compressor
|
||
name: Master Bedroom A/C Compressor
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: climate.basement_studio_vtherm
|
||
name: Basement Studio VTherm
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.basement_studio_heater
|
||
name: Basement Studio Heater
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: climate.emma_bedroom_vtherm
|
||
name: Emma Bedroom VTherm
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.emma_bedroom_heater
|
||
name: Emma Bedroom Heater
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.master_bedroom_aircon_display
|
||
name: Master Bedroom A/C Display
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
- entity: switch.emma_bedroom_aircon_display
|
||
name: Emma Bedroom A/C Display
|
||
exclude_states:
|
||
- unavailable
|
||
- unknown
|
||
max_columns: 4
|
||
cards: []
|
||
badges: []
|
||
subview: true
|
||
- title: Mobile Devices
|
||
path: mobile-devices
|
||
icon: mdi:cellphone-information
|
||
type: sections
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tony's iPhone
|
||
- type: custom:streamline-card
|
||
template: iphone_entities_card
|
||
variables:
|
||
- device: tony_s_iphone
|
||
- type: custom:streamline-card
|
||
template: phone_info_grid
|
||
variables:
|
||
- device: tony_s_iphone
|
||
column_span: 2
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tina's iPhone
|
||
- type: custom:streamline-card
|
||
template: iphone_entities_card
|
||
variables:
|
||
- device: tinas_iphone
|
||
- type: custom:streamline-card
|
||
template: phone_info_grid
|
||
variables:
|
||
- device: tinas_iphone
|
||
column_span: 2
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Kallen's iPhone
|
||
- type: custom:streamline-card
|
||
template: iphone_entities_card
|
||
variables:
|
||
- device: kallen_iphone
|
||
- type: custom:streamline-card
|
||
template: phone_info_grid
|
||
variables:
|
||
- device: kallen_iphone
|
||
column_span: 2
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Map
|
||
- type: map
|
||
entities:
|
||
- entity: person.tony_stork
|
||
- entity: person.christina_stork
|
||
- entity: person.kallen_stork
|
||
- entity: zone.bob_evans
|
||
- entity: zone.home
|
||
- entity: zone.aldi
|
||
- entity: zone.chief
|
||
- entity: zone.courtney_cave
|
||
- entity: zone.dollar_general_clinton_st
|
||
- entity: zone.elementary_school
|
||
- entity: zone.kroger
|
||
- entity: zone.meijer
|
||
- entity: zone.menards
|
||
- entity: zone.middle_school
|
||
- entity: zone.rite_aid
|
||
- entity: zone.the_elder_storks
|
||
- entity: zone.wal_mart
|
||
- entity: zone.latty
|
||
hours_to_show: 24
|
||
theme_mode: dark
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tony's iPad
|
||
- type: custom:streamline-card
|
||
template: ipad_entities_card
|
||
variables:
|
||
- device: tony_s_ipad
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tina’s iPad
|
||
- type: custom:streamline-card
|
||
template: ipad_entities_card
|
||
variables:
|
||
- device: tinas_ipad
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tony's Accessories
|
||
- type: entities
|
||
entities:
|
||
- type: custom:battery-state-entity
|
||
entity: sensor.tony_s_apple_watch_battery
|
||
name: Battery
|
||
tap_action: more-info
|
||
charging_state:
|
||
entity_id: sensor.tony_s_apple_watch_battery_status
|
||
state: Charging
|
||
- entity: sensor.tony_s_apple_watch_zone_distance
|
||
name: Distance
|
||
- entity: sensor.tony_s_apple_watch_info
|
||
name: Info
|
||
show_header_toggle: false
|
||
state_color: true
|
||
title: Apple Watch
|
||
- type: entities
|
||
entities:
|
||
- entity: sensor.tonys_airpods_pro_zone_distance
|
||
name: Distance
|
||
- entity: sensor.tonys_airpods_pro_info
|
||
name: Info
|
||
state_color: true
|
||
show_header_toggle: false
|
||
title: Airpods Pro
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Tina's Accessories
|
||
- type: entities
|
||
entities:
|
||
- type: custom:battery-state-entity
|
||
entity: sensor.christinas_apple_watch_battery
|
||
name: Battery
|
||
tap_action: more-info
|
||
charging_state:
|
||
entity_id: sensor.christinas_apple_watch_battery_status
|
||
state: Charging
|
||
- entity: sensor.christinas_apple_watch_zone_distance
|
||
name: Distance
|
||
- entity: sensor.christinas_apple_watch_info
|
||
name: Info
|
||
show_header_toggle: false
|
||
state_color: true
|
||
title: Apple Watch
|
||
- type: entities
|
||
entities:
|
||
- entity: sensor.tinas_airpods_pro_zone_distance
|
||
name: Distance
|
||
- entity: sensor.tinas_airpods_pro_info
|
||
name: Info
|
||
show_header_toggle: false
|
||
state_color: true
|
||
title: Airpods Pro
|
||
max_columns: 4
|
||
cards: []
|
||
badges:
|
||
- type: entity
|
||
show_name: true
|
||
show_state: true
|
||
show_icon: true
|
||
entity: person.tony_stork
|
||
color: ''
|
||
- type: entity
|
||
show_name: true
|
||
show_state: true
|
||
show_icon: true
|
||
entity: person.christina_stork
|
||
color: ''
|
||
- type: entity
|
||
show_name: true
|
||
show_state: true
|
||
show_icon: true
|
||
entity: person.kallen_stork
|
||
color: ''
|
||
subview: true
|
||
- type: sections
|
||
max_columns: 4
|
||
title: Test
|
||
path: test
|
||
icon: mdi:test-tube
|
||
subview: true
|
||
visible:
|
||
- user: c3909d27048140729f002aaef0391775
|
||
sections:
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Templates
|
||
heading_style: title
|
||
icon: mdi:wrench
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
name: Main Button Name
|
||
icon: mdi:button-cursor
|
||
- type: custom:streamline-card
|
||
template: main_button_floors
|
||
variables:
|
||
occupancy_entity: binary_sensor.basement_occupied
|
||
name: Main Button Floors
|
||
icon: mdi:twitch
|
||
navigation_path: '#basement-studio'
|
||
temp_entity: sensor.basement_studio_temperature
|
||
lux_entity: sensor.basement_studio_illuminance
|
||
hot_entity: binary_sensor.basement_studio_hot
|
||
cold_entity: binary_sensor.basement_studio_cold
|
||
- type: custom:streamline-card
|
||
template: main_button_outdoors
|
||
variables:
|
||
occupancy_entity: binary_sensor.front_doorbell_motion_mqtt
|
||
name: Main Button Outdoors
|
||
icon: hue:room-porch
|
||
navigation_path: '#front-porch'
|
||
temp_entity: sensor.home_tempest_temperature
|
||
lux_entity: sensor.home_tempest_illuminance
|
||
- type: custom:streamline-card
|
||
template: floors_separator
|
||
variables:
|
||
name: Floors Separator
|
||
icon: mdi:home-floor-1
|
||
power_entity: sensor.first_floor_total_power_sensor
|
||
lights_entity: light.first_floor_lights
|
||
floor_lights_count: sensor.first_floor_lights_on
|
||
- type: custom:streamline-card
|
||
template: state_color_button
|
||
variables:
|
||
entity: binary_sensor.living_room_front_motion
|
||
name: State Color Button
|
||
color: accent-color
|
||
columns: '2'
|
||
- type: custom:streamline-card
|
||
template: state_color_button_nav
|
||
variables:
|
||
entity: binary_sensor.security_faults
|
||
name: State Color Button Nav
|
||
navigation_path: '#security'
|
||
color: error-color
|
||
columns: '2'
|
||
- type: custom:streamline-card
|
||
template: contact_sensor_button
|
||
variables:
|
||
entity: binary_sensor.side_window_1
|
||
name: Contact Sensor Button
|
||
color: error-color
|
||
columns: '2'
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Template Development
|
||
heading_style: title
|
||
icon: mdi:wrench-cog
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Main Button Name
|
||
icon: mdi:button-cursor
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#security'
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#security'
|
||
columns: 2
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.basement_occupied
|
||
name: Main Button Floors
|
||
icon: mdi:twitch
|
||
show_state: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#basement-studio'
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#basement-studio'
|
||
sub_button:
|
||
- entity: sensor.basement_studio_temperature
|
||
name: Temp
|
||
show_state: true
|
||
show_name: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#basement-studio'
|
||
show_background: false
|
||
- entity: sensor.basement_studio_illuminance
|
||
show_state: true
|
||
name: Lux
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#basement-studio'
|
||
show_background: false
|
||
modules:
|
||
- default
|
||
- temperature_colouring
|
||
- main_button_floors
|
||
temperature_colouring:
|
||
temperature_sensor: sensor.basement_studio_temperature
|
||
elements:
|
||
sub_buttons:
|
||
- 1
|
||
main_button_floors:
|
||
occupancy_entity: binary_sensor.basement_occupied
|
||
hot_entity: binary_sensor.basement_studio_hot
|
||
cold_entity: binary_sensor.basement_studio_cold
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.front_doorbell_motion_mqtt
|
||
name: Main Button Outdoors
|
||
icon: hue:room-porch
|
||
show_state: false
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#front-porch'
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#front-porch'
|
||
sub_button:
|
||
- entity: sensor.home_tempest_temperature
|
||
name: Temp
|
||
show_state: true
|
||
show_name: false
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#front-porch'
|
||
show_background: false
|
||
- entity: sensor.home_tempest_illuminance
|
||
show_state: true
|
||
name: Lux
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#front-porch'
|
||
show_background: false
|
||
modules:
|
||
- default
|
||
- temperature_colouring
|
||
- main_button_outdoors
|
||
temperature_colouring:
|
||
temperature_sensor: sensor.home_tempest_temperature
|
||
elements:
|
||
sub_buttons:
|
||
- 1
|
||
main_button_outdoors:
|
||
occupancy_entity: binary_sensor.front_doorbell_motion_mqtt
|
||
- type: custom:bubble-card
|
||
card_type: separator
|
||
name: Floors Separator
|
||
icon: mdi:home-floor-1
|
||
sub_button:
|
||
- entity: sensor.first_floor_total_power_sensor
|
||
name: Power
|
||
show_state: true
|
||
tap_action:
|
||
action: none
|
||
- entity: light.first_floor_lights
|
||
name: Lights
|
||
icon: mdi:lightbulb
|
||
show_name: true
|
||
show_state: false
|
||
tap_action:
|
||
action: toggle
|
||
modules:
|
||
- badgy-condition-helper
|
||
badgy-condition-helper:
|
||
entity_badges:
|
||
'1':
|
||
entity: sensor.first_floor_lights_on
|
||
condition:
|
||
- condition: state
|
||
entity_id: light.first_floor_lights
|
||
state: 'on'
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.living_room_back_motion
|
||
name: State Color Button
|
||
show_state: true
|
||
tap_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: 2
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
state_color_button:
|
||
color: accent-color
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.security_faults
|
||
name: State Color Button Nav
|
||
show_state: true
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#security'
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#security'
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: 2
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
state_color_button:
|
||
color: error-color
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: binary_sensor.side_window_1
|
||
name: Contact Sensor Button
|
||
show_state: true
|
||
tap_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
button_action:
|
||
double_tap_action:
|
||
action: none
|
||
hold_action:
|
||
action: none
|
||
columns: 2
|
||
modules:
|
||
- default
|
||
- state_color_button
|
||
- get_state_attribute
|
||
state_color_button:
|
||
color: error-color
|
||
get_state_attribute:
|
||
- entity: binary_sensor.side_window_1
|
||
- entity: binary_sensor.side_window_1_tamper
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Popups
|
||
heading_style: title
|
||
icon: m3r:ad-group
|
||
- type: custom:streamline-card
|
||
template: main_button_name
|
||
variables:
|
||
name: Open Test Popup
|
||
icon: mdi:test-tube
|
||
navigation_path: '#testing'
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#testing'
|
||
button_type: name
|
||
name: Pop-up Testing
|
||
icon: mdi:test-tube
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:streamline-card
|
||
template: popup_temperature_button
|
||
variables:
|
||
entity: sensor.basement_studio_temperature
|
||
name: Popup Temp Button
|
||
hot_entity: binary_sensor.basement_studio_hot
|
||
cold_entity: binary_sensor.basement_studio_cold
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: custom:streamline-card
|
||
template: popup_timer_card
|
||
variables:
|
||
entity: timer.basement_studio_door_timer
|
||
name: Popup Timer Card
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Popup Development
|
||
heading_style: title
|
||
icon: m3r:add-ad
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: name
|
||
name: Open Dev Popup
|
||
icon: mdi:test-tube
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#testing-dev'
|
||
button_action:
|
||
tap_action:
|
||
action: navigate
|
||
navigation_path: '#testing-dev'
|
||
columns: 2
|
||
styles: |-
|
||
.bubble-button-background {
|
||
opacity: 1 !important;
|
||
background-color: var(--bubble-main-background-color) !important;
|
||
}
|
||
- type: vertical-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: pop-up
|
||
hash: '#testing-dev'
|
||
button_type: name
|
||
name: Pop-up Dev
|
||
icon: mdi:test-tube
|
||
- type: horizontal-stack
|
||
cards:
|
||
- type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: sensor.basement_studio_temperature
|
||
name: Popup Temp Button
|
||
show_attribute: false
|
||
modules:
|
||
- default
|
||
- popup_temperature_button
|
||
popup_temperature_button:
|
||
hot_entity: binary_sensor.basement_studio_hot
|
||
cold_entity: binary_sensor.basement_studio_cold
|
||
- type: custom:bubble-card
|
||
card_type: empty-column
|
||
- type: conditional
|
||
conditions:
|
||
- condition: state
|
||
entity: timer.basement_studio_door_timer
|
||
state_not: idle
|
||
card:
|
||
type: custom:bubble-card
|
||
card_type: button
|
||
button_type: state
|
||
entity: timer.basement_studio_door_timer
|
||
name: Popup Timer Button
|
||
icon: mdi:timer
|
||
sub_button:
|
||
- entity: timer.basement_studio_door_timer
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.start
|
||
target:
|
||
entity_id: timer.basement_studio_door_timer
|
||
name: Start
|
||
icon: mdi:play
|
||
visibility: []
|
||
- entity: timer.basement_studio_door_timer
|
||
name: Pause
|
||
icon: mdi:pause
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.pause
|
||
target:
|
||
entity_id: timer.basement_studio_door_timer
|
||
- entity: timer.basement_studio_door_timer
|
||
name: Cancel
|
||
icon: mdi:cancel
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.cancel
|
||
target:
|
||
entity_id: timer.basement_studio_door_timer
|
||
- entity: timer.basement_studio_door_timer
|
||
name: Finish
|
||
icon: mdi:clock-end
|
||
tap_action:
|
||
action: perform-action
|
||
perform_action: timer.finish
|
||
target:
|
||
entity_id: timer.basement_studio_door_timer
|
||
modules:
|
||
- default
|
||
- popup_timer_card
|
||
- type: grid
|
||
cards:
|
||
- type: heading
|
||
heading: Birthday Countdown Cards
|
||
heading_style: title
|
||
icon: mdi:calendar
|
||
- type: custom:timeflow-card
|
||
title: >-
|
||
{% set person_name = "Tony" %} {% set birth_year = 1988 %} {% set
|
||
birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
||
current_date = now() %} {% set this_year_birthday =
|
||
current_date.replace(month=birthday_month, day=birthday_day,
|
||
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
||
this_year_birthday %}
|
||
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
||
{% else %}
|
||
{% set next_birthday = this_year_birthday %}
|
||
{% endif %} {% set age = next_birthday.year - birth_year %} {{
|
||
person_name }}'s {{ age }}{{
|
||
'st' if age % 10 == 1 and age % 100 != 11 else
|
||
'nd' if age % 10 == 2 and age % 100 != 12 else
|
||
'rd' if age % 10 == 3 and age % 100 != 13 else
|
||
'th'
|
||
}} Birthday
|
||
target_date: >-
|
||
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
||
current_date = now() %} {% set this_year_birthday =
|
||
current_date.replace(month=birthday_month, day=birthday_day,
|
||
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
||
this_year_birthday %}
|
||
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
||
{% else %}
|
||
{% set next_birthday = this_year_birthday %}
|
||
{% endif %} {{ next_birthday.isoformat() }}
|
||
creation_date: >-
|
||
{% set current_date = now() %} {% set start_of_year =
|
||
current_date.replace(month=1, day=1, hour=0, minute=0, second=0,
|
||
microsecond=0) %} {{ start_of_year.isoformat() }}
|
||
show_days: true
|
||
show_hours: true
|
||
show_minutes: true
|
||
show_seconds: false
|
||
expired_text: Happy Birthday Tony! 🎉
|
||
color: >-
|
||
{% set birthday_month = 9 %} {% set birthday_day = 8 %} {% set
|
||
current_date = now() %} {% set this_year_birthday =
|
||
current_date.replace(month=birthday_month, day=birthday_day,
|
||
hour=0, minute=0, second=0, microsecond=0) %} {% if current_date >
|
||
this_year_birthday %}
|
||
{% set next_birthday = this_year_birthday.replace(year=this_year_birthday.year + 1) %}
|
||
{% else %}
|
||
{% set next_birthday = this_year_birthday %}
|
||
{% endif %} {% set days_until = (next_birthday -
|
||
current_date).days %} {% if days_until == 0 %}
|
||
#FF6B6B
|
||
{% elif days_until <= 7 %}
|
||
#4ECDC4
|
||
{% elif days_until <= 30 %}
|
||
#45B7D1
|
||
{% else %}
|
||
#96CEB4
|
||
{% endif %}
|
||
background_color: '#2C3150'
|
||
progress_color: '#D0CFCF'
|
||
aspect_ratio: 4/2
|
||
stroke_width: 6
|
||
card_mod:
|
||
style: |
|
||
ha-card .title {
|
||
font-size: 2.2rem;
|
||
}
|
||
ha-card .subtitle {
|
||
font-size: 2.0rem;
|
||
}
|
||
visibility:
|
||
- condition: numeric_state
|
||
entity: sensor.anniversary_tony_s_birthday
|
||
below: 8
|
||
header:
|
||
layout: responsive
|
||
badges_position: bottom
|
||
badges_wrap: wrap
|
||
card:
|
||
type: markdown
|
||
text_only: true
|
||
content: |-
|
||
# Hello {{ user }}
|
||
Add your text here, template variables are supported ✨
|
||
badges:
|
||
- type: custom:mushroom-template-badge
|
||
content: '{{ "Farts Activated" if is_state(entity,''on'') else "Farts Inactive" }}'
|
||
icon: mdi:test-tube
|
||
color: '{{ "red" if is_state(entity,''on'') else "green" }}'
|
||
entity: input_boolean.toggle_testing
|
||
label: '{{ state_attr(entity,''friendly_name'') }}'
|
||
tap_action:
|
||
action: toggle
|
||
hold_action:
|
||
action: more-info
|
||
double_tap_action:
|
||
action: none
|
||
title: ''
|