1255 lines
39 KiB
YAML
1255 lines
39 KiB
YAML
- id: network_refresh_zigbee_router_lqi_action_scheduled
|
|
alias: 'Network: Refresh Zigbee router network link qualities on schedule'
|
|
triggers:
|
|
- trigger: time_pattern
|
|
hours: 1
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.network_refresh_zigbee_router_lqi
|
|
- id: network_refresh_zigbee_router_lqi_action
|
|
alias: 'Network: Refresh Zigbee router network link qualities'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.network_refresh_zigbee_router_lqi
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Driveway Repeater/1/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Landing Repeater/1/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Garden Repeater/1/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Kitchen Fan Outlet/11/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Deck Fans Outlet/11/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Edwin Wardrobe Outlet/11/set
|
|
payload: '{"read":{"attributes":["dateCode","modelId"],"cluster":"genBasic","options":{}}}'
|
|
- delay: 00:00:01
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.driveway_repeater_last_seen') | lower)\
|
|
\ in ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.driveway_repeater_last_seen'))) > 11) }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Driveway Repeater
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.landing_repeater_last_seen') | lower) in\
|
|
\ ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.landing_repeater_last_seen'))) > 11) }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Landing Repeater
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.garden_repeater_last_seen') | lower) in\
|
|
\ ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.garden_repeater_last_seen'))) > 11) }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Garden Repeater
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.kitchen_fan_outlet_last_seen') | lower)\
|
|
\ in ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.kitchen_fan_outlet_last_seen'))) > 11) }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Kitchen Fan Outlet
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.deck_fans_outlet_last_seen') | lower) in\
|
|
\ ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.deck_fans_outlet_last_seen'))) > 11) }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Deck Fans Outlet
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: "{{ ((states('sensor.edwin_wardrobe_outlet_last_seen') | lower)\
|
|
\ in ['unavailable', 'unknown', 'none', 'n/a']) or\n ((as_timestamp(now())\
|
|
\ - as_timestamp(states('sensor.edwin_wardrobe_outlet_last_seen'))) > 11)\
|
|
\ }}"
|
|
then:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: zigbee/Edwin Wardrobe Outlet
|
|
payload: '{ "last_seen": null, "linkquality": 0, "state": null, "update":
|
|
{ "installed_version": null, "latest_version": null, "state": null }, "update_available":
|
|
false }'
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.network_refresh_zigbee_router_lqi
|
|
- id: lighting_reset_adaptive_lighting_announce
|
|
alias: 'Lighting: Reset Adaptive Lighting on bulb announce'
|
|
mode: single
|
|
triggers:
|
|
- trigger: mqtt
|
|
topic: zigbee/bridge/event
|
|
condition:
|
|
- condition: template
|
|
value_template: '{{ trigger.payload_json.data.friendly_name | regex_search(" Bulb
|
|
1$") }}'
|
|
actions:
|
|
- variables:
|
|
light: '{{ "light." + (trigger.payload_json.data.friendly_name | regex_replace("
|
|
Bulb 1$") | replace(" ", "_") | lower) }}'
|
|
light_reset: '{{ "input_boolean.lighting_reset_adaptive_lighting_" + (light
|
|
| replace("light.", "")) }}'
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ is_state(light_reset, "off") }}'
|
|
then:
|
|
- action: input_boolean.turn_on
|
|
data_template:
|
|
entity_id: '{{ light_reset }}'
|
|
else:
|
|
- action: light.turn_on
|
|
data_template:
|
|
color_temp: 366
|
|
brightness_pct: 100
|
|
entity_id: '{{ light }}'
|
|
- id: lighting_reset_adaptive_lighting_for_all_lights
|
|
alias: 'Lighting: Reset Adaptive Lighting for All Lights'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_all
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_task
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_task
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_night
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_night
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_ambient_narrowband_dimming
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_ambient_narrowband_dimming
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_ambient_dimming
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_ambient_dimming
|
|
- action: switch.turn_off
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
- delay: 00:00:01
|
|
- action: switch.turn_on
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_all
|
|
- id: lighting_reset_adaptive_lighting_ada_lamp
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Ada Lamp'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ada_lamp
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task
|
|
lights: light.ada_lamp
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ada_lamp
|
|
- id: lighting_reset_adaptive_lighting_edwin_night_light
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Edwin Night Light'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_edwin_night_light
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_night
|
|
lights: light.edwin_night_light
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_edwin_night_light
|
|
- id: lighting_reset_adaptive_lighting_hallway_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Hallway Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_hallway_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient_narrowband_dimming
|
|
lights: light.hallway_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_hallway_main
|
|
- id: lighting_reset_adaptive_lighting_hallway_sconces
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Hallway Sconces'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_hallway_sconces
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient_narrowband_dimming
|
|
lights: light.hallway_sconces
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_hallway_sconces
|
|
- id: lighting_reset_adaptive_lighting_dining_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Dining Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_dining_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.dining_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_dining_main
|
|
- id: lighting_reset_adaptive_lighting_lounge_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Lounge Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_lounge_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.lounge_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_lounge_main
|
|
- id: lighting_reset_adaptive_lighting_lounge_lamp
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Lounge Lamp'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_lounge_lamp
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task
|
|
lights: light.lounge_lamp
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_lounge_lamp
|
|
- id: lighting_reset_adaptive_lighting_parents_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Parents Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient_dimming
|
|
lights: light.parents_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_main
|
|
- id: lighting_reset_adaptive_lighting_parents_jane_bedside
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Jane Bedside'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_jane_bedside
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
lights: light.parents_jane_bedside
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_jane_bedside
|
|
- id: lighting_reset_adaptive_lighting_parents_graham_bedside
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Graham Bedside'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_graham_bedside
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
lights: light.parents_graham_bedside
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_parents_graham_bedside
|
|
- id: lighting_reset_adaptive_lighting_study_lamp
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Study Lamp'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_study_lamp
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task
|
|
lights: light.study_lamp
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_study_lamp
|
|
- id: lighting_reset_adaptive_lighting_kitchen_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Kitchen Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_kitchen_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.kitchen_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_kitchen_main
|
|
- id: lighting_reset_adaptive_lighting_laundry_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Laundry Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_laundry_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.laundry_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_laundry_main
|
|
- id: lighting_reset_adaptive_lighting_pantry_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Pantry Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_pantry_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.pantry_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_pantry_main
|
|
- id: lighting_reset_adaptive_lighting_office_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Office Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_office_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: light.turn_on
|
|
data_template:
|
|
color_temp: 250
|
|
brightness_pct: 100
|
|
entity_id: light.office_main
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_office_main
|
|
- id: lighting_reset_adaptive_lighting_bathroom_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Bathroom Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_bathroom_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient_dimming
|
|
lights: light.bathroom_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_bathroom_main
|
|
- id: lighting_reset_adaptive_lighting_bathroom_sconces
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Bathroom Sconces'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_bathroom_sconces
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
lights: light.bathroom_sconces
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_bathroom_sconces
|
|
- id: lighting_reset_adaptive_lighting_ensuite_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Ensuite Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ensuite_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient_dimming
|
|
lights: light.ensuite_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ensuite_main
|
|
- id: lighting_reset_adaptive_lighting_ensuite_sconces
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Ensuite Sconces'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ensuite_sconces
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_task_narrowband
|
|
lights: light.ensuite_sconces
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_ensuite_sconces
|
|
- id: lighting_reset_adaptive_lighting_wardrobe_main
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Wardrobe Main'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_wardrobe_main
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: adaptive_lighting.set_manual_control
|
|
data:
|
|
entity_id: switch.adaptive_lighting_ambient
|
|
lights: light.wardrobe_main
|
|
manual_control: false
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_wardrobe_main
|
|
- id: lighting_reset_adaptive_lighting_tree_spotlights
|
|
alias: 'Lighting: Reset Adaptive Lighting on request of Tree Spotlights'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_tree_spotlights
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: light.turn_on
|
|
data_template:
|
|
color_temp: 366
|
|
brightness_pct: 100
|
|
entity_id: light.tree_spotlights
|
|
- delay: 00:00:10
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.lighting_reset_adaptive_lighting_tree_spotlights
|
|
- sonos:
|
|
media_player:
|
|
hosts:
|
|
- 10.0.3.40
|
|
- 10.0.3.41
|
|
- 10.0.3.42
|
|
- 10.0.3.43
|
|
- id: routine_water_booster_on
|
|
alias: 'Water Heating: Turn on water heater booster'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: 04:30:00
|
|
- trigger: time
|
|
at: 05:30:00
|
|
- trigger: time
|
|
at: '15:30:00'
|
|
condition:
|
|
or:
|
|
- condition: template
|
|
value_template: '{{ now().month == 5 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 6 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 7 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 8 }}'
|
|
actions:
|
|
- action: switch.turn_on
|
|
entity_id: switch.ceiling_water_booster_plug
|
|
- id: routine_water_booster_off
|
|
mode: single
|
|
alias: 'Water Heating: Turn off water heater booster'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: switch.ceiling_water_booster_plug
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- delay: 00:45:00
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.ceiling_water_booster_plug
|
|
- id: routine_water_booster_off_failsafe
|
|
alias: 'Water Heating: Turn off water heater booster fail-safe'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: 15
|
|
condition:
|
|
and:
|
|
- condition: time
|
|
after: '22:00:00'
|
|
before: 04:00:00
|
|
- condition: state
|
|
entity_id: switch.ceiling_water_booster_plug
|
|
state: 'on'
|
|
actions:
|
|
- action: switch.turn_off
|
|
entity_id: switch.ceiling_water_booster_plug
|
|
- id: routine_coffee_machine_off
|
|
alias: 'Coffee Machine: Turn off coffee machine'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: switch.kitchen_coffee_machine_plug
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- delay: 00:15:00
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.kitchen_coffee_machine_plug
|
|
- id: routine_coffee_machine_off_failsafe
|
|
alias: 'Coffee Machine: Turn off coffee machine fail-safe'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: 15
|
|
condition:
|
|
and:
|
|
- condition: time
|
|
after: '13:00:00'
|
|
before: 06:00:00
|
|
- condition: state
|
|
entity_id: switch.kitchen_coffee_machine_plug
|
|
state: 'on'
|
|
actions:
|
|
- action: switch.turn_off
|
|
entity_id: switch.kitchen_coffee_machine_plug
|
|
- id: routine_home_sleep_cube
|
|
alias: 'Routine: Put home to sleep via cube'
|
|
mode: restart
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.home_cube_remote_action
|
|
to: flip90
|
|
actions:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_sleep
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_sleep
|
|
- id: routine_home_wakeup_cube
|
|
alias: 'Routine: Wake home up via cube'
|
|
mode: restart
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sensor.home_cube_remote_action
|
|
to: shake
|
|
actions:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_sleep
|
|
- id: routine_home_fans_off
|
|
alias: 'Routine: Turn fans off'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: 03:00:00
|
|
action:
|
|
- service: fan.turn_off
|
|
target:
|
|
entity_id:
|
|
- fan.ada_fan
|
|
- fan.edwin_fan
|
|
- fan.parents_fan
|
|
- fan.lounge_fan
|
|
- fan.deck_fan
|
|
- id: routine_init
|
|
alias: 'Routine: Run init code after startup'
|
|
mode: single
|
|
triggers:
|
|
- trigger: homeassistant
|
|
event: start
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
target:
|
|
entity_id: input_boolean.home_started
|
|
- action: system_log.write
|
|
data_template:
|
|
level: info
|
|
message: Home Assistant has started!
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id:
|
|
- switch.adaptive_lighting_sleep_mode_night
|
|
- id: routine_home_sleep
|
|
alias: 'Routine: Put home to sleep'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_sleep
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id:
|
|
- light.parents_main
|
|
- action: media_player.unjoin
|
|
target:
|
|
entity_id: media_player.parents_move
|
|
- action: media_player.volume_mute
|
|
data:
|
|
entity_id: media_player.parents_move
|
|
is_volume_muted: false
|
|
- action: media_player.volume_set
|
|
data:
|
|
entity_id: media_player.parents_move
|
|
volume_level: '0.3'
|
|
- action: media_player.turn_off
|
|
target:
|
|
entity_id:
|
|
- media_player.ada_home
|
|
- media_player.edwin_home
|
|
- action: media_player.play_media
|
|
data:
|
|
media_content_type: music
|
|
media_content_id: https://nginx.janeandgraham.com/relaxation-sounds/ocean.mp3
|
|
target:
|
|
entity_id: media_player.parents_move
|
|
- action: media_player.repeat_set
|
|
data:
|
|
repeat: all
|
|
entity_id: media_player.parents_move
|
|
- id: routine_home_wakeup
|
|
alias: 'Routine: Wake home up'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_sleep
|
|
from: 'on'
|
|
to: 'off'
|
|
actions:
|
|
- action: media_player.media_stop
|
|
target:
|
|
entity_id:
|
|
- media_player.parents_move
|
|
- action: media_player.volume_set
|
|
data:
|
|
entity_id: media_player.parents_move
|
|
volume_level: '0.2'
|
|
- action: automation.trigger
|
|
data:
|
|
entity_id: automation.lighting_reset_adaptive_lighting_for_all_lights
|
|
- id: routine_home_reset
|
|
alias: 'Routine: Reset home to defaults'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_reset
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- action: automation.trigger
|
|
data:
|
|
entity_id: automation.lighting_reset_adaptive_lighting_for_all_lights
|
|
- delay: 00:00:01
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_reset
|
|
- id: routine_home_lights_off
|
|
alias: 'Routine: Turn night lights off'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: 09:00:00
|
|
actions:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id:
|
|
- switch.adaptive_lighting_sleep_mode_night
|
|
- delay: 00:00:05
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id:
|
|
- light.ada_lamp
|
|
- light.edwin_lamp
|
|
- light.edwin_night_light
|
|
- light.hallway_sconces
|
|
- action: number.set_value
|
|
target:
|
|
entity_id:
|
|
- number.ada_fan_light_motion_sense_timeout
|
|
- number.edwin_fan_light_motion_sense_timeout
|
|
data:
|
|
value: 3600
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id:
|
|
- switch.ada_fan_light_return_to_auto
|
|
- switch.edwin_fan_light_return_to_auto
|
|
- action: light.turn_on
|
|
target:
|
|
entity_id:
|
|
- light.ada_fan
|
|
- light.edwin_fan
|
|
- action: fan.turn_off
|
|
target:
|
|
entity_id:
|
|
- fan.ada_fan
|
|
- fan.edwin_fan
|
|
- fan.parents_fan
|
|
- fan.lounge_fan
|
|
- fan.deck_fan
|
|
- id: routine_home_lights_off_weekday
|
|
alias: 'Routine: Turn night lights off on week days'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: 09:00:00
|
|
condition:
|
|
condition: state
|
|
entity_id: binary_sensor.workday_sensor
|
|
state: 'on'
|
|
actions:
|
|
- action: media_player.turn_off
|
|
target:
|
|
entity_id:
|
|
- media_player.ada_home
|
|
- media_player.edwin_home
|
|
- media_player.lounge_home
|
|
- id: routine_home_lights_off_early
|
|
alias: 'Routine: Turn early night lights off'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: '19:30:00'
|
|
actions:
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id:
|
|
- light.hallway_sconces
|
|
- id: routine_home_lights_on
|
|
alias: 'Routine: Turn night lights on'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: '17:45:00'
|
|
actions:
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id:
|
|
- switch.adaptive_lighting_sleep_mode_night
|
|
- delay: 00:00:05
|
|
- action: light.turn_on
|
|
target:
|
|
entity_id:
|
|
- light.edwin_night_light
|
|
- light.hallway_sconces
|
|
- action: number.set_value
|
|
target:
|
|
entity_id:
|
|
- number.ada_fan_light_motion_sense_timeout
|
|
- number.edwin_fan_light_motion_sense_timeout
|
|
data:
|
|
value: 10800
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id:
|
|
- switch.ada_fan_light_return_to_auto
|
|
- switch.edwin_fan_light_return_to_auto
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id:
|
|
- light.ada_fan
|
|
- light.ada_lamp
|
|
- light.edwin_fan
|
|
- light.edwin_lamp
|
|
- action: media_player.volume_set
|
|
data:
|
|
entity_id:
|
|
- media_player.ada_home
|
|
- media_player.edwin_home
|
|
volume_level: '0.2'
|
|
- id: routine_home_movie_on
|
|
alias: 'Routine: Put home into Movie mode'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_movie
|
|
from: 'off'
|
|
to: 'on'
|
|
actions: null
|
|
- id: routine_home_movie_off
|
|
alias: 'Routine: Take home out of Movie mode'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_movie
|
|
from: 'on'
|
|
to: 'off'
|
|
actions: null
|
|
- id: routine_bathroom_rails_on
|
|
alias: 'Water Heating: Turn on towel rails'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time
|
|
at: 03:00:00
|
|
condition:
|
|
or:
|
|
- condition: template
|
|
value_template: '{{ now().month == 5 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 6 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 7 }}'
|
|
- condition: template
|
|
value_template: '{{ now().month == 8 }}'
|
|
actions:
|
|
- action: switch.turn_on
|
|
entity_id: switch.bathroom_rails_plug
|
|
- id: routine_bathroom_rails_off
|
|
alias: 'Water Heating: Turn off towel rails'
|
|
mode: single
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: switch.bathroom_rails_plug
|
|
from: 'off'
|
|
to: 'on'
|
|
actions:
|
|
- delay: 04:00:00
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.bathroom_rails_plug
|
|
- id: routine_bathroom_rails_off_failsafe
|
|
alias: 'Water Heating: Turn off towel rails fail-safe'
|
|
mode: single
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: 15
|
|
condition:
|
|
and:
|
|
- condition: time
|
|
after: '22:00:00'
|
|
before: 02:00:00
|
|
- condition: state
|
|
entity_id: switch.bathroom_rails_plug
|
|
state: 'on'
|
|
actions:
|
|
- action: switch.turn_off
|
|
entity_id: switch.bathroom_rails_plug
|
|
- id: routine_home_security_check_on
|
|
alias: 'Routine: Attempt to put Home into Secure mode at regular intervals'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: time_pattern
|
|
minutes: 15
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''input_boolean.home_security'') == ''off'' }}'
|
|
then:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security
|
|
- id: routine_home_security_on
|
|
alias: 'Routine: Put Home into Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_security
|
|
to: 'on'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''lock.back_door_lock'') == ''unlocked'' or states(''lock.front_door_lock'')
|
|
== ''unlocked'' }}'
|
|
then:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security_triggered
|
|
- delay: 00:00:01
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_security
|
|
else:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_security_triggered
|
|
- action: input_boolean.turn_on
|
|
entity_id:
|
|
- input_boolean.back_door_lock_security
|
|
- input_boolean.front_door_lock_security
|
|
- id: routine_home_security_off
|
|
alias: 'Routine: Take Home out of Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.home_security
|
|
to: 'off'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''input_boolean.home_security_triggered'') == ''on''
|
|
}}'
|
|
then:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_security_triggered
|
|
else:
|
|
- action: input_boolean.turn_off
|
|
entity_id:
|
|
- input_boolean.back_door_lock_security
|
|
- input_boolean.front_door_lock_security
|
|
- id: routine_back_door_state_all_on
|
|
alias: 'Routine: Back Door State all on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_back_door_state
|
|
to: 'on'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_state'') == ''on''
|
|
and states(''binary_sensor.template_front_door_state'') == ''on'' }}'
|
|
then:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security
|
|
- id: routine_back_door_state_all_off
|
|
alias: 'Routine: Back Door State all off'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_back_door_state
|
|
to: 'off'
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security_triggered
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_security
|
|
- id: routine_front_door_state_all_on
|
|
alias: 'Routine: Front Door State all on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_front_door_state
|
|
to: 'on'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_state'') == ''on''
|
|
and states(''binary_sensor.template_front_door_state'') == ''on'' }}'
|
|
then:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security
|
|
- id: routine_front_door_state_all_off
|
|
alias: 'Routine: Front Door State all off'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_front_door_state
|
|
to: 'off'
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.home_security_triggered
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.home_security
|
|
- id: routine_back_door_lock_security_on
|
|
alias: 'Routine: Put Back Door Lock into Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.back_door_lock_security
|
|
to: 'on'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''lock.back_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- delay: 00:00:01
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.back_door_lock_security
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.back_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.back_door_lock
|
|
- id: routine_front_door_lock_security_on
|
|
alias: 'Routine: Put Front Door Lock into Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.front_door_lock_security
|
|
to: 'on'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''lock.front_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- delay: 00:00:01
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.front_door_lock_security
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_front_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.front_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.front_door_lock
|
|
- id: routine_back_door_lock_security_off
|
|
alias: 'Routine: Take Back Door Lock out of Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.back_door_lock_security
|
|
to: 'off'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''lock.back_door_lock'') == ''locked'' }}'
|
|
then:
|
|
- action: lock.unlock
|
|
entity_id: lock.back_door_lock
|
|
- id: routine_front_door_lock_security_off
|
|
alias: 'Routine: Take Front Door Lock out of Secure mode'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: input_boolean.front_door_lock_security
|
|
to: 'off'
|
|
actions:
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''lock.front_door_lock'') == ''locked'' }}'
|
|
then:
|
|
- action: lock.unlock
|
|
entity_id: lock.front_door_lock
|
|
- id: routine_template_back_door_sensor_contact_last_on
|
|
alias: 'Routine: Template Back Door Sensor Contact Last on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_back_door_sensor_contact_last
|
|
to: 'off'
|
|
actions:
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.back_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.back_door_lock
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.back_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.back_door_lock
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_back_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.back_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.back_door_lock
|
|
- id: routine_template_front_door_sensor_contact_last_on
|
|
alias: 'Routine: Template Front Door Sensor Contact Last on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_front_door_sensor_contact_last
|
|
to: 'off'
|
|
actions:
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_front_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.front_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.front_door_lock
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_front_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.front_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.front_door_lock
|
|
- delay: 00:00:01
|
|
- if:
|
|
- condition: template
|
|
value_template: '{{ states(''binary_sensor.template_front_door_sensor_contact_last'')
|
|
== ''off'' and states(''lock.front_door_lock'') == ''unlocked'' }}'
|
|
then:
|
|
- action: lock.lock
|
|
entity_id: lock.front_door_lock
|
|
- id: routine_back_door_state_on
|
|
alias: 'Routine: Back Door State on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_back_door_state
|
|
to: 'on'
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.back_door_lock_security
|
|
- id: routine_back_door_state_off
|
|
alias: 'Routine: Back Door State off'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_back_door_state
|
|
to: 'off'
|
|
actions:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.back_door_lock_security
|
|
- id: routine_front_door_state_on
|
|
alias: 'Routine: Front Door State on'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_front_door_state
|
|
to: 'on'
|
|
actions:
|
|
- action: input_boolean.turn_on
|
|
entity_id: input_boolean.front_door_lock_security
|
|
- id: routine_front_door_state_off
|
|
alias: 'Routine: Front Door State off'
|
|
mode: queued
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: binary_sensor.template_front_door_state
|
|
to: 'off'
|
|
actions:
|
|
- action: input_boolean.turn_off
|
|
entity_id: input_boolean.front_door_lock_security
|
|
- alias: Update BOM Icons
|
|
trigger:
|
|
- event: start
|
|
platform: homeassistant
|
|
- entity_id: sun.sun
|
|
platform: state
|
|
to: above_horizon
|
|
- entity_id: sun.sun
|
|
platform: state
|
|
to: below_horizon
|
|
action:
|
|
- service: homeassistant.update_entity
|
|
entity_id: sensor.bom_forecast_0, sensor.bom_forecast_1, sensor.bom_forecast_2,
|
|
sensor.bom_forecast_3, sensor.bom_forecast_4, sensor.bom_forecast_5, sensor.bom_forecast_6
|
|
- id: weather_ipdate_bom_icons
|
|
alias: 'Weather: Update BOM Icons'
|
|
triggers:
|
|
- trigger: state
|
|
entity_id: sun.sun
|
|
to: above_horizon
|
|
- trigger: state
|
|
entity_id: sun.sun
|
|
to: below_horizon
|
|
actions:
|
|
- action: homeassistant.update_entity
|
|
entity_id:
|
|
- sensor.bom_forecast_0
|
|
- sensor.bom_forecast_1
|
|
- sensor.bom_forecast_2
|
|
- sensor.bom_forecast_3
|
|
- sensor.bom_forecast_4
|
|
- sensor.bom_forecast_5
|
|
- sensor.bom_forecast_6
|