mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2025-02-20 16:21:58 +00:00
Combiine a bunch of Automations.
This commit is contained in:
parent
317e576862
commit
42337b9fb5
115
automation/detect_and_adjust_lights.yaml
Executable file
115
automation/detect_and_adjust_lights.yaml
Executable file
@ -0,0 +1,115 @@
|
||||
##############################################################################
|
||||
### Detect when lights are turned on and adjust them accordingly based on time.
|
||||
### Here is 5am to 8am
|
||||
##############################################################################
|
||||
|
||||
- alias: detect_light_between 5am and 8am
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: time
|
||||
after: '05:00:00'
|
||||
- condition: time
|
||||
before: '7:59:00'
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.event.data.new_state.attributes.brightness|default(0)|int > 50 }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 50
|
||||
|
||||
##############################################################################
|
||||
### Detect when lights are turned on and adjust them accordingly based on time.
|
||||
### Here is 8am to 8pm
|
||||
##############################################################################
|
||||
|
||||
- alias: detect_light_between 8am and 8pm
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: time
|
||||
after: '08:00:00'
|
||||
- condition: time
|
||||
before: '20:00:00'
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 255
|
||||
|
||||
##############################################################################
|
||||
### Detect when lights are turned on and adjust them accordingly based on time.
|
||||
### Here is 8pm to 5am
|
||||
##############################################################################
|
||||
|
||||
- alias: detect_light_between 8pm and 5am
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: time
|
||||
after: '20:00:00'
|
||||
- condition: time
|
||||
before: '12:00:00'
|
||||
- condition: state
|
||||
entity_id: sun.sun
|
||||
state: 'below_horizon'
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.event.data.new_state.attributes.brightness|default(0)|int > 20 }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 20
|
@ -1,31 +0,0 @@
|
||||
- alias: detect_light_between 5am and 8am
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: time
|
||||
after: '05:00:00'
|
||||
- condition: time
|
||||
before: '7:59:00'
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.event.data.new_state.attributes.brightness|default(0)|int > 50 }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 50
|
@ -1,29 +0,0 @@
|
||||
- alias: detect_light_between 8am and 8pm
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: time
|
||||
after: '08:00:00'
|
||||
- condition: time
|
||||
before: '20:00:00'
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 255
|
@ -1,38 +0,0 @@
|
||||
- alias: detect_light_between 8pm and 5am
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: state_changed
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: or
|
||||
conditions:
|
||||
- condition: time
|
||||
after: '20:00:00'
|
||||
- condition: time
|
||||
before: '12:00:00'
|
||||
- condition: state
|
||||
entity_id: sun.sun
|
||||
state: 'below_horizon'
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: home
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.outdoor' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||
# - condition: template
|
||||
# value_template: "{{ trigger.event.data.new_state.attributes.brightness|default(0)|int > 20 }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||
brightness: 20
|
@ -1,21 +0,0 @@
|
||||
- alias: TV Time off
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.samsungtv
|
||||
state: offline
|
||||
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sun.sun
|
||||
state: 'below_horizon'
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'off'
|
||||
|
||||
action:
|
||||
service: light.turn_off
|
||||
entity_id:
|
||||
- group.living_room
|
||||
- group.living_room_accents
|
@ -36,3 +36,29 @@
|
||||
action:
|
||||
service: scene.turn_on
|
||||
entity_id: scene.living_room_tv_time
|
||||
|
||||
######################################################################
|
||||
## Turn off the Living room lights when the TV is turned off.
|
||||
######################################################################
|
||||
|
||||
- alias: TV Time off
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.samsungtv
|
||||
state: offline
|
||||
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sun.sun
|
||||
state: 'below_horizon'
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'off'
|
||||
|
||||
action:
|
||||
service: light.turn_off
|
||||
entity_id:
|
||||
- group.living_room
|
||||
- group.living_room_accents
|
Loading…
x
Reference in New Issue
Block a user