mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-10 11:00:14 -04:00
154 lines
4.0 KiB
YAML
154 lines
4.0 KiB
YAML
blueprint:
|
|
name: Room Occupancy
|
|
description: "## Room Occupancy\n\nThis blueprint will turn on and off the\
|
|
\ input_boolean associated with the occupancy of a room. The room will need an input_boolean\
|
|
\ to use for determining if it is occupied. It will also need an input_select to determine\
|
|
\ whether the room is in Auto mode, Manual mode, or forcefully off.\n\nIf specified\
|
|
\ a switch will also be turned off when the room is in Guest mode"
|
|
|
|
domain: automation
|
|
input:
|
|
room_occupied:
|
|
name: Room Occupied
|
|
description: The Input_Boolean that should be turned off
|
|
selector:
|
|
entity:
|
|
domain: input_boolean
|
|
|
|
home_occupied:
|
|
name: Home Occupied
|
|
description: The Input_Boolean that describes whether the home is occupied
|
|
default: input_boolean.home_occupied
|
|
selector:
|
|
entity:
|
|
domain: input_boolean
|
|
|
|
binary_sensor:
|
|
name: Binary Sensor
|
|
description: The Binary_Sensor that describes whether the room is occupied
|
|
selector:
|
|
entity:
|
|
domain: binary_sensor
|
|
|
|
delay_seconds:
|
|
name: Delay Seconds
|
|
description: The number of seconds to wait after the binary sensor turns off
|
|
default: 300
|
|
selector:
|
|
number:
|
|
min: 0
|
|
max: 3600
|
|
unit_of_measurement: seconds
|
|
|
|
house_mode:
|
|
name: House Mode (Optional)
|
|
description: The Input_Select that describes what mode the house is in.
|
|
default: input_select.house
|
|
selector:
|
|
entity:
|
|
domain: input_select
|
|
|
|
manual_option:
|
|
name: Manual Option (optional)
|
|
description: The Input_Select option that implies the House is in Manual mode.
|
|
default: Manual
|
|
selector:
|
|
text:
|
|
|
|
mode: restart
|
|
trigger:
|
|
- platform: state
|
|
entity_id: !input home_occupied
|
|
from: "on"
|
|
to: "off"
|
|
|
|
- platform: state
|
|
id: room_occupied
|
|
entity_id: !input binary_sensor
|
|
from: "off"
|
|
to: "on"
|
|
|
|
- platform: state
|
|
id: "not_occupied"
|
|
entity_id:
|
|
- !input home_occupied
|
|
- !input binary_sensor
|
|
to: "off"
|
|
for:
|
|
seconds: !input delay_seconds
|
|
|
|
- platform: time_pattern
|
|
id: "time_pattern"
|
|
minutes: "/5"
|
|
|
|
condition:
|
|
- condition: or
|
|
conditions:
|
|
- alias: "Home not occupied"
|
|
condition: state
|
|
entity_id: !input home_occupied
|
|
state: "off"
|
|
|
|
- alias: "Room just occupied"
|
|
condition: trigger
|
|
id: room_occupied
|
|
|
|
- alias: "Room not occupied"
|
|
condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: !input room_occupied
|
|
state: "on"
|
|
|
|
- condition: state
|
|
entity_id: !input binary_sensor
|
|
state: "off"
|
|
|
|
action:
|
|
- choose:
|
|
- alias: "Home not occupied"
|
|
conditions:
|
|
- condition: state
|
|
entity_id: !input home_occupied
|
|
state: "off"
|
|
sequence:
|
|
- action: homeassistant.turn_off
|
|
entity_id: !input room_occupied
|
|
|
|
- alias: "Room not occupied"
|
|
conditions:
|
|
- condition: trigger
|
|
id: not_occupied
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: !input house_mode
|
|
state: !input manual_option
|
|
sequence:
|
|
- action: homeassistant.turn_off
|
|
entity_id: !input room_occupied
|
|
|
|
- alias: "Room occupied"
|
|
conditions:
|
|
- condition: trigger
|
|
id: room_occupied
|
|
sequence:
|
|
- action: homeassistant.turn_on
|
|
entity_id: !input room_occupied
|
|
|
|
- alias: "Time pattern"
|
|
conditions:
|
|
- condition: trigger
|
|
id: time_pattern
|
|
- condition: state
|
|
entity_id: !input room_occupied
|
|
state: "on"
|
|
- condition: state
|
|
entity_id: !input binary_sensor
|
|
state: "off"
|
|
for:
|
|
seconds: !input delay_seconds
|
|
sequence:
|
|
- action: homeassistant.turn_off
|
|
entity_id: !input room_occupied
|