AutomationDataset/ggear/ggear_automations.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