Skip to content

Instantly share code, notes, and snippets.

@basesnow
Created August 7, 2020 19:15
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save basesnow/34d1a2982de5ca4711301aa95cd1d1ba to your computer and use it in GitHub Desktop.
Save basesnow/34d1a2982de5ca4711301aa95cd1d1ba to your computer and use it in GitHub Desktop.
Garage Door / HVAC notifications
## Garage Door Notification
- id: '1588906118469'
alias: 'Notification: Colin''s Stuff: Garage door left open'
description: ''
trigger:
- entity_id: cover.garage_door
for: 00:10:00
platform: state
to: open
- entity_id: cover.garage_door
for: 00:30:00
platform: state
to: open
- entity_id: cover.garage_door
for: 03:00:00
platform: state
to: open
condition:
- condition: state
entity_id: input_boolean.colin_garage_notification_boolean
state: 'off'
action:
choose:
- conditions:
- condition: time
after: '23:00:00'
before: '04:00:00'
sequence:
- service: notify.colins_apple_stuff
data:
data:
attachment:
content-type: jpeg
entity_id: camera.garage
push:
sound:
critical: 1
name: default
volume: 0.1
category: camera
thread-id: garage
message: Garage door has been left open for {{relative_time(states.cover.garage_door.last_changed)}}!
title: '{{"\U000023F1"}} Garage Door'
default:
- service: notify.colins_apple_stuff
data:
data:
attachment:
content-type: jpeg
entity_id: camera.garage
push:
category: camera
thread-id: garage
message: Garage door has been left open for {{relative_time(states.cover.garage_door.last_changed)}}!
title: '{{"\U000023F1"}} Garage Door'
## Window Notification
- id: '1590773600993'
alias: 'Notification: Colin''s Phone: HVAC when opening windows'
description: ''
trigger:
- entity_id: group.all_windows
platform: state
to: 'on'
condition:
- condition: state
entity_id: input_boolean.window_open_hvac
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: climate.honey_pot
state: 'off'
action:
- data:
data:
push:
category: hvac_window_open
thread-id: hvac
message: You opened the {{ states | selectattr('entity_id','in', state_attr('group.all_windows','entity_id')) |
selectattr('state','eq','on') | map(attribute='name') | join(', ') }} window,
but the HVAC is on. It's {{states.sensor.honey_pot_temperature.state_with_unit}}
inside. Want to turn it off?
title: '{{"\U0001F525"}}{{"\U00002744"}} HVAC is on'
service: notify.mobile_app_colins_phone
mode: single
## Automations for actionable Notification responses. This is really long because it handles all my
## notification responses, I just listen for the event, then use the data in the event to choose the sequence to run
- id: '1595722256115'
alias: Notification Push Responses
description: 'Listens for push responses from iOS notifications and reacts accordingly '
trigger:
- event_data: {}
event_type: ios.notification_action_fired
platform: event
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''TOGGLE'' }}'
sequence:
- entity_id: cover.garage_door
service: cover.toggle
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_1_HOUR_GARAGE''
}}'
- condition: or
conditions:
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''colins_phone''
}}'
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''mccormick_ipad''
}}'
sequence:
- entity_id: input_boolean.colin_garage_notification_boolean
service: input_boolean.turn_on
- delay: 01:00:00
- entity_id: input_boolean.colin_garage_notification_boolean
service: input_boolean.turn_off
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_TIL_TOMORROW_GARAGE''
}}'
- condition: or
conditions:
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''colins_phone''
}}'
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''mccormick_ipad''
}}'
sequence:
- entity_id: input_boolean.colin_garage_notification_boolean
service: input_boolean.turn_on
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_1_HOUR_GARAGE''
}}'
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''sarahs_iphone''
}}'
sequence:
- entity_id: input_boolean.sarah_garage_notification_boolean
service: input_boolean.turn_on
- delay: 01:00:00
- entity_id: input_boolean.sarah_garage_notification_boolean
service: input_boolean.turn_off
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_TIL_TOMORROW_GARAGE''
}}'
- condition: template
value_template: '{{ trigger.event.data.sourceDeviceID == ''sarahs_iphone''
}}'
sequence:
- entity_id: input_boolean.sarah_garage_notification_boolean
service: input_boolean.turn_on
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_1_HOUR'' }}'
sequence:
- entity_id: input_boolean.door_hvac
service: input_boolean.turn_on
- delay: 01:00:00
- entity_id: input_boolean.door_hvac
service: input_boolean.turn_off
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_TIL_TOMORROW''
}}'
sequence:
- entity_id: input_boolean.door_hvac
service: input_boolean.turn_on
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_1_HOUR_WINDOW_CLOSE''
}}'
sequence:
- entity_id: input_boolean.window_close_hvac
service: input_boolean.turn_on
- delay: 01:00:00
- entity_id: input_boolean.window_close_hvac
service: input_boolean.turn_off
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_TIL_TOMORROW_WINDOW_CLOSE''
}}'
sequence:
- entity_id: input_boolean.window_close_hvac
service: input_boolean.turn_on
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_1_HOUR_WINDOW_OPEN''
}}'
sequence:
- entity_id: input_boolean.window_open_hvac
service: input_boolean.turn_on
- delay: 01:00:00
- entity_id: input_boolean.window_open_hvac
service: input_boolean.turn_off
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''STOP_TIL_TOMORROW_WINDOW_OPEN''
}}'
sequence:
- entity_id: input_boolean.window_open_hvac
service: input_boolean.turn_on
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''HVAC_OFF'' }}'
sequence:
- data:
hvac_mode: 'off'
entity_id: climate.honey_pot
service: climate.set_hvac_mode
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''AC'' }}'
sequence:
- data:
hvac_mode: cool
entity_id: climate.honey_pot
service: climate.set_hvac_mode
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''HEAT'' }}'
sequence:
- data:
hvac_mode: heat
entity_id: climate.honey_pot
service: climate.set_hvac_mode
- conditions:
- condition: template
value_template: '{{ trigger.event.data.actionName == ''RESET_MAIL_BOOLEAN''
}}'
sequence:
- entity_id: input_boolean.mailbox_notification
service: input_boolean.turn_off
mode: parallel
max: 50
ios:
push:
categories:
- name: HVAC_WINDOW_OPEN
identifier: 'hvac_window_open'
actions:
- identifier: 'hvac_off'
title: 'Turn off'
authenticationRequired: 'false'
destructive: 'true'
- identifier: 'stop_1_hour_window_open'
title: 'Pause Notification for 1 Hour'
authenticationRequired: 'false'
destructive: 'false'
- identifier: 'stop_til_tomorrow_window_open'
title: 'Pause Notification Until Tomorrow'
authenticationRequired: 'false'
destructive: 'false'
- name: GARAGE
identifier: 'camera'
actions:
- identifier: 'toggle'
title: 'Open/Close the Garage Door'
authenticationRequired: 'false'
destructive: 'true'
- identifier: 'stop_1_hour_garage'
title: 'Pause Garage Notifications for 1 Hour'
authenticationRequired: 'false'
destructive: 'false'
- identifier: 'stop_til_tomorrow_garage'
title: 'Pause Garage Notifications Until Tomorrow'
authenticationRequired: 'false'
destructive: 'false'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment