mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 10:30:14 -04:00
850 lines
38 KiB
YAML
850 lines
38 KiB
YAML
title: HA Floorplan
|
|
path: ha-floorplan
|
|
icon: mdi:floor-plan
|
|
panel: true
|
|
cards:
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:floorplan-card
|
|
config:
|
|
image: /local/floorplan/fullsized_floorplan.svg
|
|
# image:
|
|
# location: /local/floorplan/fullsized_floorplan.svg
|
|
# cache: false
|
|
stylesheet: /local/floorplan/floorplan.css
|
|
# log_level: debug
|
|
# console_log_level: debug
|
|
defaults:
|
|
hover_action: hover-info
|
|
hover_info_filter:
|
|
- min_mireds
|
|
- max_mireds
|
|
- icon
|
|
- order
|
|
- color_mode
|
|
tap_action: more-info
|
|
rules:
|
|
- entities:
|
|
- fan.master_bedroom_fan_light_switch_fan
|
|
- fan.girls_room_fan_light_switch_fan
|
|
states:
|
|
- state: "on"
|
|
class: spinning-fan
|
|
|
|
- entities:
|
|
- sensor.hvac_action
|
|
states:
|
|
- state: heating
|
|
class: hvac-heating
|
|
- state: cooling
|
|
class: hvac-cooling
|
|
- state: fan
|
|
class: hvac-fan
|
|
- state: idle
|
|
class: hvac-idle
|
|
|
|
- entities:
|
|
- input_boolean.entryway_occupied
|
|
- input_boolean.front_room_occupied
|
|
- input_boolean.dining_room_occupied
|
|
- input_boolean.kitchen_occupied
|
|
- input_boolean.girls_room_occupied
|
|
- input_boolean.girls_room_closet_occupied
|
|
- input_boolean.bedroom_occupied
|
|
- input_boolean.bathroom_occupied
|
|
- input_boolean.bedroom_closet_occupied
|
|
- input_boolean.garage_occupied
|
|
- input_boolean.computer_area_occupied
|
|
- input_boolean.great_room_occupied
|
|
- input_boolean.boys_room_occupied
|
|
- input_boolean.mancave_occupied
|
|
- input_boolean.utility_room_occupied
|
|
- input_boolean.deck_occupied
|
|
- input_boolean.front_porch_occupied
|
|
- input_boolean.furnace_room_occupied
|
|
- input_boolean.deck_occupied
|
|
|
|
states:
|
|
- state: "on"
|
|
class: room-occupied
|
|
- state: "off"
|
|
class: room-empty
|
|
action:
|
|
domain: homeassistant
|
|
service: homeassistant.toggle
|
|
|
|
- entities:
|
|
- sensor.general_waste
|
|
states:
|
|
- state: "today"
|
|
class: bin-today
|
|
- state: "tomorrow"
|
|
class: bin-tomorrow
|
|
- state: "future"
|
|
class: bin-future
|
|
- state: "false"
|
|
class: bin-false
|
|
|
|
- entities:
|
|
- binary_sensor.furnace_room_water_sensor_leak
|
|
states:
|
|
- state: "on"
|
|
class: water-wet
|
|
- state: "off"
|
|
class: water-dry
|
|
|
|
- entities:
|
|
- binary_sensor.gray_suv_east_side
|
|
- binary_sensor.gray_suv_west_side
|
|
states:
|
|
- state: "on"
|
|
class: "suv-home"
|
|
- state: "off"
|
|
class: "hidden-entity"
|
|
|
|
- entities:
|
|
# - plant.plant_sensor_cea4
|
|
# - plant.plant_sensor_3eae
|
|
- plant.hasta_soil_sensor
|
|
- plant.daisy_soil_sensor
|
|
# - plant.plant_sensor_3eb0
|
|
states:
|
|
- state: "problem"
|
|
class: "health-warning"
|
|
- state: "ok"
|
|
class: "health-good"
|
|
tap_action:
|
|
action: navigate
|
|
navigation_path: /phone-yaml/plants
|
|
|
|
- entities:
|
|
- binary_sensor.black_bed_occupied
|
|
- binary_sensor.white_bed_occupied
|
|
- binary_sensor.master_bed_left_occupied
|
|
- binary_sensor.master_bed_right_occupied
|
|
- binary_sensor.computer_area_person_occupancy
|
|
- binary_sensor.dining_room_person_occupancy
|
|
- binary_sensor.entryway_person_occupancy
|
|
- binary_sensor.front_porch_person_occupancy
|
|
- binary_sensor.front_room_person_occupancy
|
|
- binary_sensor.walkway_person_occupancy
|
|
- binary_sensor.workshop_person_occupancy
|
|
- binary_sensor.great_room_person_occupancy
|
|
- binary_sensor.kitchen_person_occupancy
|
|
- binary_sensor.master_bedroom_person_occupancy
|
|
- binary_sensor.downstairs_person_occupancy
|
|
- binary_sensor.upstairs_person_occupancy
|
|
- binary_sensor.girls_room_person_occupancy
|
|
- binary_sensor.utility_room_person_occupancy
|
|
- binary_sensor.utility_room_person_occupancy
|
|
- binary_sensor.boys_room_person_occupancy
|
|
- binary_sensor.furnace_room_person_occupancy
|
|
- binary_sensor.driveway_vehicle_occupancy
|
|
states:
|
|
- state: "on"
|
|
class: "visible-entity"
|
|
- state: "off"
|
|
class: "hidden-entity"
|
|
- state: "unavailable"
|
|
class: "transparent"
|
|
|
|
- entities:
|
|
- sensor.thermal_comfort_dew_point_perception
|
|
- sensor.master_bedroom_thermal_comfort_dew_point_perception
|
|
- sensor.girls_room_thermal_comfort_dew_point_perception
|
|
- sensor.great_room_thermal_comfort_dew_point_perception
|
|
- sensor.front_room_thermal_comfort_dew_point_perception
|
|
- sensor.master_bathroom_thermal_comfort_dew_point_perception
|
|
- sensor.computer_area_thermal_comfort_dew_point_perception
|
|
- sensor.boys_room_thermal_comfort_dew_point_perception
|
|
- sensor.utility_room_thermal_comfort_dew_point_perception
|
|
states:
|
|
- state: "dry"
|
|
class: "green-to-red-grad-2"
|
|
- state: "very_comfortable"
|
|
class: "green-to-red-grad-4"
|
|
- state: "comfortable"
|
|
class: "green-to-red-grad-6"
|
|
- state: "ok_but_humid"
|
|
class: "green-to-red-grad-8"
|
|
- state: "somewhat_uncomfortable"
|
|
class: "green-to-red-grad-10"
|
|
- state: "quite_uncomfortable"
|
|
class: "green-to-red-grad-14"
|
|
- state: "extremely_uncomfortable"
|
|
class: "green-to-red-grad-16"
|
|
- state: "severely_high"
|
|
class: "green-to-red-grad-18"
|
|
- state: "unavailable"
|
|
class: "entity-unavailable"
|
|
|
|
- entities:
|
|
- sensor.thermal_comfort_humidex_perception
|
|
- sensor.master_bedroom_thermal_comfort_humidex_perception
|
|
- sensor.girls_room_thermal_comfort_humidex_perception
|
|
- sensor.great_room_thermal_comfort_humidex_perception
|
|
- sensor.front_room_thermal_comfort_humidex_perception
|
|
- sensor.master_bathroom_thermal_comfort_humidex_perception
|
|
- sensor.computer_area_thermal_comfort_humidex_perception
|
|
- sensor.boys_room_thermal_comfort_humidex_perception
|
|
- sensor.utility_room_thermal_comfort_humidex_perception
|
|
states:
|
|
- state: "comfortable"
|
|
class: "green-to-red-grad-3"
|
|
- state: "noticable_discomfort"
|
|
class: "green-to-red-grad-6"
|
|
- state: "evident_discomfort"
|
|
class: "green-to-red-grad-9"
|
|
- state: "great_discomfort"
|
|
class: "green-to-red-grad-12"
|
|
- state: "dangerous_discomfort"
|
|
class: "green-to-red-grad-15"
|
|
- state: "heat_stroke"
|
|
class: "green-to-red-grad-18"
|
|
- state: "unavailable"
|
|
class: "entity-unavailable"
|
|
|
|
- entities:
|
|
- sensor.thermal_comfort_summer_simmer_perception
|
|
- sensor.master_bedroom_thermal_comfort_summer_simmer_perception
|
|
- sensor.girls_room_thermal_comfort_summer_simmer_perception
|
|
- sensor.great_room_thermal_comfort_summer_simmer_perception
|
|
- sensor.front_room_thermal_comfort_summer_simmer_perception
|
|
- sensor.master_bathroom_thermal_comfort_summer_simmer_perception
|
|
- sensor.computer_area_thermal_comfort_summer_simmer_perception
|
|
- sensor.boys_room_thermal_comfort_summer_simmer_perception
|
|
- sensor.utility_room_thermal_comfort_summer_simmer_perception
|
|
states:
|
|
- state: "unavailable"
|
|
class: "entity-unavailable"
|
|
- state: "cool"
|
|
class: "green-to-red-grad-2"
|
|
- state: "slightly_cool"
|
|
class: "green-to-red-grad-4"
|
|
- state: "comfortable"
|
|
class: "green-to-red-grad-6"
|
|
- state: "slightly_warm"
|
|
class: "green-to-red-grad-8"
|
|
- state: "increasing_discomfort"
|
|
class: "green-to-red-grad-10"
|
|
- state: "extremely_warm"
|
|
class: "green-to-red-grad-12"
|
|
- state: "danger_of_heatstroke"
|
|
class: "green-to-red-grad-14"
|
|
- state: "extreme_danger_of_heatstroke"
|
|
class: "green-to-red-grad-16"
|
|
- state: "circulatory_collapse_imminent"
|
|
class: "green-to-red-grad-18"
|
|
|
|
- entities:
|
|
- input_boolean.clint_home
|
|
- group.phone_clint
|
|
- input_boolean.emmett_home
|
|
#- input_boolean.emmett_tablet_home
|
|
#- device_tracker.emmett_s_fire_wifi
|
|
- group.person_emmett
|
|
- input_boolean.bridget_home
|
|
#- input_boolean.bridget_tablet_home
|
|
#- device_tracker.bridget_s_fire_wifi
|
|
- group.person_bridget
|
|
#- input_boolean.kristy_home
|
|
#- input_boolean.marshall_home
|
|
#- group.work_laptop
|
|
#- group.person_kristy_work
|
|
states:
|
|
- state: "on"
|
|
class: "tracker-home"
|
|
- state: "off"
|
|
class: "tracker-away"
|
|
- state: "home"
|
|
class: "tracker-home"
|
|
- state: "not_home"
|
|
class: "tracker-away"
|
|
- state: "Work"
|
|
class: "tracker-work"
|
|
- state: "other"
|
|
class: "tracker-work"
|
|
- state: "WMU"
|
|
class: "tracker-work"
|
|
- state: "London 2"
|
|
class: "tracker-work"
|
|
- state: "At work"
|
|
class: "tracker-other"
|
|
|
|
# - entities:
|
|
# - input_boolean.guest_mode
|
|
# states:
|
|
# - state: 'on'
|
|
# class: 'tracker-home'
|
|
# - state: 'off'
|
|
# class: 'tracker-away'
|
|
#
|
|
|
|
- entities:
|
|
# Google Homes, Minis, and Lenovo Clocks
|
|
- media_player.bathroom_mini
|
|
- media_player.computer_area_hub
|
|
- media_player.deck
|
|
- media_player.garage
|
|
- media_player.great_room
|
|
- media_player.kitchen
|
|
- media_player.girls_room_clock
|
|
- media_player.front_room_hub
|
|
- media_player.bedroom_hub
|
|
- media_player.boys_room_clock
|
|
- media_player.home_assistant_voice_097b44_media_player
|
|
states:
|
|
- state: "playing"
|
|
class: "squeezebox-on"
|
|
- state: "paused"
|
|
class: "squeezebox-paused"
|
|
- state: "off"
|
|
class: "squeezebox-off"
|
|
- state: "idle"
|
|
class: "squeezebox-idle"
|
|
|
|
# - entities:
|
|
# # Chromecast
|
|
# - media_player.master_bedroom_tv
|
|
# states:
|
|
# - state: 'on'
|
|
# class: 'tv-on'
|
|
# - state: 'playing'
|
|
# class: 'tv-on'
|
|
# - state: 'off'
|
|
# class: 'tv-off'
|
|
#
|
|
|
|
- entities:
|
|
# Rokus
|
|
- media_player.front_room_tv
|
|
- media_player.downstairs_roku
|
|
states:
|
|
- state: "on"
|
|
class: "squeezebox-on"
|
|
- state: "playing"
|
|
class: "squeezebox-on"
|
|
- state: "home"
|
|
class: "squeezebox-on"
|
|
- state: "Online"
|
|
class: "squeezebox-on"
|
|
- state: "off"
|
|
class: "squeezebox-off"
|
|
- state: "not home"
|
|
class: "squeezebox-off"
|
|
- state: "not_home"
|
|
class: "squeezebox-off"
|
|
- state: "Offline"
|
|
class: "squeezebox-off"
|
|
- state: "unknown"
|
|
class: "squeezebox-unknown"
|
|
|
|
# - entities:
|
|
# - sensor.printer
|
|
# class_template: '
|
|
# var health = parseFloat(entity.state.replace("°", ""));
|
|
# if (health < 50)
|
|
# return "health-critical";
|
|
# else if (health < 100)
|
|
# return "health-warning";
|
|
# else if (health < 250)
|
|
# return "health-info";
|
|
# else if (health >= 25)
|
|
# return "health-good";
|
|
# else
|
|
# return "health-unknown";
|
|
# '
|
|
#
|
|
|
|
# Indoors should be moderate
|
|
- entities:
|
|
- sensor.front_room_thermostat_temperature
|
|
- sensor.front_room_ecobee_temperature
|
|
- sensor.entryway_hue_motion_sensor_temperature
|
|
- sensor.girls_room_multisensor_air_temperature
|
|
- sensor.master_bedroom_multisensor_air_temperature
|
|
- sensor.thermostat_temperature
|
|
- sensor.utility_room_thermostat_temperature
|
|
- sensor.bathroom_multisensor_air_temperature
|
|
- sensor.downstairs_temperature
|
|
- sensor.computer_area_multisensor_air_temperature
|
|
- sensor.mancave_thermostat_temperature
|
|
- sensor.boys_room_multisensor_air_temperature
|
|
- sensor.kitchen_multisensor_air_temperature
|
|
- sensor.great_room_multisensor_air_temperature
|
|
- sensor.dining_room_multisensor_air_temperature
|
|
- sensor.furnace_room_thermostat_temperature
|
|
- sensor.front_room_hue_motion_sensor_temperature
|
|
- sensor.upstairs_mean_temperature
|
|
- sensor.downstairs_mean_temperature
|
|
# text_template: '${entity.state ? entity.state : "unknown"} F'
|
|
# An example of rounding up a number, i.e. a temperature of 90.1 becomes 91
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "undefined"} F'
|
|
class_template: '
|
|
var temp = parseFloat(entity.state.replace("°", ""));
|
|
if (temp < 58)
|
|
return "temp-freeze";
|
|
else if (temp < 68)
|
|
return "temp-low";
|
|
else if (temp < 75)
|
|
return "temp-medium";
|
|
else if (temp < 85)
|
|
return "temp-high";
|
|
else if (temp >= 85)
|
|
return "temp-hot";
|
|
else
|
|
return "temp-unknown";
|
|
'
|
|
|
|
# Outside is expected to be colder/hotter
|
|
- entities:
|
|
- sensor.front_yard_thermostat_temperature
|
|
- sensor.front_porch_hue_motion_sensor_temperature
|
|
- sensor.deck_hue_motion_sensor_temperature
|
|
- sensor.garage_multisensor_air_temperature
|
|
# - sensor.hvac_supply_temperature
|
|
# - sensor.hvac_return_temperature
|
|
# - sensor.hvac_ambient_temperature
|
|
- sensor.back_yard_thermostat_temperature
|
|
- sensor.outdoor_temperature
|
|
# text_template: '${entity.state ? entity.state : "unknown"} F'
|
|
# An example of rounding up a number, i.e. a temperature of 90.1 becomes 91
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "undefined"} F'
|
|
class_template: '
|
|
var temp = parseFloat(entity.state.replace("°", ""));
|
|
if (temp < 30)
|
|
return "temp-freeze";
|
|
else if (temp < 60)
|
|
return "temp-low";
|
|
else if (temp < 85)
|
|
return "temp-medium";
|
|
else if (temp < 100)
|
|
return "temp-high";
|
|
else if (temp >= 100)
|
|
return "temp-hot";
|
|
else
|
|
return "temp-unknown";
|
|
'
|
|
|
|
# The HVAC Delta can be positive or negative, depending on if the furnace, heat pump, or ac is running
|
|
- entities:
|
|
- sensor.hvac_delta_temperature
|
|
# An example of rounding up a number, i.e. a temperature of 90.1 becomes 91
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "undefined"} F'
|
|
class_template: '
|
|
var temp = parseFloat(entity.state.replace("°", ""));
|
|
if (temp < -30)
|
|
return "temp-freeze";
|
|
else if (temp < -20)
|
|
return "temp-low";
|
|
else if (temp < 10)
|
|
return "temp-medium";
|
|
else if (temp < 30)
|
|
return "temp-high";
|
|
else if (temp >= 100)
|
|
return "temp-hot";
|
|
else
|
|
return "hidden-entity";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.kitchen_fridge_thermostat_temperature
|
|
text_template: '${entity.state ? Math.floor(entity.state) : "unknown"}'
|
|
class_template: '
|
|
var temp = parseFloat(entity.state.replace("°", ""));
|
|
if (temp < 32)
|
|
return "fridge-low";
|
|
else if (temp < 40)
|
|
return "fridge-medium";
|
|
else if (temp >= 41)
|
|
return "fridge-high";
|
|
else
|
|
return "temp-unknown";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.kitchen_freezer_thermostat_temperature
|
|
text_template: '${entity.state ? Math.floor(entity.state) : "unknown"}'
|
|
class_template: '
|
|
var temp = parseFloat(entity.state.replace("°", ""));
|
|
if (temp < 4)
|
|
return "fridge-medium";
|
|
else if (temp >= 5)
|
|
return "fridge-high";
|
|
else
|
|
return "temp-unknown";
|
|
'
|
|
|
|
# Bathrooms are expected to be a bit more humid
|
|
- entities:
|
|
- sensor.bathroom_multisensor_relative_humidity
|
|
- sensor.utility_room_thermostat_humidity
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "unknown"} %'
|
|
class_template: '
|
|
var humid = parseFloat(entity.state.replace("%", ""));
|
|
if (humid < 30)
|
|
return "humid-low";
|
|
else if (humid < 45)
|
|
return "humid-med-low";
|
|
else if (humid < 60)
|
|
return "humid-medium";
|
|
else if (humid < 70)
|
|
return "humid-med-high";
|
|
else
|
|
return "humid-high";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.girls_room_multisensor_humidity
|
|
- sensor.master_bedroom_multisensor_humidity
|
|
- sensor.thermostat_humidity
|
|
- sensor.computer_area_multisensor_humidity
|
|
- sensor.great_room_multisensor_humidity
|
|
- sensor.mancave_thermostat_humidity
|
|
- sensor.front_room_thermostat_humidity
|
|
- sensor.kitchen_multisensor_humidity
|
|
- sensor.furnace_room_thermostat_humidity
|
|
- sensor.boys_room_multisensor_humidity
|
|
- sensor.dining_room_multisensor_humidity
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "unknown"} %'
|
|
class_template: '
|
|
var humid = parseFloat(entity.state.replace("%", ""));
|
|
if (humid < 40)
|
|
return "humid-low";
|
|
else if (humid < 50)
|
|
return "humid-med-low";
|
|
else if (humid < 60)
|
|
return "humid-medium";
|
|
else if (humid < 70)
|
|
return "humid-med-high";
|
|
else
|
|
return "humid-high";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.front_yard_thermostat_humidity
|
|
- sensor.garage_multisensor_humidity
|
|
- sensor.back_yard_thermostat_humidity
|
|
- sensor.outdoor_humidity
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "unknown"} %'
|
|
class_template: '
|
|
var humid = parseFloat(entity.state.replace("%", ""));
|
|
if (humid < 30)
|
|
return "humid-low";
|
|
else if (humid < 45)
|
|
return "humid-med-low";
|
|
else if (humid < 55)
|
|
return "humid-medium";
|
|
else if (humid < 65)
|
|
return "humid-med-high";
|
|
else
|
|
return "humid-high";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.entryway_hue_motion_sensor_illuminance
|
|
- sensor.front_porch_hue_motion_sensor_illuminance
|
|
- sensor.deck_hue_motion_sensor_illuminance
|
|
- sensor.girls_room_multisensor_illuminance
|
|
- sensor.master_bedroom_multisensor_illuminance
|
|
- sensor.computer_area_multisensor_illuminance
|
|
- sensor.great_room_multisensor_illuminance
|
|
- sensor.garage_multisensor_illuminance
|
|
- sensor.front_room_hue_motion_sensor_illuminance
|
|
- sensor.kitchen_multisensor_illuminance
|
|
- sensor.boys_room_multisensor_illuminance
|
|
- sensor.dining_room_multisensor_illuminance
|
|
text_template: '${entity.state ? Math.ceil(entity.state) : "unknown"} lx'
|
|
class_template: '
|
|
var light = parseFloat(entity.state.replace("°", ""));
|
|
if (light < 10)
|
|
return "light-low";
|
|
else if (light < 100)
|
|
return "light-medium-low";
|
|
else if (light < 400)
|
|
return "light-medium";
|
|
else
|
|
return "light-high";
|
|
'
|
|
|
|
- entities:
|
|
- sensor.furnace_room_multisensor_salt_level_in_bags
|
|
text_template: '${entity.state ? Math.floor(entity.state) : "undefined"}'
|
|
class_template: '
|
|
var bags = parseFloat(entity.state);
|
|
if (bags > 4)
|
|
return "bags-five";
|
|
else if (bags > 3)
|
|
return "bags-four";
|
|
else if (bags > 2)
|
|
return "bags-three";
|
|
else if (bags > 1)
|
|
return "bags-two";
|
|
else if (bags > 0)
|
|
return "bags-one";
|
|
else
|
|
return "bags-zero";
|
|
'
|
|
|
|
- entities:
|
|
- input_text.person_clint
|
|
- input_text.person_emmett
|
|
- input_text.person_bridget
|
|
# - input_text.person_marshall
|
|
# - input_text.person_kristy
|
|
# - input_text.person_tess
|
|
# - input_text.person_ebin
|
|
# - input_text.person_guest
|
|
text_template: '${entity.state ? entity.state : "unknown"}'
|
|
class_template: '
|
|
return "info-text";
|
|
'
|
|
|
|
- entities:
|
|
- light.front_room_splash_left
|
|
- light.front_room_splash_right
|
|
- light.black_bed_wled
|
|
- light.white_bed_wled
|
|
- light.dining_room
|
|
- light.master_bedroom_hue
|
|
- light.computer_area_hue
|
|
- light.great_room_hue
|
|
- light.bar
|
|
- light.kitchen_overhead
|
|
- light.girls_room_hue
|
|
- light.entry
|
|
- light.shower
|
|
- light.master_bathroom_vanity_hue
|
|
- light.master_bedroom_closet
|
|
- light.girls_room_closet
|
|
- light.garage_overhead
|
|
- light.driveway
|
|
- light.front_porch_overhead
|
|
- light.utility_room_vanity
|
|
- light.utility_room_hue
|
|
- light.mancave
|
|
- light.deck
|
|
- light.boys_room_hue
|
|
- light.boys_room_closet
|
|
- light.furnace_room
|
|
- light.storage_room
|
|
- switch.utility_room_vent_switch
|
|
- switch.master_bathroom_vent_switch
|
|
states:
|
|
- state: "on"
|
|
class: "light-on"
|
|
- state: "off"
|
|
class: "light-off"
|
|
- state: "unavailable"
|
|
class: "entity-unavailable"
|
|
action:
|
|
domain: homeassistant
|
|
service: homeassistant.toggle
|
|
|
|
- entities:
|
|
- binary_sensor.boys_room_naturally_lit
|
|
- binary_sensor.computer_area_naturally_lit
|
|
- binary_sensor.deck_naturally_lit
|
|
- binary_sensor.dining_room_naturally_lit
|
|
- binary_sensor.entryway_naturally_lit
|
|
- binary_sensor.front_porch_naturally_lit
|
|
- binary_sensor.front_room_naturally_lit
|
|
- binary_sensor.garage_naturally_lit
|
|
- binary_sensor.great_room_naturally_lit
|
|
- binary_sensor.kitchen_naturally_lit
|
|
- binary_sensor.master_bedroom_naturally_lit
|
|
- binary_sensor.girls_room_naturally_lit
|
|
states:
|
|
- state: "on"
|
|
class: "sun-on"
|
|
- state: "off"
|
|
class: "light-off"
|
|
- state: "unavailable"
|
|
class: "entity-unavailable"
|
|
- state: "unknown"
|
|
class: "light-unavailable"
|
|
|
|
- entities:
|
|
- light.accent
|
|
- light.master_bedroom_accent
|
|
states:
|
|
- state: "on"
|
|
class: "light-strip-on"
|
|
- state: "off"
|
|
class: "light-off"
|
|
- state: "unavailable"
|
|
class: "light-unavailable"
|
|
|
|
- entities:
|
|
- binary_sensor.computer_chair_contact_occupied
|
|
# - switch.computer_area_pi_plug
|
|
# - switch.computer_area_lighthouse
|
|
# - switch.front_room_pi_plug
|
|
# - switch.shelly1pm_f4cfa2748094
|
|
states:
|
|
- state: "on"
|
|
class: "doorbell-on"
|
|
- state: "off"
|
|
class: "doorbell-off"
|
|
|
|
- entities:
|
|
- binary_sensor.kitchen_motion_sensor_motion_detection
|
|
- binary_sensor.kitchen_multisensor_motion_detection
|
|
- binary_sensor.girls_room_multisensor_motion_detection
|
|
- binary_sensor.master_bedroom_multisensor_motion_detection
|
|
- binary_sensor.master_bathroom_motion_switch_motion_detection
|
|
- binary_sensor.computer_area_multisensor_motion_detection
|
|
- binary_sensor.front_room_motion_sensor_motion_detection
|
|
- binary_sensor.dining_room_multisensor_motion_detection
|
|
- binary_sensor.front_porch_motion
|
|
- binary_sensor.deck_motion
|
|
- binary_sensor.entryway_motion
|
|
- binary_sensor.frigate_cam01_person_occupancy
|
|
- binary_sensor.frigate_cam03_person_occupancy
|
|
- binary_sensor.frigate_cam04_person_occupancy
|
|
- binary_sensor.frigate_cam06_person_occupancy
|
|
- binary_sensor.frigate_cam07_person_occupancy
|
|
- binary_sensor.frigate_cam08_person_occupancy
|
|
- binary_sensor.frigate_cam12_person_occupancy
|
|
- binary_sensor.frigate_cam18_person_occupancy
|
|
- binary_sensor.frigate_cam19_person_occupancy
|
|
- binary_sensor.great_room_multisensor_motion_detection
|
|
- binary_sensor.garage_multisensor_motion_detection
|
|
- binary_sensor.master_bedroom_closet_motion_switch_motion_detection
|
|
- binary_sensor.girls_room_closet_motion_switch_motion_detection
|
|
- binary_sensor.great_room_motion_switch_motion_detection
|
|
- binary_sensor.entryway_motion_switch_motion_detection
|
|
- binary_sensor.garage_motion_switch_motion_detection
|
|
- binary_sensor.front_room_motion_switch_motion_detection
|
|
- binary_sensor.utility_room_motion_switch_motion_detection
|
|
- binary_sensor.mancave_motion_switch_motion_detection
|
|
- binary_sensor.dining_room_motion_switch_motion_detection
|
|
- binary_sensor.boys_room_multisensor_motion_detection
|
|
- binary_sensor.boys_room_motion_switch_motion_detection
|
|
- binary_sensor.furnace_room_motion_switch_motion_detection
|
|
- binary_sensor.front_room_motion
|
|
|
|
states:
|
|
- state: "off"
|
|
class: "motion-background"
|
|
- state: "on"
|
|
class: "warning-background"
|
|
- state: "unavailable"
|
|
class: "motion-unavailable"
|
|
|
|
- entities:
|
|
#- binary_sensor.inner_garage_door
|
|
- binary_sensor.inner_garage_door_contact
|
|
- binary_sensor.garage_door
|
|
- binary_sensor.patio_door_contact
|
|
- binary_sensor.master_bedroom_door_contact
|
|
- binary_sensor.front_door_contact
|
|
#- binary_sensor.outer_garage_door
|
|
- binary_sensor.outer_garage_door_contact
|
|
- binary_sensor.girls_room_door
|
|
- binary_sensor.master_suite_door_contact
|
|
- binary_sensor.master_bathroom_door_contact
|
|
- binary_sensor.basement_door_contact
|
|
- binary_sensor.master_bedroom_closet_door_contact
|
|
- binary_sensor.girls_room_closet_door_contact
|
|
- binary_sensor.pantry_door_contact
|
|
- binary_sensor.storage_room_door_contact
|
|
- binary_sensor.mancave_door_contact
|
|
- binary_sensor.boys_room_door_contact
|
|
- binary_sensor.furnace_room_multisensor_door
|
|
- binary_sensor.utility_room_door_contact
|
|
states:
|
|
- state: "off"
|
|
class: "door-closed"
|
|
- state: "on"
|
|
class: "door-open"
|
|
|
|
|
|
- entities:
|
|
- sensor.dishwasher
|
|
states:
|
|
- state: "Idle"
|
|
class: "appliance-off"
|
|
- state: "Problem"
|
|
class: "appliance-problem"
|
|
- state: "Running"
|
|
class: "appliance-on"
|
|
- state: "Pending"
|
|
class: "appliance-pending"
|
|
|
|
- entities:
|
|
- sensor.washing_machine
|
|
- sensor.tumble_dryer
|
|
- binary_sensor.keurig
|
|
- binary_sensor.microwave
|
|
- binary_sensor.stove
|
|
- binary_sensor.furnace
|
|
- binary_sensor.heat_pump
|
|
- binary_sensor.sump_pump
|
|
states:
|
|
- state: "off"
|
|
class: "appliance-off"
|
|
- state: "on"
|
|
class: "appliance-on"
|
|
- state: "running"
|
|
class: "appliance-on"
|
|
- state: "pending"
|
|
class: "appliance-pending"
|
|
- state: "idle"
|
|
class: "appliance-off"
|
|
|
|
- entities:
|
|
- binary_sensor.front_room_window_contact
|
|
- binary_sensor.girls_room_window_contact
|
|
- binary_sensor.master_bedroom_window_contact
|
|
- binary_sensor.computer_area_window_contact
|
|
- binary_sensor.boys_room_window_contact
|
|
- binary_sensor.entryway_window_contact
|
|
states:
|
|
- state: "off"
|
|
class: "window-closed"
|
|
- state: "on"
|
|
class: "window-open"
|
|
- state: "unavailable"
|
|
class: "window-unavailable"
|
|
|
|
- entities:
|
|
- camera.frigate_cam01
|
|
- camera.frigate_cam03
|
|
- camera.frigate_cam04
|
|
- camera.frigate_cam06
|
|
- camera.frigate_cam07
|
|
- camera.frigate_cam08
|
|
- camera.frigate_cam12
|
|
- camera.frigate_cam14
|
|
- camera.frigate_cam15
|
|
- camera.frigate_cam18
|
|
- camera.frigate_cam19
|
|
states:
|
|
- state: "idle"
|
|
class: "camera-idle"
|
|
- state: "unavailable"
|
|
class: "camera-unavailable"
|
|
- state: "streaming"
|
|
class: "camera-streaming"
|
|
- state: "recording"
|
|
class: "camera-recording"
|
|
|
|
- name: thermostat_temp
|
|
entities:
|
|
- climate.thermostat
|
|
text_template: '${entity.attributes.current_temperature ? entity.attributes.current_temperature : "undefined"}'
|
|
#
|
|
# The above text_template uses extended attributes from the climate.* objects to get current temperature.
|
|
|
|
#- name: text_states
|
|
# entities:
|
|
# - sensor.downstairs_thermostat_humidity
|
|
# - sensor.dark_sky_temperature
|
|
# - sensor.last_message
|
|
# text_template: '${entity.state ? entity.state.replace(/\s{2,}/g,"") : "undefined"}'
|
|
#
|
|
# The above text_template uses jQuery syntax to search and replace any instance of 2 consecutive (or more) spaces in a string of text.
|