Files
fresh-home/lovelace/view-ha-floorplan.yaml
T
CeeWeasel 4e0e55ac3c Refactor bed occupancy sensors and related automations
- Updated nursery automation to use input booleans for bed occupancy instead of binary sensors.
- Changed conditions in nursery automation to improve readability and consistency.
- Modified binary sensor configurations for master bedroom and nursery to use input booleans.
- Removed unused input number configurations related to master bed load cells.
- Updated UI configurations to reflect changes in entity types from binary sensors to input booleans.
- Cleaned up camera view configurations and adjusted styles for better layout.
- Removed deprecated master bed YAML configuration and archived it for future reference.
- Enhanced ESPHome configurations for white and black beds, including improved logging and diagnostics.
2025-07-19 13:37:45 -04:00

885 lines
40 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
stylesheet: /local/floorplan/floorplan.css
log_level: debug
console_log_level: debug
defaults:
hover_action: hover-info
#tap_action: more-info
rules:
- entities:
- fan.master_bedroom
- fan.nursery
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.clint_in_bed
# - input_boolean.emmett_in_bed
# - input_boolean.bridget_in_bed
# - input_boolean.kristy_in_bed
# - input_boolean.marshall_in_bed
# - input_boolean.tess_in_bed
# - input_boolean.ebin_in_bed
# - input_boolean.guest_in_bed
# states:
# - state: 'on'
# class: in-bed
# - state: 'off'
# class: out-of-bed
# - entities:
# - input_boolean.clint_is_awake
# - input_boolean.emmett_is_awake
# - input_boolean.bridget_is_awake
# - input_boolean.kristy_is_awake
# - input_boolean.marshall_is_awake
# - input_boolean.tess_is_awake
# - input_boolean.ebin_is_awake
# - input_boolean.guest_is_awake
# states:
# - state: 'on'
# class: awake
# - state: 'off'
# class: sleeping
- entities:
- input_boolean.entryway_occupied
- input_boolean.front_room_occupied
- input_boolean.dining_room_occupied
- input_boolean.kitchen_occupied
- input_boolean.nursery_occupied
- input_boolean.nursery_closet_occupied
- input_boolean.master_bedroom_occupied
- input_boolean.master_bathroom_occupied
- input_boolean.master_bedroom_closet_occupied
- input_boolean.garage_occupied
- input_boolean.computer_area_occupied
- input_boolean.great_room_occupied
- input_boolean.blue_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
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_water_alarm_water_leak_detected
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:
- device_tracker.chevrolet_traverse_location
states:
- state: "home"
class: "suv-home"
- state_not: "home"
class: "hidden_entity"
# - entities:
# - input_select.camera14_preset
# states:
# - state: 'Deck'
# class: 'cam14-preset-1'
# - state: 'Sandbox'
# class: 'cam14-preset-2'
# - state: 'Yard'
# class: 'cam14-preset-3'
# - state: 'Grove'
# class: 'cam14-preset-4'
# - state: 'Stairs'
# class: 'cam14-preset-5'
# - state: 'BesideStairs'
# class: 'cam14-preset-6'
# - state: 'Grass'
# class: 'cam14-preset-7'
- entities:
- plant.plant_sensor_cea4
- plant.plant_sensor_3eae
- plant.fineoffset_wh51_00f935
- plant.fineoffset_wh51_0ce593
- plant.plant_sensor_3eb0
- plant.fineoffset_wh51_0d1e11
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
- input_boolean.white_bed_occupied
#- binary_sensor.master_bed_left_occupied
#- binary_sensor.master_bed_right_occupied
- input_boolean.master_bed_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.nursery_person_occupancy
- binary_sensor.utility_room_person_occupancy
- binary_sensor.utility_room_person_occupancy
- binary_sensor.blue_room_person_occupancy
- binary_sensor.furnace_room_person_occupancy
- binary_sensor.driveway_center_vehicle_occupancy
- binary_sensor.driveway_east_side_vehicle_occupancy
- binary_sensor.driveway_west_side_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.nursery_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.blue_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: "dew-point-unavailable"
- entities:
- sensor.thermal_comfort_humidex_perception
- sensor.master_bedroom_thermal_comfort_humidex_perception
- sensor.nursery_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.blue_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: "humidex-unavailable"
- entities:
- sensor.thermal_comfort_summer_simmer_perception
- sensor.master_bedroom_thermal_comfort_summer_simmer_perception
- sensor.nursery_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.blue_room_thermal_comfort_summer_simmer_perception
- sensor.utility_room_thermal_comfort_summer_simmer_perception
states:
- state: "unavailable"
class: "summer-simmer-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: "London"
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.master_bedroom_clock
- media_player.front_room_hub
- media_player.nursery_hub
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.bar_temperature
- sensor.entryway_temperature
- sensor.nursery_multisensor_air_temperature
- sensor.master_bedroom_multisensor_air_temperature
- sensor.thermostat_temperature
- sensor.utility_room_thermostat_temperature
- sensor.master_bathroom_thermostat_temperature
- sensor.downstairs_temperature
- sensor.computer_area_multisensor_air_temperature
- sensor.mancave_thermostat_temperature
- sensor.blue_room_thermostat_temperature
- sensor.blue_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_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 < 64)
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.lacrosse_tx141thbv2_0_54_temperature
- sensor.front_porch_temperature
- sensor.deck_temperature
- sensor.garage_multisensor_air_temperature
#- sensor.hvac_temperature
#- sensor.return_temperature
- sensor.hvac_delta
- sensor.outdoors_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 < 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";
'
- entities:
- sensor.acurite_986_1r_48226_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.acurite_986_2f_42383_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.master_bathroom_thermostat_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.nursery_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.blue_room_thermostat_humidity
- sensor.front_room_thermostat_humidity
- sensor.kitchen_multisensor_humidity
- sensor.furnace_room_thermostat_humidity
- sensor.blue_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.lacrosse_tx141thbv2_0_54_humidity
- sensor.garage_multisensor_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.bar_light_level
- sensor.entryway_light_level
- sensor.front_porch_light_level
- sensor.deck_light_level
- sensor.nursery_multisensor_illuminance
- sensor.master_bedroom_multisensor_illuminance
- sensor.computer_area_multisensor_illuminance
- sensor.great_room_multisensor_illuminance
- sensor.garage_multisensor_illuminance
- sensor.front_room_light_level
- sensor.kitchen_multisensor_illuminance
- sensor.blue_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.salt_level_in_bags
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:
- switch.shelly_sliding_glass_door
states:
- state: "on"
class: "light-on"
- state: "off"
class: "camera-streaming"
- state: "unavailable"
class: "light-unavailable"
action:
domain: homeassistant
service: homeassistant.toggle
- entities:
- light.front_room_splash_left
- light.front_room_splash_right
- light.black_bed_wled
- light.white_bed_wled
- light.dining_room_switch
- light.master_bedroom_hue
- light.computer_area_hue
- light.great_room_hue
- light.bar
- light.kitchen_overhead
- light.nursery_hue
- light.entry
- light.shower
- light.master_bathroom_vanity_hue
- light.master_bedroom_closet
- light.nursery_closet
- light.garage_overhead
- light.driveway
- light.front_porch_overhead
- light.utility_room_vanity
- light.utility_room_hue
- light.mancave
- light.deck
- light.blue_room_hue
- light.blue_room_closet
- light.furnace_room
- light.storage_room
- switch.utility_room_vent_switch
- switch.bathroom_vent_switch
states:
- state: "on"
class: "light-on"
- state: "off"
class: "light-off"
- state: "unavailable"
class: "light-unavailable"
action:
domain: homeassistant
service: homeassistant.toggle
- entities:
- binary_sensor.blue_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.nursery_naturally_lit
states:
- state: "on"
class: "sun-on"
- state: "off"
class: "light-off"
- state: "unavailable"
class: "light-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:
# - switch.shelly_projector
- binary_sensor.computer_chair_contact_occupied
# - switch.computer_area_pi_plug
# - switch.computer_area_lighouse
# - 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_home_security_motion_detection
- binary_sensor.kitchen_multisensor_home_security_motion_detection
- binary_sensor.nursery_multisensor_home_security_motion_detection
- binary_sensor.master_bedroom_multisensor_home_security_motion_detection
- binary_sensor.master_bathroom_motion_switch_home_security_motion_detection
- binary_sensor.computer_area_multisensor_home_security_motion_detection
- binary_sensor.front_room_motion_sensor_home_security_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_cam02_person_occupancy
- binary_sensor.frigate_cam03_person_occupancy
- binary_sensor.frigate_cam04_person_occupancy
#- binary_sensor.frigate_cam05_person_occupancy
- binary_sensor.frigate_cam06_person_occupancy
- binary_sensor.frigate_cam07_person_occupancy
- binary_sensor.frigate_cam08_person_occupancy
#- binary_sensor.frigate_cam09_person_occupancy
#- binary_sensor.frigate_cam10_person_occupancy
#- binary_sensor.frigate_cam11_person_occupancy
- binary_sensor.frigate_cam12_person_occupancy
- binary_sensor.frigate_cam13_person_occupancy
#- binary_sensor.frigate_cam14_motion
- binary_sensor.frigate_cam14_person_occupancy
- binary_sensor.frigate_cam18_person_occupancy
#- binary_sensor.frigate_cam19_motion
- binary_sensor.frigate_cam19_person_occupancy
- binary_sensor.bar_motion
- binary_sensor.great_room_multisensor_home_security_motion_detection
- binary_sensor.garage_multisensor_home_security_motion_detection
- binary_sensor.master_bedroom_closet_motion_switch_home_security_motion_detection
- binary_sensor.nursery_closet_motion_switch_home_security_motion_detection
- binary_sensor.great_room_motion_switch_home_security_motion_detection
- binary_sensor.entryway_motion_switch_home_security_motion_detection
- binary_sensor.garage_motion_switch_home_security_motion_detection
- binary_sensor.front_room_motion_switch_home_security_motion_detection
- binary_sensor.utility_room_motion_switch_home_security_motion_detection
- binary_sensor.mancave_motion_switch_home_security_motion_detection
- binary_sensor.dining_room_motion_switch_home_security_motion_detection
- binary_sensor.blue_room_motion_switch_home_security_motion_detection
- binary_sensor.furnace_room_motion_switch_home_security_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.nursery_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.nursery_closet_door_contact
- binary_sensor.pantry_door_contact
- binary_sensor.storage_room_door_contact
- binary_sensor.mancave_door_contact
- binary_sensor.blue_room_door_contact
- binary_sensor.furnace_room_door
- binary_sensor.furnace_room_door_contact
- binary_sensor.utility_room_door_contact
states:
- state: "off"
class: "door-closed"
- state: "on"
class: "door-open"
- entities:
- sensor.washing_machine
- sensor.tumble_dryer
- sensor.dishwasher
- 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.nursery_window_contact
- binary_sensor.master_bedroom_window_contact
- binary_sensor.computer_area_window_contact
- binary_sensor.blue_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_cam13
- camera.frigate_cam14
- camera.frigate_cam18
- camera.frigate_cam19
states:
- state: "idle"
class: "camera-idle"
- state: "unavailable"
class: "camera-unavailable"
- state: "streaming"
class: "camera-streaming"
- 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.