16 Commits

Author SHA1 Message Date
5f328a0f19 Fix battery cards on admin and mobile dashboards 2025-05-18 05:54:28 -04:00
15fd29da7f Add front porch lux threshold on main dashboard 2025-05-15 18:19:53 -04:00
ff7f575207 Use Tempest rainfall sensor in home feed card on main dashboard 2025-05-15 18:19:35 -04:00
64d746056d Use Tempest lightning data over Blitzortung on Lightning Warning chip 2025-05-15 06:18:17 -04:00
bbdbe03632 Add outdoor illuminance to front porch popup card 2025-05-15 06:17:34 -04:00
76311304ba Use outdoor card template for front porch 2025-05-15 06:17:11 -04:00
26024fe403 Add streamline card template for outdoor "floor" cards 2025-05-15 06:16:39 -04:00
b4d5551291 Make use of some weather station data on the main dashboard 2025-05-15 04:07:21 -04:00
0a4b7c1bd4 Add weather station battery to mobile dashboard battery card 2025-05-15 04:06:56 -04:00
85b0d872c6 Add Blitzortung map in place of HA map for lightning 2025-05-14 16:49:22 -04:00
d13f2dc8ba School status widget for mobile dashboard
home_automation/Home-Assistant-Configs#245
2025-05-14 16:49:21 -04:00
e6036f1400 Add weather info to calendar card pro on main dashboard 2025-05-13 23:57:01 -04:00
a5fecc9af0 Switch bubble calendar card to Calendar Card Pro on mobile dashboard 2025-05-13 23:55:38 -04:00
58d97c4a0c Switch calendar cards on main dashboard
From Atomic Calendar Revive to Calendar Card Pro
2025-05-09 01:43:50 -04:00
9efe2d9810 Remove icon styling from mobile dashboard 2025-05-08 22:19:15 -04:00
2450205623 Improve mobile calendar card, reorder cameras above calendar 2025-05-08 21:48:35 -04:00
3 changed files with 272 additions and 396 deletions

View File

@ -405,6 +405,8 @@ views:
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}%

View File

