Compare commits
15 Commits
main_dash_
...
dev
Author | SHA1 | Date | |
---|---|---|---|
35f0394310
|
|||
91a328058f
|
|||
70eff59703
|
|||
1a4cc3503a
|
|||
60157b38ce
|
|||
8abe309085
|
|||
2fd2ad50cc
|
|||
33c92039ce
|
|||
f15b01da8e
|
|||
e2e554dcd5
|
|||
d16cd1afe9
|
|||
4e7306fb00
|
|||
fae4f18ab9
|
|||
3776b6e413
|
|||
9cd85f5b9f
|
@ -354,42 +354,148 @@ views:
|
||||
- entity: automation.family_has_left
|
||||
- entity: switch.presence_simulation
|
||||
- entity: binary_sensor.front_door
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.back_door
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.basement_studio_door
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.emma_bedroom_door
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.front_window_1
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.front_window_2
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.kitchen_big_window
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.living_room_front_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.downstairs_bathroom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.upstairs_bathroom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.stairwell_bottom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.emma_bedroom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.living_room_back_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.mud_room_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.basement_studio_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.stairwell_top_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.kallen_bedroom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.master_bedroom_motion
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: alarm_control_panel.nerdhome_alarm_panel
|
||||
name: Nerd Home Alarm
|
||||
state_map:
|
||||
disarmed: Disarmed
|
||||
armed_home: Armed Home
|
||||
armed_away: Armed Away
|
||||
- entity: binary_sensor.front_doorbell_ding_mqtt
|
||||
state_map:
|
||||
'on': Ringing
|
||||
'off': Clear
|
||||
- entity: binary_sensor.front_doorbell_motion_mqtt
|
||||
state_map:
|
||||
'on': Detected
|
||||
'off': Clear
|
||||
- entity: binary_sensor.stairway_window_lower
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.mud_room_window
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: input_boolean.lockdown_issue
|
||||
- entity: binary_sensor.front_window_3
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.side_window_1
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.side_window_2
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.side_window_3
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.side_window_4
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.back_window_1
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.back_window_2
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.kitchen_sink_window
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.downstairs_bathroom_window_1
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.downstairs_bathroom_window_2
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.stairway_window_upper
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: binary_sensor.upstairs_bathroom_window
|
||||
state_map:
|
||||
'on': Open
|
||||
'off': Closed
|
||||
- entity: sensor.living_room_windows_open
|
||||
name: Living Room Windows
|
||||
- type: grid
|
||||
@ -1386,6 +1492,9 @@ views:
|
||||
name: Wakeup Fade - Day
|
||||
- entity: input_number.wakeup_lights_fade_night
|
||||
name: Wakeup Fade - Night
|
||||
- entity: input_number.sunset_lights_outdoor_lux_threshold
|
||||
name: Sunset Lights Threshold
|
||||
- entity: input_boolean.sunset_lights_triggered
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
- type: entities
|
||||
|
@ -2969,6 +2969,16 @@ views:
|
||||
entities:
|
||||
- entity: input_select.front_porch_scenes
|
||||
show_header_toggle: false
|
||||
- type: glance
|
||||
show_name: true
|
||||
show_icon: true
|
||||
show_state: true
|
||||
state_color: true
|
||||
entities:
|
||||
- entity: sensor.home_tempest_temperature
|
||||
name: Temp
|
||||
- entity: sensor.home_tempest_illuminance
|
||||
name: Lux
|
||||
- type: glance
|
||||
show_name: true
|
||||
show_icon: true
|
||||
@ -6220,7 +6230,7 @@ views:
|
||||
entities:
|
||||
- entity: sensor.home_tempest_dew_point
|
||||
name: Dew Point
|
||||
- entity: sensor.home_pressure
|
||||
- entity: sensor.home_tempest_local_slp
|
||||
name: Barometric Pressure
|
||||
- entity: sensor.current_season
|
||||
icon: mdi:leaf
|
||||
@ -6270,227 +6280,276 @@ views:
|
||||
icon: mdi:weather-cloudy
|
||||
cards: []
|
||||
subview: true
|
||||
- title: weather-test
|
||||
- type: sections
|
||||
max_columns: 4
|
||||
title: Weather Test
|
||||
path: weather-test
|
||||
icon: mdi:weather-cloudy-alert
|
||||
visible:
|
||||
- user: c3909d27048140729f002aaef0391775
|
||||
cards:
|
||||
- type: custom:stack-in-card
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.iron_nerd_studios
|
||||
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:stack-in-card
|
||||
- type: heading
|
||||
heading: Iron Nerd Studios
|
||||
heading_style: title
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.iron_nerd_studios
|
||||
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:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.iron_nerd_studios
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.iron_nerd_studios_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.home
|
||||
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:stack-in-card
|
||||
- type: heading
|
||||
heading: Weather.com
|
||||
heading_style: title
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.home
|
||||
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:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: sensor.weather_com_daily_weather_forecast
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.iron_nerd_weather_station
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.kdfi_daynight
|
||||
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:stack-in-card
|
||||
- type: heading
|
||||
heading: National Weather Service
|
||||
heading_style: title
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.kdfi_daynight
|
||||
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:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.kdfi_daynight
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.kdfi_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.openweathermap
|
||||
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:stack-in-card
|
||||
- type: heading
|
||||
heading: OpenWeatherMap
|
||||
heading_style: title
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:clock-weather-card
|
||||
entity: weather.openweathermap
|
||||
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: heading
|
||||
icon: ''
|
||||
heading: Tomorrow.io
|
||||
heading_style: title
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.tomorrow_io_stratton_ave_daily
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.tomorrow_io_stratton_ave_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
- type: heading
|
||||
heading: Temperature
|
||||
heading_style: title
|
||||
- type: entities
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.iron_nerd_studios
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.iron_nerd_studios_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: custom:stack-in-card
|
||||
- entity: sensor.home_temperature
|
||||
- entity: sensor.home_temperature_feels_like
|
||||
- entity: sensor.pirateweather_temperature
|
||||
- entity: sensor.pirateweather_apparent_temperature
|
||||
- entity: sensor.openweathermap_temperature
|
||||
- entity: sensor.openweathermap_feels_like_temperature
|
||||
- entity: sensor.tomorrow_io_stratton_ave_feels_like
|
||||
- entity: sensor.kdfi_temperature
|
||||
- entity: sensor.kdfi_heat_index
|
||||
- entity: sensor.kdfi_wind_chill
|
||||
- entity: sensor.stratton_ave_apparent_temperature
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
- type: heading
|
||||
heading: Pressure
|
||||
heading_style: title
|
||||
- type: entities
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.kdfi_daynight
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.kdfi_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: custom:stack-in-card
|
||||
- entity: sensor.home_pressure
|
||||
- entity: sensor.kdfi_barometric_pressure
|
||||
- entity: sensor.kdfi_sea_level_pressure
|
||||
- entity: sensor.openweathermap_pressure
|
||||
- entity: sensor.pirateweather_pressure
|
||||
- entity: sensor.outside_pressure
|
||||
- entity: sensor.stratton_ave_pressure_tendency
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
- type: heading
|
||||
heading: Humidity
|
||||
heading_style: title
|
||||
- type: entities
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: weather.tomorrow_io_stratton_ave_daily
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.tomorrow_io_stratton_ave_hourly
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: custom:stack-in-card
|
||||
- entity: sensor.home_relative_humidity
|
||||
- entity: sensor.kdfi_relative_humidity
|
||||
- entity: sensor.pirateweather_humidity
|
||||
- entity: sensor.openweathermap_humidity
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
- type: grid
|
||||
cards:
|
||||
- type: custom:meteoalarm-card
|
||||
- type: heading
|
||||
heading: Wind
|
||||
heading_style: title
|
||||
- type: entities
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
entities:
|
||||
entity: sensor.weatheralerts
|
||||
integration: weatheralerts
|
||||
hide_when_no_warning: true
|
||||
- type: custom:weather-card
|
||||
entity: sensor.weather_com_daily_weather_forecast
|
||||
number_of_forecasts: '5'
|
||||
current: false
|
||||
details: false
|
||||
hourly_forecast: false
|
||||
- type: custom:hourly-weather
|
||||
entity: weather.iron_nerd_weather_station
|
||||
num_segments: 12
|
||||
name: null
|
||||
icons: true
|
||||
show_precipitation_probability: true
|
||||
show_precipitation_amounts: true
|
||||
show_wind: barb-and-speed
|
||||
- type: entities
|
||||
title: Temperature
|
||||
entities:
|
||||
- entity: sensor.home_temperature
|
||||
- entity: sensor.home_temperature_feels_like
|
||||
- entity: sensor.pirateweather_temperature
|
||||
- entity: sensor.pirateweather_apparent_temperature
|
||||
- entity: sensor.openweathermap_temperature
|
||||
- entity: sensor.openweathermap_feels_like_temperature
|
||||
- entity: sensor.tomorrow_io_stratton_ave_feels_like
|
||||
- entity: sensor.kdfi_temperature
|
||||
- entity: sensor.kdfi_heat_index
|
||||
- entity: sensor.kdfi_wind_chill
|
||||
- entity: sensor.stratton_ave_apparent_temperature
|
||||
- type: entities
|
||||
title: Pressure
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
entities:
|
||||
- entity: sensor.home_pressure
|
||||
- entity: sensor.kdfi_barometric_pressure
|
||||
- entity: sensor.kdfi_sea_level_pressure
|
||||
- entity: sensor.openweathermap_pressure
|
||||
- entity: sensor.pirateweather_pressure
|
||||
- entity: sensor.outside_pressure
|
||||
- entity: sensor.stratton_ave_pressure_tendency
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: sensor.home_relative_humidity
|
||||
- entity: sensor.kdfi_relative_humidity
|
||||
- entity: sensor.pirateweather_humidity
|
||||
- entity: sensor.openweathermap_humidity
|
||||
title: Humidity
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
- type: entities
|
||||
title: Wind Gust
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
entities:
|
||||
- entity: sensor.home_wind_speed
|
||||
- entity: sensor.home_wind_gust
|
||||
- entity: sensor.kdfi_wind_speed
|
||||
- entity: sensor.kdfi_wind_gust
|
||||
- entity: sensor.pirateweather_wind_speed
|
||||
- entity: sensor.pirateweather_wind_gust
|
||||
- entity: sensor.openweathermap_wind_speed
|
||||
- entity: sensor.tomorrow_io_stratton_ave_wind_gust
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: sensor.home_uv_index
|
||||
- entity: sensor.weatherapi_stratton_ave_uv_index
|
||||
- entity: sensor.stratton_ave_uv_index
|
||||
- entity: sensor.stratton_ave_uv_index_day_1
|
||||
- entity: sensor.stratton_ave_uv_index_day_2
|
||||
- entity: sensor.stratton_ave_uv_index_day_3
|
||||
- entity: sensor.stratton_ave_uv_index_day_4
|
||||
- entity: sensor.stratton_ave_uv_index_today
|
||||
- entity: sensor.pirateweather_uv_index
|
||||
- entity: sensor.openweathermap_uv_index
|
||||
title: UV Index
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
- entity: sensor.home_wind_speed
|
||||
- entity: sensor.home_wind_gust
|
||||
- entity: sensor.kdfi_wind_speed
|
||||
- entity: sensor.kdfi_wind_gust
|
||||
- entity: sensor.pirateweather_wind_speed
|
||||
- entity: sensor.pirateweather_wind_gust
|
||||
- entity: sensor.openweathermap_wind_speed
|
||||
- entity: sensor.tomorrow_io_stratton_ave_wind_gust
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: UV Index
|
||||
heading_style: title
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: sensor.home_uv_index
|
||||
- entity: sensor.weatherapi_stratton_ave_uv_index
|
||||
- entity: sensor.stratton_ave_uv_index
|
||||
- entity: sensor.stratton_ave_uv_index_day_1
|
||||
- entity: sensor.stratton_ave_uv_index_day_2
|
||||
- entity: sensor.stratton_ave_uv_index_day_3
|
||||
- entity: sensor.stratton_ave_uv_index_day_4
|
||||
- entity: sensor.stratton_ave_uv_index_today
|
||||
- entity: sensor.pirateweather_uv_index
|
||||
- entity: sensor.openweathermap_uv_index
|
||||
show_header_toggle: false
|
||||
state_color: true
|
||||
cards: []
|
||||
- title: Weather Comparisons
|
||||
path: weather-comparisons
|
||||
icon: mdi:cloud-clock
|
||||
@ -7076,3 +7135,209 @@ views:
|
||||
name: Sync Issue
|
||||
- entity: input_button.basement_led_strip_reset
|
||||
name: LED Strip Reset
|
||||
- type: sections
|
||||
max_columns: 4
|
||||
title: Temp
|
||||
path: temp
|
||||
icon: mdi:asterisk
|
||||
sections:
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Washer Controls
|
||||
heading_style: title
|
||||
icon: mdi:washing-machine
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: input_number.washer_cycle_length
|
||||
name: Cycle Length
|
||||
- entity: input_datetime.washer_finished
|
||||
name: Finished At
|
||||
- entity: input_boolean.washer_finished
|
||||
name: Cycle Finished
|
||||
secondary_info: Turn off after collecting laundry
|
||||
- type: custom:timer-bar-card
|
||||
filter: true
|
||||
show_empty: The washer is not currently running
|
||||
entities:
|
||||
- entity: timer.washer_timer
|
||||
sync_issues: ignore
|
||||
tap_action:
|
||||
action: none
|
||||
hold_action:
|
||||
action: more-info
|
||||
double_tap_action:
|
||||
action: none
|
||||
layout: hide_name
|
||||
modifications:
|
||||
- elapsed: 40%
|
||||
bar_foreground: orange
|
||||
- elapsed: 80%
|
||||
bar_foreground: red
|
||||
- type: custom:stack-in-card
|
||||
mode: horizontal
|
||||
cards:
|
||||
- type: custom:button-card
|
||||
entity: timer.washer_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: Start
|
||||
icon: mdi:play
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: button.press
|
||||
service_data:
|
||||
entity_id: button.washer_start
|
||||
hold_action:
|
||||
action: more-info
|
||||
entity: timer.washer_timer
|
||||
- type: custom:button-card
|
||||
entity: timer.washer_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: button.press
|
||||
service_data:
|
||||
entity_id: button.washer_cancel
|
||||
hold_action:
|
||||
action: more-info
|
||||
entity: timer.washer_timer
|
||||
- type: grid
|
||||
cards:
|
||||
- type: heading
|
||||
heading: Dryer Controls
|
||||
heading_style: title
|
||||
icon: mdi:tumble-dryer
|
||||
- type: custom:stack-in-card
|
||||
cards:
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: input_number.dryer_cycle_length
|
||||
name: Cycle Length
|
||||
- entity: input_datetime.dryer_finished
|
||||
name: Finished At
|
||||
- entity: input_boolean.dryer_finished
|
||||
name: Cycle Finished
|
||||
secondary_info: Turn off after collecting laundry
|
||||
- type: custom:timer-bar-card
|
||||
filter: true
|
||||
show_empty: The dryer is not currently running
|
||||
entities:
|
||||
- entity: timer.dryer_timer
|
||||
sync_issues: ignore
|
||||
tap_action:
|
||||
action: none
|
||||
hold_action:
|
||||
action: more-info
|
||||
double_tap_action:
|
||||
action: none
|
||||
layout: hide_name
|
||||
modifications:
|
||||
- elapsed: 40%
|
||||
bar_foreground: orange
|
||||
- elapsed: 80%
|
||||
bar_foreground: red
|
||||
- type: custom:stack-in-card
|
||||
mode: horizontal
|
||||
cards:
|
||||
- type: custom:button-card
|
||||
entity: timer.dryer_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: Start
|
||||
icon: mdi:play
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: button.press
|
||||
service_data:
|
||||
entity_id: button.dryer_start
|
||||
hold_action:
|
||||
action: more-info
|
||||
entity: timer.dryer_timer
|
||||
- type: custom:button-card
|
||||
entity: timer.dryer_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: button.press
|
||||
service_data:
|
||||
entity_id: button.dryer_cancel
|
||||
hold_action:
|
||||
action: more-info
|
||||
entity: timer.dryer_timer
|
||||
|
@ -25,17 +25,10 @@ streamline_templates:
|
||||
action: none
|
||||
hold_action:
|
||||
action: more-info
|
||||
styles: |-
|
||||
.is-unavailable {
|
||||
opacity: 0.5 !important;
|
||||
}
|
||||
.bubble-button-background {
|
||||
opacity: 1 !important;
|
||||
background-color: ${state === 'on' ? 'var(--error-color)' : 'var(--bubble-main-background-color)'} !important;
|
||||
transition: background-color 1s !important;
|
||||
}
|
||||
show_state: false
|
||||
columns: '[[columns]]'
|
||||
modules:
|
||||
- main_button_state_red
|
||||
main_button_name:
|
||||
default:
|
||||
- name: ''
|
||||
@ -94,30 +87,6 @@ streamline_templates:
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: '[[navigation_path]]'
|
||||
styles_javascript: |
|
||||
const occupancy = states['[[occupancy_entity]]'].state;
|
||||
const hot = states['[[hot_entity]]'].state;
|
||||
const cold = states['[[cold_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: ${
|
||||
hot === 'on' ? 'var(--error-color)' : cold === 'on' ? 'var(--purple-color)' : occupancy === 'on' ? 'var(--accent-color)' : 'var(--bubble-main-background-color)'
|
||||
} !important;
|
||||
}
|
||||
`;
|
||||
sub_button:
|
||||
- entity: '[[temp_entity]]'
|
||||
name: Temp
|
||||
@ -137,11 +106,16 @@ streamline_templates:
|
||||
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: ''
|
||||
@ -173,28 +147,6 @@ streamline_templates:
|
||||
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
|
||||
@ -214,11 +166,14 @@ streamline_templates:
|
||||
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: ''
|
||||
@ -259,15 +214,9 @@ streamline_templates:
|
||||
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;
|
||||
}
|
||||
modules:
|
||||
- default
|
||||
- popup_security_button
|
||||
popup_accent_color_button:
|
||||
defaults:
|
||||
- name: ''
|
||||
@ -289,14 +238,14 @@ streamline_templates:
|
||||
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
|
||||
- popup_accent_color_button
|
||||
popup_temperature_button:
|
||||
defaults:
|
||||
- name: ''
|
||||
- hot_entity: ''
|
||||
- cold_entity: ''
|
||||
card:
|
||||
type: custom:bubble-card
|
||||
card_type: button
|
||||
@ -304,15 +253,12 @@ streamline_templates:
|
||||
entity: '[[entity]]'
|
||||
name: '[[name]]'
|
||||
show_attribute: false
|
||||
styles: |
|
||||
.is-unavailable {
|
||||
opacity: 0.5 !important;
|
||||
}
|
||||
.bubble-button-background {
|
||||
opacity: 1 !important;
|
||||
background-color: ${hass.states['[[hot_entity]]'].state === 'on' ? 'var(--error-color)' : 'var(--background-color-2)'} !important;
|
||||
transition: background-color 1s !important;
|
||||
}
|
||||
modules:
|
||||
- default
|
||||
- popup_temperature_button
|
||||
popup_temperature_button:
|
||||
hot_entity: '[[hot_entity]]'
|
||||
cold_entity: '[[cold_entity]]'
|
||||
popup_timer_card:
|
||||
defaults:
|
||||
name: ''
|
||||
@ -364,99 +310,9 @@ streamline_templates:
|
||||
perform_action: timer.finish
|
||||
target:
|
||||
entity_id: '[[entity]]'
|
||||
styles: |
|
||||
:host{
|
||||
--circle-color: var(--bubble-accent-color, var(--accent-color));
|
||||
--percentage: ${(() => {
|
||||
card.timerEntity = hass.states[entity];
|
||||
const now = new Date();
|
||||
const endTime = new Date(card.timerEntity.attributes.finishes_at);
|
||||
const runningTime = Math.round((endTime - now) / 1000);
|
||||
const maxtime = Math.round(new Date("1970-01-01 " + card.timerEntity.attributes.duration + " UTC") / 1000);
|
||||
const remainingTime = Math.round(new Date("1970-01-01 " + card.timerEntity.attributes.remaining + " UTC") / 1000);
|
||||
|
||||
var percentage = 0;
|
||||
if (isNaN(runningTime)) {
|
||||
percentage = 100 - Math.round( 100.0 * remainingTime / maxtime);
|
||||
} else {
|
||||
percentage = 100 - Math.round( 100.0 * runningTime / maxtime);
|
||||
}
|
||||
|
||||
if (isNaN(percentage)) {
|
||||
return "0%";
|
||||
} else {
|
||||
return "" + percentage +"%";
|
||||
}
|
||||
})()};
|
||||
}
|
||||
.bubble-icon-container {
|
||||
background: radial-gradient(
|
||||
var(--card-background-color) 60%,
|
||||
transparent 0%
|
||||
), conic-gradient(
|
||||
var(--circle-color) var(--percentage) 0%,
|
||||
var(--card-background-color) 0% 100%
|
||||
) !important;
|
||||
}
|
||||
.bubble-icon-container:after {
|
||||
content: "" !important;
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
position: absolute !important;
|
||||
border-radius: 50% !important;
|
||||
background: (var(--bubble-button-icon-background-color), 0.1) !important;
|
||||
}
|
||||
${(() => {
|
||||
function UpdateState(){
|
||||
try {
|
||||
let now = new Date();
|
||||
let endTime = new Date(card.timerEntity.attributes.finishes_at);
|
||||
let runningTime = Math.round((endTime - now)/1000);
|
||||
let hours = Math.floor(runningTime / 3600);
|
||||
let minutes = Math.floor((runningTime - (hours * 3600)) / 60);
|
||||
let remainingSeconds = runningTime % 60;
|
||||
|
||||
card.querySelector('.bubble-state').innerText =
|
||||
(hours > 0 ? (hours + ":") : "") +
|
||||
("0" + minutes).slice(-2) + ":" +
|
||||
("0" + remainingSeconds).slice(-2);
|
||||
|
||||
} catch (error) {
|
||||
card.querySelector('.bubble-state').innerText = card.timerEntity.attributes.duration;
|
||||
}
|
||||
};
|
||||
|
||||
if (card.timer == null && card.timerEntity.state === 'active') {
|
||||
card.timer = setInterval(()=>{UpdateState()}, 500);
|
||||
}else if (card.timerEntity.state != 'active'){
|
||||
clearInterval(card.timer);
|
||||
card.timer = null;
|
||||
if (card.timerEntity.state !='paused') {
|
||||
card.querySelector('.bubble-state').innerText = card.timerEntity.attributes.duration;
|
||||
} else if(card.timerEntity.state==='paused') {
|
||||
card.querySelector('.bubble-state').innerText = card.timerEntity.attributes.remaining;
|
||||
}
|
||||
}
|
||||
})()}
|
||||
|
||||
${(() => {
|
||||
subButtonIcon[0].setAttribute("icon",card.timerEntity.state != 'active' ?'mdi:play' : 'mdi:replay');
|
||||
})()}
|
||||
${(() => {
|
||||
if (card.timerEntity.state != 'active') {
|
||||
card.querySelector('.bubble-sub-button-2').classList.add("hidden");
|
||||
}
|
||||
})()}
|
||||
${(() => {
|
||||
if (card.timerEntity.state === 'idle') {
|
||||
card.querySelector('.bubble-sub-button-3').classList.add("hidden");
|
||||
}
|
||||
})()}
|
||||
${(() => {
|
||||
if (card.timerEntity.state === 'idle') {
|
||||
card.querySelector('.bubble-sub-button-4').classList.add("hidden");
|
||||
}
|
||||
})()}
|
||||
modules:
|
||||
- default
|
||||
- popup_timer_card
|
||||
views:
|
||||
- title: Home
|
||||
path: home
|
||||
@ -1272,6 +1128,8 @@ views:
|
||||
action: toggle
|
||||
icon: mdi:palette
|
||||
styles: ''
|
||||
modules:
|
||||
- default
|
||||
- type: custom:bubble-card
|
||||
card_type: separator
|
||||
name: Lights
|
||||
@ -1454,6 +1312,9 @@ views:
|
||||
button_action:
|
||||
double_tap_action:
|
||||
action: none
|
||||
button_type: switch
|
||||
modules:
|
||||
- default
|
||||
- type: custom:bubble-card
|
||||
card_type: button
|
||||
button_type: switch
|
||||
@ -1485,8 +1346,26 @@ views:
|
||||
button_action:
|
||||
double_tap_action:
|
||||
action: none
|
||||
button_type: switch
|
||||
modules:
|
||||
- default
|
||||
- type: custom:bubble-card
|
||||
card_type: empty-column
|
||||
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
|
||||
@ -1521,8 +1400,8 @@ views:
|
||||
- type: custom:streamline-card
|
||||
template: popup_accent_color_button
|
||||
variables:
|
||||
- name: Motion
|
||||
- entity: binary_sensor.basement_studio_motion
|
||||
name: Motion
|
||||
entity: binary_sensor.basement_studio_motion
|
||||
- type: custom:streamline-card
|
||||
template: popup_accent_color_button
|
||||
variables:
|
||||
@ -3706,7 +3585,14 @@ views:
|
||||
entity: binary_sensor.lightning_warning
|
||||
state: 'on'
|
||||
- type: custom:mushroom-template-badge
|
||||
content: It is currently raining!
|
||||
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: |-
|
||||
{% if is_state('binary_sensor.raining','on') %}
|
||||
@ -3786,6 +3672,22 @@ views:
|
||||
- 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') %}
|
||||
@ -4078,6 +3980,22 @@ views:
|
||||
- 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
|
||||
@ -5925,4 +5843,17 @@ views:
|
||||
cards: []
|
||||
badges: []
|
||||
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: New section
|
||||
title: ''
|
||||
|
Reference in New Issue
Block a user