2432 lines
68 KiB
YAML
2432 lines
68 KiB
YAML
- id: '1611982176739'
|
|
alias: 'System: SSL Certificate Renewal'
|
|
description: renew ssl certificate from letsencrypt.
|
|
trigger:
|
|
- at: 00:02
|
|
platform: time
|
|
condition: []
|
|
action:
|
|
- data:
|
|
addon: core_letsencrypt
|
|
action: hassio.addon_restart
|
|
mode: single
|
|
- id: '1612291452533'
|
|
alias: 'Shed: Plant Light Controls'
|
|
description: used when Rosemary plant is brought indoors during the winter.
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
id: shed_plant_light_on
|
|
- platform: event
|
|
event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.shed_indoor_plant_light_on
|
|
id: shed_plant_light_off
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.shed_indoor_plant_light
|
|
state: 'on'
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- shed_plant_light_on
|
|
sequence:
|
|
- action: timer.start
|
|
data: {}
|
|
target:
|
|
entity_id: timer.shed_indoor_plant_light_on
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.plg_shed_utility
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- shed_plant_light_off
|
|
sequence:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.plg_shed_utility
|
|
data: {}
|
|
mode: single
|
|
- id: '1612292614712'
|
|
alias: 'Kitchen Speakers: ON when music starts playing'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id: media_player.kitchen_speaker
|
|
to: playing
|
|
for: 00:00:01
|
|
condition:
|
|
- condition: state
|
|
state: 'off'
|
|
entity_id: switch.plg_kitchen_speaker
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_kitchen_speaker
|
|
mode: single
|
|
- id: '1612292752882'
|
|
alias: 'Kitchen Speakers: Off when music no longer playing'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id: media_player.kitchen_speaker
|
|
from: playing
|
|
to: idle
|
|
for: 00:00:30
|
|
- platform: state
|
|
entity_id: media_player.kitchen_speaker
|
|
to: 'off'
|
|
condition:
|
|
- condition: state
|
|
state: 'on'
|
|
entity_id: switch.plg_kitchen_speaker
|
|
action:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_kitchen_speaker
|
|
mode: single
|
|
- id: '1612292819059'
|
|
alias: 'House: Indoor Lights on at sunset'
|
|
description: ''
|
|
triggers:
|
|
- event: sunset
|
|
trigger: sun
|
|
conditions: []
|
|
actions:
|
|
- action: light.turn_on
|
|
target:
|
|
entity_id:
|
|
- light.blb_kidsbedroom_lamp
|
|
- light.blb_main_bedroom_floor_lamp
|
|
data:
|
|
transition: 6
|
|
brightness_pct: 50
|
|
rgb_color:
|
|
- 129
|
|
- 173
|
|
- 255
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.fan_family_room_airpurifier_night_mode
|
|
- switch.fan_main_bedroom_airpurifier_night_mode
|
|
- switch.plg_familyroom_cabinetlight
|
|
- switch.sw_kitchen_sinklight
|
|
- switch.family_room_garland_light
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_indoors
|
|
state: 'on'
|
|
then:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.sw_familyroom_christmastree
|
|
- switch.sw_familyroom_cornerlight
|
|
mode: single
|
|
- id: '1612292887886'
|
|
alias: 'House: Indoor Devices off for the night check'
|
|
description: turn off any devices that might have been left on over night.
|
|
triggers:
|
|
- at: 01:01:00
|
|
trigger: time
|
|
conditions: []
|
|
actions:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.plg_familyroom_cabinetlight
|
|
- switch.sw_kitchen_sinklight
|
|
- switch.family_room_garland_light
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.garage_house_door_lock
|
|
- switch.house_front_door_lock
|
|
mode: single
|
|
- id: '1612295061627'
|
|
alias: 'Outside: Lights Off at sunrise'
|
|
description: turn off outdoor lights shortly before sunrise.
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: -00:15:00
|
|
condition: []
|
|
action:
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id: light.group_driveway_lights
|
|
data:
|
|
transition: 2
|
|
- action: light.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: light.front_door_ring_light
|
|
mode: single
|
|
- id: '1612298561421'
|
|
alias: 'Main Bedroom: Climate controls'
|
|
description: ''
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: /10
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.main_bedroom_heater
|
|
state: 'on'
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: numeric_state
|
|
below: '21.1'
|
|
entity_id: sensor.main_bedroom_mean_temperature_calculation
|
|
- condition: state
|
|
entity_id: binary_sensor.main_bedroom_presence_sensor_timeout
|
|
state: 'on'
|
|
- condition: time
|
|
after: '22:00:00'
|
|
before: 05:29:00
|
|
- condition: state
|
|
entity_id: switch.sw_main_bedroom_heater
|
|
state: 'off'
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_main_bedroom_heater
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: time
|
|
after: 05:30:00
|
|
before: '21:59:00'
|
|
- condition: state
|
|
entity_id: switch.sw_main_bedroom_heater
|
|
state: 'on'
|
|
sequence:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_main_bedroom_heater
|
|
default: []
|
|
mode: single
|
|
- id: '1612306243899'
|
|
alias: 'Garage Inside: Lights on when person doors opened'
|
|
description: turn on garage lights when house or side door is opened after sunset.
|
|
trigger:
|
|
- platform: state
|
|
to: 'on'
|
|
entity_id: binary_sensor.snr_garage_housedoorcontact_contact
|
|
- platform: state
|
|
entity_id: binary_sensor.snr_garage_sidedoorcontact_contact
|
|
from: 'off'
|
|
to: 'on'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: state
|
|
entity_id: switch.sw_garage_ceilingmainlights
|
|
state: 'off'
|
|
for: 00:00:10
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_garage_ceilingmainlights
|
|
mode: single
|
|
- id: '1612309818757'
|
|
alias: 'Garage Outside: Side light On at night with motion'
|
|
description: turn light at garage side door on when motion is detected at side of
|
|
house.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.snr_outside_garagesidemotion_occupancy
|
|
from: 'off'
|
|
to: 'on'
|
|
id: outside_garage_motion_on
|
|
- platform: event
|
|
event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.outside_garage_side_door_light_on
|
|
id: outside_garage_motion_off
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_garage_motion_on
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
sequence:
|
|
- action: timer.start
|
|
target:
|
|
entity_id: timer.outside_garage_side_door_light_on
|
|
data: {}
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.sw_outside_garagesidedoorlight
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_garage_motion_off
|
|
sequence:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.sw_outside_garagesidedoorlight
|
|
data: {}
|
|
mode: restart
|
|
- id: '1612462343806'
|
|
alias: 'Garage Inside: Dehumidifier off when vehicle door opened'
|
|
description: turn off dehumidifier when garage vehicle door is opened.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
from: 'off'
|
|
to: 'on'
|
|
for: 00:00:20
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
state: 'on'
|
|
action:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
mode: single
|
|
- id: '1612462859674'
|
|
alias: 'Garage Inside: Dehumidifier check when vehicle door closes'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
from: 'on'
|
|
to: 'off'
|
|
for: 00:00:20
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: numeric_state
|
|
above: '65.0'
|
|
entity_id: sensor.garage_mean_humidity_calculation
|
|
- condition: state
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
state: 'off'
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
mode: single
|
|
- id: '1612463000537'
|
|
alias: 'Garage Inside: Dehumidifier on with high humidity'
|
|
description: check garage humidity every 10 minutes and turn on dehumidifier if
|
|
humidity has risen above 65% RH
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: /10
|
|
condition:
|
|
- condition: numeric_state
|
|
above: '65.0'
|
|
entity_id: sensor.garage_mean_humidity_calculation
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
state: 'off'
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
mode: single
|
|
- id: '1612463100433'
|
|
alias: 'Garage Inside: Dehumidifier off with low humidity'
|
|
description: check garage humidity every 15 minutes and turn off dehumidifier if
|
|
humidity has dropped below 61% RH
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: /15
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: numeric_state
|
|
entity_id: sensor.garage_mean_humidity_calculation
|
|
below: '61.0'
|
|
- condition: state
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
state: 'on'
|
|
for:
|
|
hours: 1
|
|
minutes: 0
|
|
seconds: 0
|
|
action:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_garage_dehumidifier
|
|
mode: single
|
|
- id: '1613012241426'
|
|
alias: 'Office: Air Purifier on with occupancy'
|
|
description: ''
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: ac1685c3f906b6d35a73dd2e5a7ce265
|
|
type: action
|
|
subtype: tilt
|
|
id: tilt
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.office_presence_sensor_timeout
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: switch.plg_office_airpurifier
|
|
state: 'off'
|
|
actions:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_office_airpurifier
|
|
mode: restart
|
|
- id: '1613012339822'
|
|
alias: 'Office: Air Purifier off when room is empty'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.office_presence_sensor_presence
|
|
to: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.plg_office_airpurifier
|
|
state: 'on'
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_outside_airquality_aqi
|
|
below: 100
|
|
- condition: numeric_state
|
|
entity_id: sensor.indoor_mean_air_quality_calculation
|
|
below: 10
|
|
action:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_office_airpurifier
|
|
mode: single
|
|
- id: '1613958937211'
|
|
alias: 'House: Nofity if water leak detected'
|
|
description: send notification to everyone, including the TV, if water leak is detected.
|
|
triggers:
|
|
- entity_id: binary_sensor.group_leak_sensors
|
|
to: 'on'
|
|
trigger: state
|
|
conditions: []
|
|
actions:
|
|
- action: notify.grp_anne_chris_phones
|
|
data:
|
|
title: ❗💧 Water Detected
|
|
message: Water detected at {{ triggered_leak_sensor }} sensor.
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: awtrix/CLC_Kitchen/notify
|
|
payload: "{\n \"text\": \"Water at {{ triggered_leak_sensor }}\",\n \"icon\"\
|
|
: \"555\",\n \"pushIcon\": \"2\",\n \"repeat\": 2,\n \"scrollSpeed\": 50,\n\
|
|
\ \"rtttl\": \"siren:d=4,o=5,b=100:d,e\",\n \"loopSound\": true\n}"
|
|
- action: notify.grp_all_tvs
|
|
data:
|
|
message: ALERT! Water detected at {{ triggered_leak_sensor }} sensor.
|
|
variables:
|
|
triggered_leak_sensor: "{% for entity in trigger.to_state.attributes.entity_id\
|
|
\ %}\n {% if is_state(entity, 'on') %}\n {{ state_attr(entity, 'friendly_name')\
|
|
\ }}\n {% endif %}\n{% endfor %}\n"
|
|
mode: single
|
|
- id: '1616274628046'
|
|
alias: 'Kitchen: Espresso Machine On in the morning'
|
|
description: turn on the espresso machine in the morning (between 05:00 - 10:00)
|
|
when chris' iphone is removed from the charger for 1 minute.
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.turraphone_battery_state
|
|
to: Not Charging
|
|
for:
|
|
hours: 0
|
|
minutes: 1
|
|
seconds: 0
|
|
- platform: state
|
|
entity_id:
|
|
- sensor.toothbrush_chris_toothbrush_state
|
|
to: running
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 10
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
state: home
|
|
entity_id: device_tracker.turraphone
|
|
- condition: time
|
|
before: '10:00:00'
|
|
after: 05:00:00
|
|
- condition: state
|
|
state: 'off'
|
|
entity_id: switch.plg_kitchen_espressomachine
|
|
action:
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.plg_kitchen_espressomachine
|
|
data: {}
|
|
mode: single
|
|
- id: '1616875296550'
|
|
alias: 'Crawlspace: Notify when locker door opened'
|
|
description: when locker door is opened notify chris' iphone.
|
|
trigger:
|
|
- platform: state
|
|
to: 'on'
|
|
for: 00:00:02
|
|
entity_id: binary_sensor.snr_crawlspace_lockerdoorcontact_contact
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: ❗🚪 Locker Door Open
|
|
message: Locker Door has been opened
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
mode: single
|
|
- id: '1617333806988'
|
|
alias: 'Shed: Flood Light on at night with motion'
|
|
description: turn on shed flood light 15 minutes after sun is below the horizon
|
|
and keep on for 5 minutes after motion is no longer detected.
|
|
trigger:
|
|
- platform: state
|
|
to: 'on'
|
|
entity_id: binary_sensor.snr_outside_shedmotion_occupancy
|
|
id: outside_shed_floodlight_on
|
|
- platform: event
|
|
event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.outside_shed_flood_light_on
|
|
id: outside_shed_floodlight_off
|
|
condition:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
for: 00:15:00
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_shed_floodlight_on
|
|
sequence:
|
|
- action: timer.start
|
|
target:
|
|
entity_id: timer.outside_shed_flood_light_on
|
|
data: {}
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.sw_shed_floodlight
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_shed_floodlight_off
|
|
sequence:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.sw_shed_floodlight
|
|
data: {}
|
|
mode: restart
|
|
- id: '1619640982634'
|
|
alias: 'Shed: Notify when door left open at night'
|
|
description: notify chris' phone if either shed door is left open for 5 minutes
|
|
when the time is after 22:30.
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: /10
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: binary_sensor.group_shed_doors
|
|
state: 'on'
|
|
for:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
- condition: time
|
|
after: '22:30:00'
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
message: '{{ triggered_door_sensor }} has been left open'
|
|
title: ❗🚪 Shed Door Open
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
variables:
|
|
triggered_door_sensor: "{% for entity in states.binary_sensor.group_shed_doors.attributes.entity_id\
|
|
\ %}\n {% if is_state(entity,'on') %}\n {{ state_attr(entity, 'friendly_name')\
|
|
\ }}\n {% endif %}\n{% endfor %}\n"
|
|
mode: single
|
|
- id: '1619814582936'
|
|
alias: 'Shed: Fan on when door is opened'
|
|
description: turn on shed exhaust fan for 10 minutes when the door is opened.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.snr_shed_doorcontact_contact
|
|
from: 'off'
|
|
to: 'on'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'off'
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_outside_temperature
|
|
above: 0
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- delay:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
mode: single
|
|
- id: '1623889405239'
|
|
alias: 'Garage Inside: Offer to open vehicle door on return home'
|
|
description: notify chris' phone when it returns home from away and offer to open
|
|
the garage door.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: device_tracker.turraphone
|
|
from: not_home
|
|
to: home
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
state: 'off'
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: Welcome Home!
|
|
message: Would you like to open the Garage Door?
|
|
data:
|
|
actions:
|
|
- action: OPEN_DOOR
|
|
title: Yes Please
|
|
- action: NO_ACTION
|
|
title: No Thanks
|
|
- wait_for_trigger:
|
|
- platform: event
|
|
event_type: mobile_app_notification_action
|
|
event_data:
|
|
action: OPEN_DOOR
|
|
timeout: 00:02:00
|
|
continue_on_timeout: false
|
|
- action: cover.open_cover
|
|
target:
|
|
entity_id: cover.garage_vehicledoor
|
|
mode: single
|
|
- id: '1624131994582'
|
|
alias: 'Garage Inside: notify when vehicle door opened'
|
|
description: send a notifications when the garage door has been opened.
|
|
triggers:
|
|
- entity_id: switch.sw_garage_vehicledoorcontact
|
|
from: 'off'
|
|
to: 'on'
|
|
for: 00:00:10
|
|
trigger: state
|
|
conditions: []
|
|
actions:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: 🚪 Garage Door
|
|
message: The Garage Door has been opened.
|
|
data:
|
|
entity_id: camera.cam_garage
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: awtrix/CLC_Kitchen/notify
|
|
payload: "{\n \"text\": \"Garage Door opened\",\n \"icon\": \"555\",\n \"\
|
|
pushIcon\": \"2\",\n \"repeat\": 2,\n \"scrollSpeed\": 50\n}"
|
|
mode: single
|
|
- id: '1630907999593'
|
|
alias: 'Garage Inside: HVAC update outside temperature'
|
|
description: publish outdoor temperature and time to thermostat mqtt topic
|
|
triggers:
|
|
- minutes: /10
|
|
trigger: time_pattern
|
|
conditions: []
|
|
actions:
|
|
- data:
|
|
topic: zigbee2mqtt-pi/HVAC_Garage_Thermostat/set/thermostat_outdoor_temperature
|
|
payload: '{{ states("sensor.snr_outside_temperature") }}'
|
|
action: mqtt.publish
|
|
- data:
|
|
topic: zigbee2mqtt-pi/HVAC_Garage_Thermostat/set/thermostat_time
|
|
payload: ''
|
|
action: mqtt.publish
|
|
mode: restart
|
|
- id: '1631040582872'
|
|
alias: 'Garage Inside: HVAC off when vehicle door opened'
|
|
description: turn heating mode off on thermostat every time door is opened if outside
|
|
temp is lower than 11c to ensure heater doesn't turn on while vehicle door is
|
|
open.
|
|
triggers:
|
|
- entity_id: switch.sw_garage_vehicledoorcontact
|
|
from: 'off'
|
|
to: 'on'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
trigger: state
|
|
conditions:
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_outside_temperature
|
|
below: '11'
|
|
actions:
|
|
- action: climate.set_hvac_mode
|
|
data:
|
|
hvac_mode: 'off'
|
|
target:
|
|
entity_id: climate.hvac_garage_thermostat
|
|
mode: single
|
|
- id: '1631040781299'
|
|
alias: 'Garage Inside: HVAC on when vehicle door closed'
|
|
description: wait a couple mins after vehicle door closes to ensure temp normalizes,
|
|
if current is below target temp, before returning the thermostat to heating mode.
|
|
triggers:
|
|
- entity_id: switch.sw_garage_vehicledoorcontact
|
|
from: 'on'
|
|
to: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 2
|
|
trigger: state
|
|
conditions:
|
|
- condition: state
|
|
entity_id: climate.hvac_garage_thermostat
|
|
state: 'off'
|
|
actions:
|
|
- delay:
|
|
hours: 0
|
|
minutes: "{% set current_temp = state_attr('climate.hvac_garage_thermostat','current_temperature')\
|
|
\ %} {% set target_temp = state_attr('climate.hvac_garage_thermostat','temperature')\
|
|
\ %} {% if is_number(current_temp) and is_number(target_temp) %}\n {% set\
|
|
\ temp_diff = current_temp | float - target_temp | float %}\n {# delay if\
|
|
\ temp diff is lower to give room time for normalization #}\n {% if (temp_diff\
|
|
\ >= 3.0) %}\n 0\n {% elif (temp_diff < 3.0) and (temp_diff > 0.0) %}\n\
|
|
\ 3\n {% else %}\n 6\n {% endif %}\n{% else %}\n {# non-numeric number\
|
|
\ returned. set a longer delay to be safe #}\n 6\n{% endif %}\n"
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: climate.set_hvac_mode
|
|
data:
|
|
hvac_mode: heat
|
|
target:
|
|
entity_id: climate.hvac_garage_thermostat
|
|
mode: restart
|
|
- id: '1631739108301'
|
|
alias: 'Garage Inside: Notify when vehicle door left open at night'
|
|
description: notify chris' phone if the vehicle door is left open for 5 minutes
|
|
when the time is after 22:30.
|
|
triggers:
|
|
- minutes: /10
|
|
trigger: time_pattern
|
|
conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
state: 'on'
|
|
for: 00:05:00
|
|
- condition: time
|
|
after: '22:30:00'
|
|
actions:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
message: Garage Vehicle Door has been left open
|
|
title: ❗🚪 Garage Vehicle Door Open
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
mode: single
|
|
- id: '1634070537275'
|
|
alias: 'Crawlspace: Locker climate controls'
|
|
description: ''
|
|
trigger:
|
|
- platform: time_pattern
|
|
hours: /1
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.plg_crawlspace_zbrtr
|
|
state: 'on'
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_crawlspace_locker_climatedisplay_humidity
|
|
below: '49.0'
|
|
sequence:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_crawlspace_zbrtr
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.plg_crawlspace_zbrtr
|
|
state: 'off'
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_crawlspace_locker_climatedisplay_humidity
|
|
above: '52.0'
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_crawlspace_zbrtr
|
|
default: []
|
|
mode: single
|
|
- id: '1634077407692'
|
|
alias: 'House: Announce if water leak detected'
|
|
description: Announce on Sonos speakers if water leak is detected.
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.group_leak_sensors
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- repeat:
|
|
count: '3'
|
|
sequence:
|
|
- action: script.text_to_speech_on_sonos
|
|
data:
|
|
entity_id: media_player.main_bedroom_speaker, media_player.family_room_speaker
|
|
volume_level: 0.8
|
|
min_wait: 1
|
|
message: ALERT. Water detected at {{ triggered_leak_sensor }} sensor.
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 3
|
|
milliseconds: 0
|
|
variables:
|
|
triggered_leak_sensor: "{% for entity in trigger.to_state.attributes.entity_id\
|
|
\ %}\n {% if is_state(entity, 'on') %}\n {{ state_attr(entity, 'friendly_name')\
|
|
\ }}\n {% endif %}\n{% endfor %}\n"
|
|
mode: single
|
|
- id: '1634327400385'
|
|
alias: 'Porch: Lights Off at midnight'
|
|
description: turn porch lights off at midnight.
|
|
trigger:
|
|
- platform: time
|
|
at: '23:59:00'
|
|
condition: []
|
|
action:
|
|
- action: light.turn_off
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id: light.group_porch_lights
|
|
mode: single
|
|
- id: '1635620369445'
|
|
alias: 'Crawlspace: Entrance light ON when door opened'
|
|
description: turn on crawlspace entrance lights when door is opened.
|
|
trigger:
|
|
- platform: state
|
|
from: 'off'
|
|
to: 'on'
|
|
entity_id: binary_sensor.snr_crawlspace_entrancedoorcontact_contact
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.sw_crawlspace_entrancelight
|
|
state: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 10
|
|
action:
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.sw_crawlspace_entrancelight
|
|
mode: single
|
|
- id: '1638686806697'
|
|
alias: 'Garage Inside: Lights on when vehicle doors opened after sunset'
|
|
description: turn on garage lights when vehicle door is opened after sunset (returning
|
|
home only).
|
|
trigger:
|
|
- platform: state
|
|
entity_id: switch.sw_garage_vehicledoorcontact
|
|
to: 'on'
|
|
condition:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: state
|
|
entity_id: binary_sensor.snr_garage_housedoorcontact_contact
|
|
state: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
- condition: state
|
|
entity_id: switch.sw_garage_ceilingmainlights
|
|
state: 'off'
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_garage_ceilingmainlights
|
|
mode: single
|
|
- id: '1642795421437'
|
|
alias: 'House: Nofity if any always on plug turned Off'
|
|
description: send notification to everyone, including the TV, if an always on plug
|
|
has been off for 1 minute
|
|
trigger:
|
|
- platform: state
|
|
entity_id: switch.group_always_on_plugs
|
|
to: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 5
|
|
seconds: 0
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: ❗🔌 Plug Power OFF
|
|
message: Power OFF detected at {{ triggered_plug }}.
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
- action: notify.grp_all_tvs
|
|
data:
|
|
message: ALERT! Power OFF at {{ triggered_plug }}.
|
|
mode: single
|
|
variables:
|
|
triggered_plug: "{% for entity in trigger.to_state.attributes.entity_id %}\n \
|
|
\ {# state could be: off, unavailable and none #}\n {% if not is_state(entity,\
|
|
\ 'on') %}\n {{ state_attr(entity, 'friendly_name') }}\n {% endif %}\n{%\
|
|
\ endfor %}\n"
|
|
- id: '1642826717353'
|
|
alias: 'Laundry: Washing Machine Off if water leak detected'
|
|
description: turn off power to washing machine if water leak sensor is triggered
|
|
in laundry room
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.snr_laundry_washingmachineleak_water_leak
|
|
to: 'on'
|
|
condition: null
|
|
action:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.plg_laundry_washingmachine
|
|
mode: single
|
|
- id: '1643213265225'
|
|
alias: 'Crawlspace: Lab light toggle when Button is pressed'
|
|
description: ''
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 99cf4a4d4355f3dd5b3ad658939ae608
|
|
type: action
|
|
subtype: single
|
|
id: single
|
|
conditions: []
|
|
actions:
|
|
- action: light.toggle
|
|
target:
|
|
entity_id: light.blb_crawlspace_lab
|
|
data:
|
|
kelvin: 4500
|
|
brightness: 255
|
|
mode: single
|
|
- id: '1645572649812'
|
|
alias: 'Shed: Ventilation controls'
|
|
description: ''
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: /15
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: above_horizon
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 0
|
|
- condition: template
|
|
value_template: "{{\n (states('sensor.snr_shed_humidity')|int(default=50)\
|
|
\ > (states('sensor.snr_outside_humidity')|int(default=50)+10))\n}}"
|
|
- condition: numeric_state
|
|
entity_id: sensor.snr_outside_temperature
|
|
above: '0'
|
|
- condition: not
|
|
conditions:
|
|
- condition: template
|
|
value_template: "{{\n 'rainy' in states('weather.pitt_meadows')\n}}"
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'on'
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: template
|
|
value_template: "{{\n 'rainy' in states('weather.pitt_meadows')\n}}"
|
|
sequence:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'off'
|
|
- condition: template
|
|
value_template: "{{\n (states('sensor.snr_shed_temperature')|int(default=10)\
|
|
\ > (states('sensor.snr_outside_temperature')|int(default=10)+10)) and\n\
|
|
\ (states('sensor.snr_shed_temperature')|int(default=10) > 20)\n}}"
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'off'
|
|
- condition: state
|
|
entity_id: binary_sensor.snr_shed_doorcontact_contact
|
|
state: 'on'
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- delay:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- conditions:
|
|
- condition: and
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.dry_garlic
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: switch.sw_shed_fan
|
|
state: 'off'
|
|
- condition: template
|
|
value_template: '{{ now().strftime("%M")|int(default=0) < 15 }}'
|
|
sequence:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
- delay:
|
|
hours: 0
|
|
minutes: 10
|
|
seconds: 0
|
|
milliseconds: 0
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_shed_fan
|
|
default: []
|
|
mode: single
|
|
- id: '1645861752199'
|
|
alias: 'Outside: Front lights transition to security mode check'
|
|
description: transition lights from colours to white for security lighting
|
|
trigger:
|
|
- platform: time
|
|
at: '22:30:00'
|
|
condition:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.adhoc_outside_light_colours
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_outdoors
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: input_boolean.halloween_string_lights_outlet
|
|
state: 'on'
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.adhoc_outside_light_colours
|
|
state: 'on'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_normal_colour
|
|
- scene.porch_bulbs_normal_colour_dimmed
|
|
- conditions:
|
|
- condition: or
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_outdoors
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: input_boolean.halloween_string_lights_outlet
|
|
state: 'on'
|
|
sequence:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: switch.rcl_outside_porchsoffit
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_normal_colour
|
|
- scene.porch_bulbs_normal_colour_dimmed
|
|
default: []
|
|
mode: single
|
|
- id: '1645862394431'
|
|
alias: 'Outside: Lights On at sunset'
|
|
description: turn on outdoor lights shortly after sunset
|
|
trigger:
|
|
- platform: sun
|
|
event: sunset
|
|
offset: 00:15:00
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.adhoc_outside_light_colours
|
|
state: 'on'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_adhoc_colours
|
|
- scene.porch_bulbs_adhoc_colours
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_outdoors
|
|
state: 'on'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_christmas_colours
|
|
- scene.porch_bulbs_christmas_colours
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.rcl_outside_porchsoffit
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.halloween_string_lights_outlet
|
|
state: 'on'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_halloween_colours
|
|
- scene.porch_bulbs_halloween_colours
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.rcl_outside_porchsoffit
|
|
default:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 2
|
|
target:
|
|
entity_id:
|
|
- scene.driveway_bulbs_normal_colour
|
|
- scene.porch_bulbs_normal_colour_dimmed
|
|
- action: light.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: light.front_door_ring_light
|
|
mode: single
|
|
- id: '1664468912980'
|
|
alias: Downstairs Bathroom Adjust Motion Light timer
|
|
description: Picks up the input helper changes and applies them back to the TASMOTA
|
|
switch via MQTT script
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.downstairs_bathroom_switch_blindtime
|
|
id: blindtime-adjusted
|
|
- platform: state
|
|
entity_id:
|
|
- input_number.downstairs_bathroom_switch_lighttime
|
|
id: lighttime-adjusted
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id: blindtime-adjusted
|
|
sequence:
|
|
- action: script.adjust_motion_light_timer_setting
|
|
data:
|
|
timer: blindtime
|
|
topic: SW_DownstairsBathroom_CeilingLight
|
|
duration: '{{ states(''input_number.downstairs_bathroom_switch_blindtime'')
|
|
| int }}'
|
|
- conditions:
|
|
- condition: trigger
|
|
id: lighttime-adjusted
|
|
sequence:
|
|
- action: script.adjust_motion_light_timer_setting
|
|
data:
|
|
timer: lighttime
|
|
topic: SW_DownstairsBathroom_CeilingLight
|
|
duration: '{{ states(''input_number.downstairs_bathroom_switch_lighttime'')
|
|
| int * 60 }}'
|
|
default: []
|
|
mode: single
|
|
- id: '1668805084012'
|
|
alias: 'Downstairs Bathroom: Light on with Motion'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.snr_bathroomdown_motion_occupancy
|
|
to: 'on'
|
|
condition:
|
|
- condition: state
|
|
entity_id: switch.sw_downstairsbathroom_ceilinglight
|
|
state: 'off'
|
|
for:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 5
|
|
action:
|
|
- action: switch.turn_on
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_downstairsbathroom_ceilinglight
|
|
mode: single
|
|
- id: '1673384404017'
|
|
alias: 'House: Notify on high radon levels'
|
|
description: when radon level 1 day average is above 99 Bq/m³
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: sensor.snr_crawlspace_airquality_radon_1_day_average
|
|
above: 99
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: ❗☣️ High Radon Levels
|
|
message: High radon levels detected
|
|
data:
|
|
push:
|
|
sound:
|
|
name: default
|
|
critical: 1
|
|
volume: 1
|
|
mode: single
|
|
- id: '1675732388359'
|
|
alias: 'Ensuite: Toothbrush charge notify'
|
|
description: notify chris before toothbrush runs out of battery.
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: sensor.toothbrush_chris_battery_persistent
|
|
below: 15
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
title: 🪥🪫 Toothbrush Battery Low
|
|
message: Time to charge your toothbrush.
|
|
mode: single
|
|
- id: '1678299719527'
|
|
alias: 'House: Reset maintenance reminders'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.crawlspace_locker_dehumidifier_reset
|
|
- input_boolean.kitchen_dishwasher_cleaning_reset
|
|
- input_boolean.kitchen_espresso_machine_cleaning_reset
|
|
- input_boolean.laundry_washing_machine_cleaning_reset
|
|
- input_boolean.hvac_filter_change_reset
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.crawlspace_locker_dehumidifier_reset
|
|
state: 'on'
|
|
sequence:
|
|
- action: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.crawlspace_locker_dehumidifier_last_dried
|
|
data:
|
|
timestamp: '{{ now().timestamp() }}'
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.crawlspace_locker_dehumidifier_reset
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.kitchen_dishwasher_cleaning_reset
|
|
state: 'on'
|
|
sequence:
|
|
- action: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.kitchen_dishwasher_last_cleaned
|
|
data:
|
|
timestamp: '{{ now().timestamp() }}'
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.kitchen_dishwasher_cleaning_reset
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.kitchen_espresso_machine_cleaning_reset
|
|
state: 'on'
|
|
sequence:
|
|
- action: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.kitchen_espresso_machine_last_cleaned
|
|
data:
|
|
timestamp: '{{ now().timestamp() }}'
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.kitchen_espresso_machine_cleaning_reset
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.laundry_washing_machine_cleaning_reset
|
|
state: 'on'
|
|
sequence:
|
|
- action: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.laundry_washing_machine_last_cleaned
|
|
data:
|
|
timestamp: '{{ now().timestamp() }}'
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.laundry_washing_machine_cleaning_reset
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.hvac_filter_change_reset
|
|
state: 'on'
|
|
sequence:
|
|
- action: input_datetime.set_datetime
|
|
target:
|
|
entity_id: input_datetime.hvac_filter_last_changed
|
|
data:
|
|
timestamp: '{{ now().timestamp() }}'
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.hvac_filter_change_reset
|
|
mode: single
|
|
- id: '1678563729726'
|
|
alias: 'Porch: Notify front doorbell ring'
|
|
description: ''
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.front_door_button_pressed
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
message: Someone is at the door
|
|
title: 🔔 Front Doorbell
|
|
data:
|
|
entity_id: camera.front_door_sub
|
|
mode: single
|
|
- id: '1682884121773'
|
|
alias: 'Living Room: Remote controls'
|
|
description: control devices in living room from ikea/symfonisk remote
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: play_pause
|
|
id: play_pause
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: toggle
|
|
id: toggle
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: volume_up
|
|
id: volume_up
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: volume_up_hold
|
|
id: volume_up_hold
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: volume_down
|
|
id: volume_down
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: volume_down_hold
|
|
id: volume_down_hold
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: dots_1_initial_press
|
|
id: dots_1_initial_press
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: dots_2_initial_press
|
|
id: dots_2_initial_press
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: track_next
|
|
id: track_next
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 31357218e6ee5e796b62f45d08027950
|
|
type: action
|
|
subtype: track_previous
|
|
id: track_previous
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'play_pause' or\n trigger.id == 'toggle'\n\
|
|
}}"
|
|
sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: media_player.living_room_tv
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
state: 'on'
|
|
- condition: not
|
|
conditions:
|
|
- condition: template
|
|
value_template: "{# receiver is not set to nintendo input #}\n{{\nstate_attr('media_player.living_room_receiver_main_zone',\n\
|
|
'source') == 'AV2' \n}}"
|
|
then:
|
|
- action: media_player.select_source
|
|
metadata: {}
|
|
data:
|
|
source: AV2
|
|
target:
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
else:
|
|
- action: switch.toggle
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.living_room_entertainment_htpc
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'volume_up' or\n trigger.id == 'volume_up_hold'\
|
|
\ \n}}"
|
|
sequence:
|
|
- action: media_player.volume_set
|
|
data:
|
|
volume_level: '{% set volume = state_attr(''media_player.living_room_receiver_main_zone'',
|
|
"volume_level") + 0.005 %} {{ 1.0 if volume > 1.0 else volume }}'
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'volume_down' or\n trigger.id == 'volume_down_hold'\n\
|
|
}}"
|
|
sequence:
|
|
- action: media_player.volume_set
|
|
data:
|
|
volume_level: '{% set volume = state_attr(''media_player.living_room_receiver_main_zone'',
|
|
"volume_level") - 0.005 %} {{ 0.0 if volume < 0.0 else volume }}'
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'dots_1_initial_press' \n}}"
|
|
sequence:
|
|
- action: light.toggle
|
|
target:
|
|
entity_id: light.sw_livingroom_ceilinglight
|
|
data: {}
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'dots_2_initial_press'\n}}"
|
|
sequence:
|
|
- if:
|
|
- condition: state
|
|
entity_id: media_player.living_room_tv
|
|
state: 'on'
|
|
- condition: state
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
state: 'on'
|
|
- condition: not
|
|
conditions:
|
|
- condition: template
|
|
value_template: "{# receiver is not set to htcp input #}\n{{\nstate_attr('media_player.living_room_receiver_main_zone',\n\
|
|
'source') == 'AV3' \n}}"
|
|
then:
|
|
- action: media_player.select_source
|
|
metadata: {}
|
|
data:
|
|
source: AV3
|
|
target:
|
|
entity_id: media_player.living_room_receiver_main_zone
|
|
else:
|
|
- action: switch.toggle
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: switch.living_room_entertainment_nintendo
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_livingroom_ceilinglight','on') %}\n\
|
|
\ {{ trigger.id == 'track_next' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.sw_livingroom_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_livingroom_ceilinglight','on') %}\n\
|
|
\ {{ trigger.id == 'track_previous' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: -10
|
|
target:
|
|
entity_id: light.sw_livingroom_ceilinglight
|
|
mode: single
|
|
- id: '1683261355629'
|
|
alias: 'Main Bedroom: Remote controls'
|
|
description: control devices in main bedroom from ikea/symfonisk remote
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: play_pause
|
|
id: play_pause
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: toggle
|
|
id: toggle
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: volume_up
|
|
id: volume_up
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: volume_up_hold
|
|
id: volume_up_hold
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: volume_down
|
|
id: volume_down
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: volume_down_hold
|
|
id: volume_down_hold
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: dots_1_initial_press
|
|
id: dots_1_initial_press
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: dots_2_initial_press
|
|
id: dots_2_initial_press
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: track_next
|
|
id: track_next
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 04f696559090555013a87476d2cee5b9
|
|
type: action
|
|
subtype: track_previous
|
|
id: track_previous
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'play_pause' or\n trigger.id == 'toggle'\n\
|
|
}}"
|
|
sequence:
|
|
- action: switch.toggle
|
|
data: {}
|
|
target:
|
|
entity_id: switch.sw_main_bedroom_entertainment
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'volume_up' or\n trigger.id == 'volume_up_hold'\
|
|
\ \n}}"
|
|
sequence:
|
|
- action: media_player.volume_up
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.main_bedroom_speaker
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'volume_down' or\n trigger.id == 'volume_down_hold'\n\
|
|
}}"
|
|
sequence:
|
|
- action: media_player.volume_down
|
|
data: {}
|
|
target:
|
|
entity_id: media_player.main_bedroom_speaker
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''dots_1_initial_press'' }}'
|
|
sequence:
|
|
- action: light.toggle
|
|
data: {}
|
|
target:
|
|
entity_id: light.sw_mainbedroom_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''dots_2_initial_press'' }}'
|
|
sequence:
|
|
- action: light.toggle
|
|
data: {}
|
|
target:
|
|
entity_id: light.blb_main_bedroom_floor_lamp
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_mainbedroom_ceilinglight','on')\
|
|
\ %}\n {{ trigger.id == 'track_next' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.sw_mainbedroom_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_mainbedroom_ceilinglight','on')\
|
|
\ %}\n {{ trigger.id == 'track_previous' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: -10
|
|
target:
|
|
entity_id: light.sw_mainbedroom_ceilinglight
|
|
mode: single
|
|
- id: '1683396475246'
|
|
alias: 'Kids Bedroom: Morning Wake Up Light'
|
|
description: transition lamp light to yellow when it's time to wake up
|
|
trigger:
|
|
- platform: time
|
|
at: 07:00:00
|
|
condition:
|
|
- condition: state
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
state: 'on'
|
|
action:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 10
|
|
rgb_color:
|
|
- 254
|
|
- 251
|
|
- 0
|
|
brightness_pct: 30
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
mode: single
|
|
- id: '1683494235541'
|
|
alias: 'Garage Inside: House door lock controls'
|
|
description: (un)lock door
|
|
trigger:
|
|
- platform: tag
|
|
tag_id: 0248e71d-2da6-44a5-97ee-636c87cd4469
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.garage_house_door_lock_toggled
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: lock.lck_garage_house_door
|
|
state: unlocked
|
|
sequence:
|
|
- action: lock.lock
|
|
data: {}
|
|
target:
|
|
entity_id: lock.lck_garage_house_door
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: lock.lck_garage_house_door
|
|
state: locked
|
|
sequence:
|
|
- action: lock.unlock
|
|
data: {}
|
|
target:
|
|
entity_id: lock.lck_garage_house_door
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.garage_house_door_lock_toggled
|
|
state: 'on'
|
|
then:
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.garage_house_door_lock_toggled
|
|
mode: single
|
|
- id: '1684011953306'
|
|
alias: 'Deck: Remote Controls'
|
|
description: control multi-media from ikea/symfonisk remote
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: play_pause
|
|
id: play_pause
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: toggle
|
|
id: toggle
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: volume_up
|
|
id: volume_up
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: volume_down
|
|
id: volume_down
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: dots_1_initial_press
|
|
id: dots_1_initial_press
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: track_next
|
|
id: track_next
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 8932c926faee51a637b3ff7707958a3c
|
|
type: action
|
|
subtype: track_previous
|
|
id: track_previous
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{{\n trigger.id == 'play_pause' or\n trigger.id == 'toggle'\n\
|
|
}}"
|
|
sequence:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: cmnd/IRB_Shed/IRSend
|
|
payload: '{"Protocol":"PANASONIC","Bits":48,"Data":"0x40040538BC81","DataLSB":"0x220A01C3D81","Repeat":0}
|
|
|
|
'
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''volume_up'' }}'
|
|
sequence:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: cmnd/IRB_Shed/IRSend
|
|
payload: '{"Protocol":"PANASONIC","Bits":48,"Data":"0x400405000401","DataLSB":"0x220A0002080","Repeat":0}
|
|
|
|
'
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''volume_down'' }}'
|
|
sequence:
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: cmnd/IRB_Shed/IRSend
|
|
payload: '{"Protocol":"PANASONIC","Bits":48,"Data":"0x400405008481","DataLSB":"0x220A0002181","Repeat":0}
|
|
|
|
'
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''dots_1_initial_press'' }}'
|
|
sequence:
|
|
- action: light.toggle
|
|
data: {}
|
|
target:
|
|
entity_id: light.sw_deck_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_deck_ceilinglight','on') %}\n {{\
|
|
\ trigger.id == 'track_next' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.sw_deck_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: "{% if is_state('light.sw_deck_ceilinglight','on') %}\n {{\
|
|
\ trigger.id == 'track_previous' }}\n{% endif %}"
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
brightness_step_pct: -10
|
|
target:
|
|
entity_id: light.sw_deck_ceilinglight
|
|
- id: '1684823367096'
|
|
alias: 'Kids Bedroom: Remote controls'
|
|
description: control Ikea bulb in kids room from 5 button remote
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: toggle
|
|
id: toggle
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: brightness_up_click
|
|
id: brightness_up_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: brightness_down_click
|
|
id: brightness_down_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: arrow_right_click
|
|
id: arrow_right_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: arrow_left_click
|
|
id: arrow_left_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 92244798f2ec5e133489ba9a39978d1b
|
|
type: action
|
|
subtype: arrow_right_hold
|
|
id: arrow_right_hold
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''toggle'' }}'
|
|
sequence:
|
|
- action: light.toggle
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
data: {}
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''brightness_up_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''brightness_down_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
brightness_step_pct: -10
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''arrow_right_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
hs_color:
|
|
- '{{ range(360) | random }}'
|
|
- '{{ range(80,101) | random }}'
|
|
transition: 1
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''arrow_left_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
effect: colorloop
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''arrow_right_hold'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
kelvin: 3300
|
|
target:
|
|
entity_id: light.blb_kidsbedroom_lamp
|
|
mode: single
|
|
- id: '1684988902593'
|
|
alias: 'Sparebedroom: Remote controls'
|
|
description: control spare bedroom lights from ikea/5-button remote
|
|
triggers:
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 7eb966d6f904921b2ab6a5131ccefa4d
|
|
type: action
|
|
subtype: toggle
|
|
id: toggle
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 7eb966d6f904921b2ab6a5131ccefa4d
|
|
type: action
|
|
subtype: brightness_up_click
|
|
id: brightness_up_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 7eb966d6f904921b2ab6a5131ccefa4d
|
|
type: action
|
|
subtype: brightness_down_click
|
|
id: brightness_down_click
|
|
- trigger: device
|
|
domain: mqtt
|
|
device_id: 7eb966d6f904921b2ab6a5131ccefa4d
|
|
type: action
|
|
subtype: arrow_right_click
|
|
id: arrow_right_click
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''toggle'' }}'
|
|
sequence:
|
|
- action: light.toggle
|
|
target:
|
|
entity_id: light.sw_sparebedroom_ceilinglight
|
|
data: {}
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''brightness_up_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
brightness_step_pct: 10
|
|
target:
|
|
entity_id: light.sw_sparebedroom_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''brightness_down_click'' }}'
|
|
sequence:
|
|
- action: light.turn_on
|
|
data:
|
|
transition: 1
|
|
brightness_step_pct: -10
|
|
target:
|
|
entity_id: light.sw_sparebedroom_ceilinglight
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ trigger.id == ''arrow_right_click'' }}'
|
|
sequence:
|
|
- action: switch.toggle
|
|
data: {}
|
|
target:
|
|
entity_id: switch.plg_sparebedroom_lamp
|
|
mode: single
|
|
- id: '1694408321293'
|
|
alias: 'House: Indoor Lights off at sunrise'
|
|
description: turn off indoor lights just after sunrise.
|
|
trigger:
|
|
- platform: sun
|
|
event: sunrise
|
|
offset: 00:15:00
|
|
condition: []
|
|
action:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.fan_family_room_airpurifier_night_mode
|
|
- switch.fan_main_bedroom_airpurifier_night_mode
|
|
- action: light.turn_off
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: light.blb_main_bedroom_floor_lamp
|
|
mode: single
|
|
- id: '1700159738395'
|
|
alias: 'Porch: Nofity front door motion'
|
|
description: notify when person detected at front door.
|
|
triggers:
|
|
- entity_id:
|
|
- binary_sensor.front_door_motion_alarm
|
|
to: 'on'
|
|
trigger: state
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: device_tracker.turraphone
|
|
state: not_home
|
|
- condition: not
|
|
conditions:
|
|
- condition: state
|
|
entity_id: timer.outside_porch_motion_snooze
|
|
state: active
|
|
sequence:
|
|
- action: notify.mobile_app_turraphone
|
|
data:
|
|
message: Someone was detected at the front door.
|
|
title: 🏃🏻Person Detected
|
|
data:
|
|
entity_id: camera.front_door_sub
|
|
actions:
|
|
- action: SNOOZE
|
|
title: Snooze
|
|
- action: DISMISS
|
|
title: Dismiss
|
|
- wait_for_trigger:
|
|
- event_type: mobile_app_notification_action
|
|
event_data:
|
|
action: SNOOZE
|
|
trigger: event
|
|
timeout: 00:00:30
|
|
continue_on_timeout: false
|
|
- action: timer.start
|
|
target:
|
|
entity_id: timer.outside_porch_motion_snooze
|
|
data: {}
|
|
- action: notify.grp_all_tvs
|
|
data:
|
|
message: Person Detected at front door
|
|
- action: mqtt.publish
|
|
data:
|
|
topic: awtrix/CLC_Kitchen/notify
|
|
payload: "{\n \"text\": \"Person at front door\",\n \"icon\": \"555\",\n \
|
|
\ \"pushIcon\": \"2\",\n \"scrollSpeed\": 50,\n \"repeat\": 2\n \n}"
|
|
mode: single
|
|
- id: '1700170811227'
|
|
alias: 'House: Indoor bedtime check'
|
|
description: turn off devices around bedtime.
|
|
trigger:
|
|
- platform: time
|
|
at: '22:30:00'
|
|
condition: []
|
|
action:
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_indoors
|
|
state: 'on'
|
|
then:
|
|
- action: switch.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id:
|
|
- switch.sw_familyroom_christmastree
|
|
- switch.sw_familyroom_cornerlight
|
|
- swtich.family_room_garland_light
|
|
mode: single
|
|
- id: '1701748470522'
|
|
alias: 'House: Front Door lock controls'
|
|
description: (un)lock front door
|
|
trigger:
|
|
- platform: tag
|
|
tag_id: b1075945-02ae-44ae-ba3f-b44aa1f71824
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.house_front_door_lock_toggled
|
|
to: 'on'
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: lock.lck_house_front_door
|
|
state: unlocked
|
|
sequence:
|
|
- action: lock.lock
|
|
data: {}
|
|
target:
|
|
entity_id: lock.lck_house_front_door
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: lock.lck_house_front_door
|
|
state: locked
|
|
sequence:
|
|
- action: lock.unlock
|
|
data: {}
|
|
target:
|
|
entity_id: lock.lck_house_front_door
|
|
- if:
|
|
- condition: state
|
|
entity_id: input_boolean.house_front_door_lock_toggled
|
|
state: 'on'
|
|
then:
|
|
- action: input_boolean.turn_off
|
|
data: {}
|
|
target:
|
|
entity_id: input_boolean.house_front_door_lock_toggled
|
|
mode: single
|
|
- id: '1706247071335'
|
|
alias: 'Porch: Lights ON with motion'
|
|
description: turn on porch lights when motion is detected after sunset and return
|
|
to desired state
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.snr_outside_frontporchmotion_occupancy
|
|
to: 'on'
|
|
id: outside_porch_lights_on
|
|
- platform: event
|
|
event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.outside_porch_lights_on
|
|
id: outside_porch_lights_off
|
|
condition: []
|
|
action:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_porch_lights_on
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: time
|
|
after: '16:30:00'
|
|
before: '23:59:00'
|
|
sequence:
|
|
- action: timer.start
|
|
target:
|
|
entity_id: timer.outside_porch_lights_on
|
|
data: {}
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_normal_colour_bright
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: below_horizon
|
|
- condition: time
|
|
after: 00:00:00
|
|
before: 06:00:00
|
|
sequence:
|
|
- action: timer.start
|
|
metadata: {}
|
|
data: {}
|
|
target:
|
|
entity_id: timer.outside_porch_lights_on
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_normal_colour_bright
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- outside_porch_lights_off
|
|
sequence:
|
|
- choose:
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.adhoc_outside_light_colours
|
|
state: 'on'
|
|
- condition: time
|
|
after: '16:30:00'
|
|
before: '22:29:00'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_adhoc_colours
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.christmas_lights_outdoors
|
|
state: 'on'
|
|
- condition: time
|
|
after: '16:30:00'
|
|
before: '22:29:00'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_christmas_colours
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.halloween_string_lights_outlet
|
|
state: 'on'
|
|
- condition: time
|
|
after: '16:30:00'
|
|
before: '22:29:00'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_halloween_colours
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: state
|
|
entity_id:
|
|
- input_boolean.adhoc_outside_light_colours
|
|
- input_boolean.christmas_lights_indoors
|
|
- input_boolean.halloween_string_lights_outlet
|
|
state: 'off'
|
|
- condition: time
|
|
after: '16:30:00'
|
|
before: '22:29:00'
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_normal_colour_dimmed
|
|
data:
|
|
transition: 2
|
|
- conditions:
|
|
- condition: time
|
|
after: 00:00:00
|
|
before: 06:00:00
|
|
sequence:
|
|
- action: light.turn_off
|
|
target:
|
|
entity_id: light.group_porch_lights
|
|
data:
|
|
transition: 2
|
|
default:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: scene.porch_bulbs_normal_colour_dimmed
|
|
data:
|
|
transition: 2
|
|
default: []
|
|
mode: restart
|
|
- id: '1736622179881'
|
|
alias: 'Garage Inside: Plant Light Controls'
|
|
description: used when Windmill Palm is brought indoors during the winter.
|
|
triggers:
|
|
- event: sunrise
|
|
id: garage_plant_light_on
|
|
trigger: sun
|
|
- event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.garage_indoor_plant_light_on
|
|
id: garage_plant_light_off
|
|
trigger: event
|
|
conditions:
|
|
- condition: state
|
|
entity_id: input_boolean.garage_indoor_plant_light
|
|
state: 'on'
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- garage_plant_light_on
|
|
sequence:
|
|
- action: timer.start
|
|
data: {}
|
|
target:
|
|
entity_id: timer.garage_indoor_plant_light_on
|
|
- action: switch.turn_on
|
|
target:
|
|
entity_id: switch.sw_garage_plant_relay_1
|
|
data: {}
|
|
- conditions:
|
|
- condition: trigger
|
|
id:
|
|
- garage_plant_light_off
|
|
sequence:
|
|
- action: switch.turn_off
|
|
target:
|
|
entity_id: switch.sw_garage_plant_relay_1
|
|
data: {}
|
|
mode: single
|
|
- id: '1739058052369'
|
|
alias: 'Kitchen: Updates to pixel clock'
|
|
description: publish custom apps to awtrix pixel clock
|
|
triggers:
|
|
- minutes: /5
|
|
trigger: time_pattern
|
|
conditions: []
|
|
actions:
|
|
- data:
|
|
topic: awtrix/CLC_Kitchen/custom/weather
|
|
payload: "{% set weather = states('weather.pitt_meadows') %}\n{% if 'sun' in\
|
|
\ weather.lower() %}\n {% set icon = 52156 %}\n{% elif 'rain' in weather.lower()\
|
|
\ %}\n {% set icon = 72 %}\n{% elif 'snow' in weather.lower() %}\n {% set\
|
|
\ icon = 7123 %}\n{% elif 'cloud' in weather.lower() %}\n {% set icon = 91\
|
|
\ %}\n{% elif weather.lower() == 'clear-night' %}\n {% set icon = 52163 %}\n\
|
|
{% else %}\n {# any other weather state use the cloudy icon #}\n {% set\
|
|
\ icon = 91 %}\n{% endif %}\n{\n \"text\": \"{{ states('sensor.snr_outside_temperature')\
|
|
\ }}°\",\n \"icon\": \"{{ icon }}\"\n}"
|
|
action: mqtt.publish
|
|
mode: restart
|