mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2025-02-21 16:44:46 +00:00
Implimenting new light time code from Code by @JesseWebDotCom
This commit is contained in:
parent
48139355d5
commit
2fe908e16e
@ -1,127 +1,44 @@
|
|||||||
##############################################################################
|
|
||||||
### 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 is not none }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
|
||||||
- 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.office' }}"
|
|
||||||
- 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 is not none }}"
|
|
||||||
- condition: template
|
|
||||||
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
|
||||||
- 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.office' }}"
|
|
||||||
- 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.
|
### Detect when lights are turned on and adjust them accordingly based on time.
|
||||||
### Here is 8pm to 5am
|
### Here is 8pm to 5am
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
- alias: detect_light_between 5am and 8am
|
||||||
- alias: detect_light_between 8pm and 5am
|
|
||||||
trigger:
|
trigger:
|
||||||
- platform: event
|
- platform: event
|
||||||
event_type: state_changed
|
event_type: state_changed
|
||||||
|
|
||||||
condition:
|
condition:
|
||||||
condition: and
|
- condition: state
|
||||||
conditions:
|
entity_id: group.family
|
||||||
- condition: or
|
state: home
|
||||||
conditions:
|
- condition: template
|
||||||
- condition: time
|
value_template: "{{ trigger.event.data is not none }}"
|
||||||
after: '20:00:01'
|
- condition: template
|
||||||
- condition: time
|
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
||||||
before: '12:00:00'
|
- condition: template
|
||||||
- condition: state
|
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}"
|
||||||
entity_id: sun.sun
|
- condition: template
|
||||||
state: 'below_horizon'
|
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}"
|
||||||
- condition: state
|
- condition: template
|
||||||
entity_id: group.family
|
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}"
|
||||||
state: home
|
- condition: template
|
||||||
- condition: template
|
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.office' }}"
|
||||||
value_template: "{{ trigger.event.data is not none }}"
|
- condition: template
|
||||||
- condition: template
|
value_template: "{{ trigger.event.data.new_state.state == 'on' }}"
|
||||||
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
- condition: template
|
||||||
- condition: template
|
value_template: "{{ trigger.event.data.old_state.state == 'off' }}"
|
||||||
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.office' }}"
|
|
||||||
- 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:
|
action:
|
||||||
- service: light.turn_on
|
- service: light.turn_on
|
||||||
data_template:
|
data_template:
|
||||||
entity_id: "{{ trigger.event.data.entity_id }}"
|
entity_id: "{{ trigger.event.data.entity_id }}"
|
||||||
brightness: 35
|
brightness: >
|
||||||
|
{% set hour=states("sensor.time").split(':')[0] | int %}
|
||||||
|
{%- if hour >= 5 or hour < 8 -%}
|
||||||
|
50
|
||||||
|
{%- elif hour >= 8 or hour <20 -%}
|
||||||
|
255
|
||||||
|
{%- else -%}
|
||||||
|
35
|
||||||
|
{%- endif %}
|
||||||
|
|
127
automation/detect_and_adjust_lights.yaml.old
Executable file
127
automation/detect_and_adjust_lights.yaml.old
Executable file
@ -0,0 +1,127 @@
|
|||||||
|
##############################################################################
|
||||||
|
### 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 is not none }}"
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
||||||
|
- 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.office' }}"
|
||||||
|
- 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 is not none }}"
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
||||||
|
- 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.office' }}"
|
||||||
|
- 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:01'
|
||||||
|
- 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 is not none }}"
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ trigger.event.data.entity_id is not none }}"
|
||||||
|
- 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.office' }}"
|
||||||
|
- 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: 35
|
Loading…
x
Reference in New Issue
Block a user