@ -342,48 +342,53 @@ views:
heading: Family Calendar
heading_style: title
icon: mdi:calendar
- type: custom:atomic-calendar-revive
enableModeChange: true
firstDayOfWeek: 1
maxDaysToShow: 7
refreshInterval: 15
entities:
- calendar.family
- calendar.kallen_school_days
- calendar.tony_s_twitch_schedule
- 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
showLoader: true
hideFinishedEvents: true
showRelativeTime: false
showDate: true
sortByStartTime: true
showLocation: true
hideDuplicates: false
noEventText: Nothing scheduled for today!
showCurrentEventLine: false
showMonth: false
showProgressBar: true
showWeekDay: true
disableEventLink: false
showNoEventsForToday: true
showEventIcon: false
showFullDayProgress: false
showLastCalendarWeek: false
disableCalEventLink: false
disableCalLocationLink: false
showTimeRemaining: true
showAllDayEvents: true
hoursOnSameLine: false
showMultiDayEventParts: false
showMultiDay: false
showDescription: false
disableLocationLink: false
showCalendarName: false
showAllDayHours: true
disableCalLink: false
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
today_weekday_color: ''
today_day_color: ''
today_month_color: ''
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_studios
type: custom:calendar-card-pro
- type: grid
cards:
- type: heading
@ -463,13 +468,8 @@ views:
'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: sensor.home_tempest_precipitation_type
name: Precipitation Type
- entity: input_boolean.recliner_mode
- entity: timer.washer_timer
state_map:
@ -3011,6 +3011,8 @@ views:
name: Day Colortemp
- entity: input_number.nighttime_colortemp_front_porch
name: Night Colortemp
- entity: input_number.front_porch_lux_threshold
name: Lux Threshold
- entity: input_number.front_porch_motion_off_delay
name: Lights Off Delay
max_columns: 4
@ -5958,10 +5960,13 @@ views:
entity: sensor.blitzortung_lightning_counter
name: Strike Counter
state_color: false
- type: map
geo_location_sources:
- blitzortung
dark_mode: true
- type: iframe
url: >-
https://map.blitzortung.org/index.php?interactive=1&Advertisment=0&Cookies=1&InfoDiv=1&MapStyle=1&LightningRangeValue=23&LightningCheckboxChecked=1&CirclesRangeValue=3&CirclesCheckboxChecked=1&LinksRangeValue=10&LinksCheckboxChecked=1&DetectorsRangeValue=15&DetectorsCheckboxChecked=1#8.50/41.28/-84.38
aspect_ratio: 100%
grid_options:
columns: full
rows: 8
visibility:
- condition: numeric_state
entity: sensor.blitzortung_lightning_counter
@ -5994,7 +5999,7 @@ views:
- type: heading
heading: Forecasts
- type: custom:weather-chart-card
entity: weather.home
entity: weather.iron_nerd_weather_station
show_main: true
show_temperature: true
show_current_condition: true
@ -6030,9 +6035,7 @@ views:
units:
pressure: ''
speed: ''
press: sensor.home_pressure
uv: sensor.home_uv_index
dew_point: sensor.home_dewpoint
show_wind_gust_speed: true
show_last_changed: true
- type: custom:weather-chart-card
@ -6075,12 +6078,12 @@ views:
heading: Temperature
- type: custom:mini-graph-card
entities:
- sensor.home_temperature
- sensor.home_tempest_temperature
name: Temperature (24h)
points_per_hour: 1
- type: custom:mini-graph-card
entities:
- sensor.home_temperature_feels_like
- sensor.home_tempest_feels_like
name: Feels Like (24h)
points_per_hour: 1
- type: custom:comfortable-environment-card
@ -6202,18 +6205,18 @@ views:
- entity: sensor.home_wind_gust
name: Gust
format: precision1
- entity: sensor.home_relative_humidity
- entity: sensor.home_tempest_humidity
type: custom:multiple-entity-row
name: Moisture
state_header: Humidity
entities:
- entity: sensor.home_dewpoint
- entity: sensor.home_tempest_dew_point
name: Dew Point
- entity: sensor.home_pressure
name: Barometric Pressure
- entity: sensor.current_season
icon: mdi:leaf
- entity: sensor.home_uv_index
- entity: sensor.home_tempest_uv_index
name: UV Index
- entity: sensor.pirateweather_cloud_coverage
name: Cloud Coverage
@ -6254,7 +6257,7 @@ views:
text_width: 5em
bar_radius: 4px
- type: custom:uv-index-card
entity: sensor.home_uv_index
entity: sensor.home_tempest_uv_index
max_columns: 4
icon: mdi:weather-cloudy
cards: []
@ -6716,42 +6719,42 @@ views:
heading: General Stats
- type: entities
entities:
- entity: sensor.home_temperature
- entity: sensor.home_tempest_temperature
type: custom:multiple-entity-row
name: Temperature
state_header: Defiance
entities:
- entity: sensor.ashland_temperature
name: Ashland
- entity: sensor.home_temperature_feels_like
- entity: sensor.home_tempest_feels_like
type: custom:multiple-entity-row
name: Feels Like
state_header: Defiance
entities:
- entity: sensor.ashland_temperature_feels_like
name: Ashland
- entity: sensor.home_relative_humidity
- entity: sensor.home_tempest_humidity
type: custom:multiple-entity-row
name: Humidity
state_header: Defiance
entities:
- entity: sensor.ashland_relative_humidity
name: Ashland
- entity: sensor.home_dewpoint
- entity: sensor.home_tempest_dew_point
type: custom:multiple-entity-row
name: Dew Point
state_header: Defiance
entities:
- entity: sensor.ashland_dewpoint
name: Ashland
- entity: sensor.home_pressure
- entity: sensor.home_tempest_cloud_sensors_sea_level_pressure
type: custom:multiple-entity-row
name: Pressure
state_header: Defiance
entities:
- entity: sensor.ashland_pressure
name: Ashland
- entity: sensor.pirateweather_uv_index
- entity: sensor.home_tempest_uv_index
type: custom:multiple-entity-row
name: UV Index
state_header: Defiance
@ -6765,7 +6768,7 @@ views:
entities:
- entity: sensor.pirateweather_ashland_cloud_coverage
name: Ashland
- entity: sensor.kdfi_visibility
- entity: sensor.home_tempest_cloud_sensors_visibility
type: custom:multiple-entity-row
name: Visibility
state_header: Defiance

View File

@ -34,20 +34,6 @@ streamline_templates:
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--bubble-main-background-color)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
show_state: false
columns: '[[columns]]'
main_button_name:
@ -123,24 +109,6 @@ streamline_templates:
} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${
occupancy === 'on' ? 'var(--accent-color)' : 'var(--card-background-color)'
} !important;
}
.bubble-icon-container::after {
opacity: ${
occupancy === 'on' ? 0.3 : 0
} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
.bubble-sub-button {
background: transparent
}
@ -174,6 +142,83 @@ streamline_templates:
elements:
sub_buttons:
- 1
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]]'
styles_javascript: |
const occupancy = states['[[occupancy_entity]]'].state;
return `
.is-unavailable {
opacity: 0.5 !important;
}
.bubble-button-background {
opacity: 1 !important;
background-color: ${
occupancy === 'on' ? 'var(--accent-color)' : 'var(--bubble-main-background-color)'
} !important;
transition: background-color 1s !important;
}
.bubble-sub-button {
background: transparent
}
.bubble-sub-button-1 {
background-color: ${
occupancy === 'on' ? 'var(--accent-color)' : 'var(--bubble-main-background-color)'
} !important;
}
`;
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
temperature_colouring:
temperature_sensor: '[[temp_entity]]'
elements:
sub_buttons:
- 1
floors_separator:
defaults:
- name: ''
@ -223,20 +268,6 @@ streamline_templates:
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
popup_accent_color_button:
defaults:
- name: ''
@ -263,9 +294,6 @@ streamline_templates:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--accent-color)' : 'var(--text-color)'} !important;
}
popup_temperature_button:
defaults:
- name: ''
@ -285,13 +313,6 @@ streamline_templates:
background-color: ${hass.states['[[hot_entity]]'].state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${hass.states['[[hot_entity]]'].state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${hass.states['[[hot_entity]]'].state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
popup_timer_card:
defaults:
name: ''
@ -492,19 +513,6 @@ views:
layout: vertical
icon_type: entity-picture
fill_container: false
- type: heading
icon: mdi:calendar
heading: Calendar
heading_style: title
- type: custom:bubble-card
card_type: calendar
modules:
- default
entities:
- entity: calendar.family
color: '#608414'
show_end: true
show_progress: true
- type: heading
icon: mdi:cctv
heading: Cameras
@ -529,6 +537,54 @@ views:
- 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
@ -608,38 +664,6 @@ views:
!important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background:
{% 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(--card-background-color)
{% elif feeding_reminders < 3 and cleaning_reminders < 3 %}
var(--warning-color)
{% else %}
var(--error-color)
{% endif %}
!important;
}
.bubble-icon-container::after {
opacity:
{% 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 or cleaning_reminders > 0 %}
0.3
{% else %}
0
{% endif %}
!important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
- type: custom:streamline-card
template: main_button_name
variables:
@ -755,46 +779,6 @@ views:
!important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background:
{% set counters = states.counter
| selectattr('entity_id','contains','tony')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters == 0 %}
var(--card-background-color)
{% elif counters < 3 %}
var(--warning-color)
{% else %}
var(--error-color)
{% endif %}
!important;
}
.bubble-icon-container::after {
opacity:
{% set counters = states.counter
| selectattr('entity_id','contains','tony')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters > 0 %}
0.3
{% else %}
0
{% endif %}
!important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
visibility:
- condition: user
users:
@ -838,46 +822,6 @@ views:
!important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background:
{% set counters = states.counter
| selectattr('entity_id','contains','tina')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters == 0 %}
var(--card-background-color)
{% elif counters < 3 %}
var(--warning-color)
{% else %}
var(--error-color)
{% endif %}
!important;
}
.bubble-icon-container::after {
opacity:
{% set counters = states.counter
| selectattr('entity_id','contains','tina')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters > 0 %}
0.3
{% else %}
0
{% endif %}
!important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
visibility:
- condition: user
users:
@ -929,46 +873,6 @@ views:
!important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background:
{% set counters = states.counter
| selectattr('entity_id','contains','kallen')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters == 0 %}
var(--card-background-color)
{% elif counters < 3 %}
var(--warning-color)
{% else %}
var(--error-color)
{% endif %}
!important;
}
.bubble-icon-container::after {
opacity:
{% set counters = states.counter
| selectattr('entity_id','contains','kallen')
| selectattr('entity_id','contains','meds')
| map(attribute='state')
| max
| int %}
{% if counters > 0 %}
0.3
{% else %}
0
{% endif %}
!important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
- type: custom:bubble-card
card_type: button
button_type: name
@ -1036,54 +940,15 @@ views:
- icon: hue:room-outdoors
- power_entity: sensor.outside_lights_power_sensor
- lights_entity: light.outside_lights
- type: custom:bubble-card
card_type: button
button_type: state
entity: binary_sensor.front_doorbell_motion_mqtt
name: Front Porch
icon: hue:room-porch
show_state: false
double_tap_action:
action: none
hold_action:
action: none
button_action:
double_tap_action:
action: none
hold_action:
action: none
tap_action:
action: navigate
navigation_path: '#front-porch'
styles: |-
.is-unavailable {
opacity: 0.5 !important;
}
.bubble-button-background {
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--bubble-main-background-color)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--accent-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
tap_action:
action: navigate
navigation_path: '#front-porch'
sub_button: []
modules:
- default
- 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:
@ -1300,9 +1165,6 @@ views:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--accent-color)' : 'var(--text-color)'} !important;
}
modules:
- default
entity: switch.front_porch_storm_mode
@ -1338,9 +1200,6 @@ views:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--accent-color)' : 'var(--text-color)'} !important;
}
modules:
- default
- type: custom:bubble-card
@ -1362,14 +1221,24 @@ views:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--success-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--success-color)' : 'var(--text-color)'} !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
name: Lights Timer
entity: timer.front_porch_motion_timer
- type: vertical-stack
cards:
- type: custom:bubble-card
@ -2662,9 +2531,6 @@ views:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--accent-color)' : 'var(--text-color)'} !important;
}
- type: custom:bubble-card
card_type: button
button_type: state
@ -2689,20 +2555,6 @@ views:
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
- type: horizontal-stack
cards:
- type: custom:bubble-card
@ -3065,9 +2917,6 @@ views:
opacity: 1 !important;
background-color: ${state === 'on' ? 'var(--accent-color)' : 'var(--background-color-2)'} !important;
}
.bubble-icon {
color: ${state === 'on' ? 'var(--accent-color)' : 'var(--text-color)'} !important;
}
- type: custom:bubble-card
card_type: button
button_type: state
@ -3092,20 +2941,6 @@ views:
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
- type: conditional
conditions:
- condition: state
@ -3236,20 +3071,6 @@ views:
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
transition: background-color 1s !important;
}
.bubble-icon-container {
background: ${state === 'on' ? 'var(--error-color)' : 'var(--card-background-color)'} !important;
}
.bubble-icon-container::after {
opacity: ${state === 'on' ? 0.3 : 0} !important;
transition: all 1s !important;
}
.bubble-icon {
display: flex !important;
opacity: 0.5 !important;
}
.is-on .bubble-icon {
opacity: 1 !important;
}
- type: custom:bubble-card
card_type: separator
name: Doors
@ -3504,6 +3325,8 @@ views:
button_type: name
name: Batteries
icon: mdi:battery-charging
modules:
- default
- type: custom:battery-state-card
sort_by_level: asc
bulk_rename:
@ -3513,6 +3336,8 @@ views:
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}%
@ -3521,7 +3346,7 @@ views:
- sensor.front_door_battery
- sensor.back_door_battery
- sensor.basement_studio_door_battery
- sensor.downstairs_bathroom_door_battery
- sensor.emma_bedroom_door_battery
- name: 'Window Sensors (min: {min}%, count: {count})'
secondary_info: Battery levels {range}%
icon: mdi:window-closed
@ -3864,8 +3689,9 @@ views:
state: 'on'
- type: custom:mushroom-template-badge
content: >-
{{ states('sensor.blitzortung_lightning_counter') }} lightning strikes
nearby!
{{
states('sensor.home_tempest_cloud_sensors_lightning_strikes_last_hour')
}} strikes in last hour!
icon: mdi:lightning-bolt
color: |-
{% if is_state('binary_sensor.lightning_warning','on') %}
@ -3960,6 +3786,51 @@ views:
- condition: state
entity: binary_sensor.emma_bedroom_door
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') %}
red
{% elif is_state('input_boolean.two_hour_delay','on') %}
yellow
{% else %}
green
{% 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: |-
{% if is_state(entity,'on') %}