updates to 0.115.5

This commit is contained in:
Mahasri Kalavala
2020-09-29 22:36:02 -04:00
parent 86d1f32caf
commit b21706d3cd
14 changed files with 402 additions and 775 deletions

View File

@@ -108,7 +108,6 @@ binary_sensor:
image_processing:
- platform: tensorflow
scan_interval: 10000
# confidence: 75
source:
- entity_id: camera.frontdoor_camera
- entity_id: camera.driveway_camera
@@ -121,11 +120,6 @@ image_processing:
- "/home/homeassistant/.homeassistant/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg"
model:
graph: /home/homeassistant/.homeassistant/tensorflow/models/efficientdet_d0_coco17_tpu-32/
# graph: /home/homeassistant/.homeassistant/tensorflow/frozen_inference_graph.pb
# categories:
# - person
# - car
# - truck
input_label:
current_stream:
@@ -214,7 +208,7 @@ automation:
action:
- condition: template
value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}"
- service: script.frontdoor_cam
- service: script.frontdoor_cam # change to front door camera stream on chromecast
- condition: template
value_template: "{{ states('alarm_control_panel.home') == 'armed_home' or states('alarm_control_panel.home') == 'armed_away' }}"
- service: image_processing.scan
@@ -234,6 +228,7 @@ automation:
{% else %}
false
{% endif %}
- service: script.voice_notify
data_template:
message: >-
@@ -247,6 +242,7 @@ automation:
{{ " detected in the front yard." }}
{%- endif -%}
greeting: "no"
- service: notify.notify_smtp
data_template:
title: 'Front door motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -260,11 +256,30 @@ automation:
{%- endfor -%}
{{ " detected in the front yard on " ~ now().strftime("%d %h %Y, at %I:%M:%S %p") ~ ". Please see the images below." }}
{% else %}
Motion detected in the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
- service: script.notify_me_with_picture
data_template:
title: "Front Door Motion"
message: >
{%- set e_id = "image_processing.tensorflow_frontdoor_camera" -%}
{%- if state_attr(e_id, 'summary') -%}
{%- set count = state_attr(e_id, 'summary') | count -%}
{%- for x in state_attr(e_id, 'summary') | list -%}
{%- if loop.first %}{% elif loop.last %}, and {% else %}, {% endif -%}
{{- state_attr(e_id, 'summary')[x]}} {{ x ~ 's' if state_attr(e_id, 'summary')[x] > 1 else x }}
{%- endfor -%}
{{ " detected in the front yard on " ~ now().strftime("%d %h %Y, at %I:%M:%S %p") ~ ". Please see the images below." }}
{% else %}
Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif %}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
caption: "Front Door Motion"
- condition: template
value_template: >
{% if states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" or
@@ -313,6 +328,7 @@ automation:
{% else %}
false
{% endif %}
- service: script.voice_notify
data_template:
message: >-
@@ -325,6 +341,25 @@ automation:
{%- endfor -%}
{{ " detected in the driveway" }}
{%- endif -%}
- service: script.notify_me_with_picture
data_template:
title: "Driveway Motion"
message: >
{%- set e_id = "image_processing.tensorflow_driveway_camera" -%}
{%- if state_attr(e_id, 'summary') -%}
{%- set count = state_attr(e_id, 'summary') | count -%}
{%- for x in state_attr(e_id, 'summary') | list -%}
{%- if loop.first %}{% elif loop.last %}, and {% else %}, {% endif -%}
{{- state_attr(e_id, 'summary')[x]}} {{ x ~ 's' if state_attr(e_id, 'summary')[x] > 1 else x }}
{%- endfor -%}
{{ " detected in the driveway on " ~ now().strftime("%d %h %Y, at %I:%M:%S %p") ~ ". Please see the images below." }}
{% else %}
Motion detected at the driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
caption: "Driveway Motion"
- service: notify.notify_smtp
data_template:
title: 'Driveway motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -343,6 +378,7 @@ automation:
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
- condition: template
value_template: >
{% if states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" or
@@ -351,6 +387,7 @@ automation:
{% else %}
False
{% endif %}
- service: image_processing.scan
data_template:
entity_id: image_processing.tensorflow_garage_camera
@@ -400,6 +437,7 @@ automation:
{% else %}
false
{% endif %}
- service: script.voice_notify
data_template:
message: >-
@@ -412,6 +450,25 @@ automation:
{%- endfor -%}
{{ " detected in the garage." }}
{%- endif -%}
- service: script.notify_me_with_picture
data_template:
title: "Garage Motion"
message: >
{%- set e_id = "image_processing.tensorflow_garage_camera" -%}
{%- if state_attr(e_id, 'summary') -%}
{%- set count = state_attr(e_id, 'summary') | count -%}
{%- for x in state_attr(e_id, 'summary') | list -%}
{%- if loop.first %}{% elif loop.last %}, and {% else %}, {% endif -%}
{{- state_attr(e_id, 'summary')[x]}} {{ x ~ 's' if state_attr(e_id, 'summary')[x] > 1 else x }}
{%- endfor -%}
{{ " detected in the garage on " ~ now().strftime("%d %h %Y, at %I:%M:%S %p") ~ ". Please see the images below." }}
{% else %}
Motion detected in the garage on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg"
caption: "Garage Motion"
- service: notify.notify_smtp
data_template:
title: 'Garage motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -466,6 +523,7 @@ automation:
{% else %}
false
{% endif %}
- service: script.voice_notify
data_template:
message: >-
@@ -478,6 +536,25 @@ automation:
{%- endfor -%}
{{ " detected in the backyard." }}
{%- endif -%}
- service: script.notify_me_with_picture
data_template:
title: "Backyardge Motion"
message: >
{%- set e_id = "image_processing.tensorflow_patio_camera" -%}
{%- if state_attr(e_id, 'summary') -%}
{%- set count = state_attr(e_id, 'summary') | count -%}
{%- for x in state_attr(e_id, 'summary') | list -%}
{%- if loop.first %}{% elif loop.last %}, and {% else %}, {% endif -%}
{{- state_attr(e_id, 'summary')[x]}} {{ x ~ 's' if state_attr(e_id, 'summary')[x] > 1 else x }}
{%- endfor -%}
{{ " detected in the backyard on " ~ now().strftime("%d %h %Y, at %I:%M:%S %p") ~ ". Please see the images below." }}
{% else %}
Motion detected in the backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg"
caption: "Backyard Motion"
- service: notify.notify_smtp
data_template:
title: 'Backyard motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -566,6 +643,26 @@ automation:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
title: "Front Door Motion"
message: "Motion Detected At Front Door, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
- service: notify.notify_smtp
data_template:
title: 'Front door motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -581,8 +678,10 @@ automation:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template
value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices
data_template:
message: "Check Front Door camera!"
@@ -636,6 +735,26 @@ automation:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
title: "Driveway Motion"
message: "Motion Detected At Driveway, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
- service: notify.notify_smtp
data_template:
title: 'Driveway motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -651,6 +770,7 @@ automation:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template
value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices
@@ -696,6 +816,7 @@ automation:
{% else %}
false
{% endif %}
- service: camera.snapshot
data_template:
entity_id: "camera.patio_camera"
@@ -703,6 +824,7 @@ automation:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.playarea_camera"
@@ -710,6 +832,22 @@ automation:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
title: "Backyard Motion"
message: "Motion Detected in the Backyard, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Patio"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Playarea"
- service: notify.notify_smtp
data_template:
title: 'Backyard motion {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@@ -722,6 +860,7 @@ automation:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template
value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices

View File

@@ -144,8 +144,8 @@ automation:
trigger:
platform: state
entity_id:
- binary_sensor.door_window_sensor_158d0004231f7b
- binary_sensor.door_window_sensor_158d0004248d5b
- binary_sensor.door_window_sensor_158d0004231f7b # 2 Car Garage
- binary_sensor.door_window_sensor_158d0004248d5b # Single car garage
condition:
- condition: template
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
@@ -178,39 +178,59 @@ automation:
entity_id: "camera.garage_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.automation.notify_garage_door_status.last_triggered ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
- service: script.notify_me_with_picture
data_template:
title: 'Garage Door Status {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
message: >-
{%- set doors = "" -%}
{%- if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" -%}
{% set doors = "Both Garage Doors are OPEN" -%}
{%- elif states('binary_sensor.door_window_sensor_158d0004231f7b') == "off" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" -%}
{% set doors = "Both Garage Doors are CLOSED" -%}
{%- else -%}
{% set doors = states.binary_sensor.door_window_sensor_158d0004248d5b.name ~ " is " ~
('Closed' if states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' else 'OPEN')
~ " and " ~ state_attr('binary_sensor.door_window_sensor_158d0004231f7b', 'friendly_name') ~ " is " ~
('Closed' if states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' else 'OPEN') %}
{%- endif %}
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
file: >
{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}
caption: "{{ trigger.to_state.attributes.friendly_name }}: {{ 'OPEN' if trigger.to_state.state == 'on' else 'CLOSED' }}"
- service: notify.notify_smtp
data_template:
title: 'Garage Door Status {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
message: >-
{% set doors = "" %}
{% if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
{% set doors = "Both Garage Doors are OPEN" %}
{% elif states('binary_sensor.door_window_sensor_158d0004231f7b') == "off" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" %}
{% set doors = "Both Garage Doors are CLOSED" %}
{% else %}
{% set doors = states.binary_sensor.door_window_sensor_158d0004248d5b.name ~ " is " ~
{%- set doors = "" -%}
{%- if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" -%}
{%- set doors = "Both Garage Doors are OPEN" -%}
{%- elif states('binary_sensor.door_window_sensor_158d0004231f7b') == "off" and
states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" -%}
{%- set doors = "Both Garage Doors are CLOSED" -%}
{%- else -%}
{%- set doors = states.binary_sensor.door_window_sensor_158d0004248d5b.name ~ " is " ~
('Closed' if states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' else 'OPEN')
~ " and " ~ state_attr('binary_sensor.door_window_sensor_158d0004231f7b', 'friendly_name') ~ " is " ~
('Closed' if states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' else 'OPEN') %}
{% endif %}
('Closed' if states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' else 'OPEN') -%}
{%- endif -%}
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
data:
images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.automation.notify_garage_door_status.last_triggered ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service_template: >
{% if trigger.to_state.state | lower == "on" %}
switch.turn_on
{% else %}
switch.turn_off
{% endif%}
data:
entity_id: switch.garage
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
- service_template: "switch.turn_{{- trigger.to_state.state }}"
entity_id: switch.garage
# Notify Entry Door Status
###############################################################################

View File

@@ -1,288 +0,0 @@
# ###############################################################################
# # @author : Mahasri Kalavala
# # @date : 11/22/2017
# # @package : Emergency Stuff
# # @description : When $hit hapens, this package gets called!
# #
# # In case of emergency - turn on the emergency_mode (input boolean)
# # lights, crazy sounds and alarms repeatedly until someone turns off
# # input boolean and/or Home Security System is turned OFF.
# #
# # All automations that alert during emerency situations, will turn on
# # input boolean emergency_mode and notify using standard notification
# #
# # My Home TTS/voice notifications will not work when music is being played
# # The automations will stop MPD media player ( just to makesure), so that
# # the TTS notifications will be played in case if someone plays music and
# # forgot to turn if off.
# ###############################################################################
# homeassistant:
# customize:
# script.emergency_script:
# friendly_name: Emergency Script
# hidden: true
# script.emergency_script_loop:
# friendly_name: Emergency Script Loop
# hidden: true
# script.emergency_all_lights_switches_on:
# friendly_name: All Lights & Switches ON
# script.all_indoor_lights_off:
# friendly_name: All Indoor Lights OFF
# input_boolean:
# emergency_mode:
# name: Emergency Mode
# initial: 'off'
# ###############################################################################
# # _ _ _
# # /\ | | | | (_)
# # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
# #
# ###############################################################################
# automation:
# ###############################################################################
# # When emergency mode is OFF, Keep the lights ON
# ###############################################################################
# - alias: Emergency Mode Disabled
# initial_state: true
# trigger:
# platform: state
# entity_id: input_boolean.emergency_mode
# from: 'on'
# to: 'off'
# action:
# - delay: '00:00:05'
# - service: script.voice_notify
# data_template:
# message: "Attention! Emergency mode is now deactivated!"
# - service: script.notify_me
# data_template:
# message: "Emergency mode is now deactivated!"
# # # Carbon Monoxide Detected in the house
# # ###############################################################################
# # - alias: CO Detected
# # initial_state: true
# # trigger:
# # - platform: state
# # entity_id: sensor.audio_detector_carbon_monoxide
# # from: '0'
# # condition:
# # - condition: template
# # value_template: "{{ trigger.to_state.state != '0' }}"
# # action:
# # - service: script.voice_notify
# # data_template:
# # message: "Attention!: CARBON MONOXIDE DETECTED! GET THE HELL OUT OF THE HOUSE!"
# # - service: script.notify_me
# # data_template:
# # message: "Attention!: CARBON MONOXIDE DETECTED!. GET THE HELL OUT OF THE HOUSE!"
# # - service: input_boolean.turn_on
# # entity_id: input_boolean.emergency_mode
# # - service: media_player.media_stop
# # entity_id: media_player.mpd
# # - service: script.emergency_script
# # data:
# # volume_level: 99
# # alarm_code: 2
# # message: "Attention! Cabon Monoxide detected. Leave the house immediately!"
# # # Smoke Detected in the house
# # ###############################################################################
# # - alias: Smoke Detected
# # initial_state: true
# # trigger:
# # - platform: state
# # entity_id: sensor.audio_detector_smoke
# # from: '0'
# # condition:
# # - condition: template
# # value_template: "{{ trigger.to_state.state != '0' }}"
# # action:
# # - service: script.voice_notify
# # data_template:
# # message: "Attention!: SMOKE DETECTED! CALL 911!"
# # - service: script.notify_me
# # data_template:
# # message: "Attention!: SMOKE DETECTED!. CALL 911!"
# # - service: input_boolean.turn_on
# # entity_id: input_boolean.emergency_mode
# # - service: media_player.media_stop
# # entity_id: media_player.mpd
# # - service: script.emergency_script
# # data:
# # volume_level: 99
# # alarm_code: 2
# # message: "Smoke Detected. Please get out of the home and call 911 immediately!"
# # Disable Emergency Mode upon Disabling Home Security System
# ###############################################################################
# - alias: Disable Emergency Mode Upon Disabling Home Security
# initial_state: true
# trigger:
# platform: state
# entity_id: alarm_control_panel.home
# to: 'disarmed'
# condition:
# - condition: template
# value_template: "{{ states('input_boolean.emergency_mode') == 'on' }}"
# action:
# - service: input_boolean.turn_off
# entity_id: input_boolean.emergency_mode
# - alias: Home Security Away Motion Deteted Inside
# initial_state: true
# trigger:
# platform: state
# entity_id:
# - binary_sensor.back_door_sensor_sensor
# - binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor
# - binary_sensor.basement_door_sensor_sensor
# - binary_sensor.garage_door_sensor_sensor
# - binary_sensor.front_room_multi_sensor_sensor
# - binary_sensor.tv_multi_sensor_sensor
# - binary_sensor.kitchen_motion_sensor_sensor
# - binary_sensor.stairs_motion_sensor_sensor
# - binary_sensor.upstairs_multi_sensor_sensor
# - binary_sensor.door_window_sensor_158d0004231f7b
# - binary_sensor.door_window_sensor_158d0004248d5b
# - binary_sensor.motion_sensor_158d0001a662fe
# - binary_sensor.motion_sensor_158d0001a25041
# - binary_sensor.motion_sensor_158d00016db6d2
# - binary_sensor.motion_sensor_158d00016c2d0e
# from: 'off'
# to: 'on'
# condition:
# - condition: template
# value_template: "{{ trigger.from_state }}"
# - condition: template
# value_template: >
# {% set state = states.alarm_control_panel.home.state %}
# {% if state != "" and state != "unknown" and state == "armed_away" %}
# true
# {% else %}
# false
# {% endif %}
# - condition: template
# value_template: >
# {% set suresh = states.device_tracker.suresh_suresh.state %}
# {% set mallika = states.device_tracker.mallika_mallika.state %}
# {% set srinika = states.device_tracker.srinika_srinika.state %}
# {% set hasika = states.device_tracker.hasika_hasika.state %}
# {% if suresh != "home" and mallika != "home" and srinika != "home" and hasika != "home" %}
# True
# {% else %}
# False
# {% endif %}
# action:
# - service: input_boolean.turn_on
# entity_id: input_boolean.emergency_mode
# - service: script.emergency_all_lights_switches_on
# - service: script.notify_me
# data_template:
# message: "MOTION DETECTED '{{ trigger.to_state.attributes.friendly_name | upper }}',
# BUT NO ONE IS HOME. CALL FOR EMERGENCY!"
# - service: notify.ios_devices
# data_template:
# title: >
# {{ trigger.to_state.attributes.friendly_name }}
# message: >
# Attention: "MOTION DETECTED '{{ trigger.to_state.attributes.friendly_name | upper }}',
# BUT NO ONE IS HOME. CALL FOR EMERGENCY!"
# - service: script.emergency_script
# data:
# volume_level: 99
# alarm_code: 1
# message: "Police are on the way!...Police are on the way!...Police are on the way!...Police are on the way!...Police are on the way!"
# script:
# # Main Emergency Script
# ###############################################################################
# emergency_script:
# sequence:
# - condition: template
# value_template: '{{ states.input_boolean.emergency_mode.state | lower == "on" }}'
# - service: script.voice_notify
# data_template:
# message: '{{ message }}'
# greeting: 'no'
# - service: xiaomi_aqara.play_ringtone
# data_template:
# ringtone_id: '{{ alarm_code }}'
# ringtone_vol: '{{ volume_level }}'
# - delay: '00:00:01'
# - service: script.emergency_script_loop
# data_template:
# message: '{{ message }}'
# alarm_code: '{{ alarm_code }}'
# volume_level: '{{ volume_level }}'
# # This script checks for the emergency_mode input_boolean and continue to
# # stay in emergency mode based on the input_boolean value
# ###############################################################################
# emergency_script_loop:
# sequence:
# - condition: template
# value_template: '{{ states.input_boolean.emergency_mode.state == "on" }}'
# - delay: '00:00:02'
# - service: script.emergency_script
# data_template:
# message: '{{ message }}'
# alarm_code: '{{ alarm_code }}'
# volume_level: '{{ volume_level }}'
# # Turns ALL lights & Switches ON (Lights in RED where possible)
# ###############################################################################
# emergency_all_lights_switches_on:
# sequence:
# - service: script.xiaomi_red
# - service: script.ifttt_leeo_color_change
# data_template:
# value1: "#FF0000"
# - service: light.turn_on
# entity_id: light.family_room
# data:
# transition: 0
# brightness: 255
# rgb_color: [255,0,0]
# - service: light.turn_on
# entity_id: light.master_bedroom
# data:
# transition: 0
# brightness: 255
# rgb_color: [255,0,0]
# - service: switch.turn_on
# entity_id:
# - switch.basement_left
# - switch.basement_right
# - switch.garage
# - switch.guest_bedroom
# - switch.prayer_room
# - switch.kids_bed_accent
# - switch.kids_bedroom
# - switch.office_room
# - switch.smart_outlet_1
# - switch.kitchen
# - switch.rf_switch_five
# - switch.rf_switch_four
# - switch.rf_switch_one
# - switch.rf_switch_three
# - switch.rf_switch_two
# - switch.wemobackyardlightswitch
# - switch.frontyard_light
# - switch.downstairs_fragrance
# - switch.upstairs_fragrance
# - switch.kitchen_siren_switch
# - switch.kitchen_siren_switch_2
# - switch.kitchen_siren_switch_3
# - switch.kitchen_siren_switch_4
# - switch.kitchen_siren_switch_5
# - switch.wemoswitch1

View File

@@ -59,18 +59,6 @@ automation:
{% elif states('alarm_control_panel.home') == "disarmed" %}
script.xiaomi_red
{% endif %}
- service: script.ifttt_leeo_color_change
data_template:
value1: >
{% if states('alarm_control_panel.home') == "armed_home" %}
"#0000FF"
{% elif states('alarm_control_panel.home') == "armed_away" %}
"#00FF00"
{% elif states('alarm_control_panel.home') == "triggered" %}
"#FF0000"
{% elif states('alarm_control_panel.home') == "disarmed" %}
"#FF0000"
{% endif %}
###############################################################################
# Notify Security System State Change
@@ -181,115 +169,95 @@ automation:
entity_id: climate.dining_room
away_mode: "false"
###############################################################################
# TURN HOME SECURITY SYSTEM ON AT BED TIME
###############################################################################
- alias: Night HomeSecurity On
initial_state: true
trigger:
platform: time_pattern
minutes: "/5"
seconds: 00
condition:
- condition: template
value_template: "{{ states('sensor.bedtime_hour')|int == now().hour|int }}"
- condition: template
value_template: "{{ states('sensor.bedtime_minute')|int == now().minute|int }}"
- condition: template
value_template: "{{ states('alarm_control_panel.home') != 'away' }}"
- condition: template
value_template: "{{ states('alarm_control_panel.home') == 'disarmed' }}"
- condition: template
value_template: "{{ states('input_boolean.security_system_alerts') == 'on' }}"
action:
- service: alarm_control_panel.alarm_arm_home
data:
entity_id: alarm_control_panel.home
- service: script.notify_me
data:
message: "It's bedtime, you forgot to turn ON Home Security System. Turned it ON for you."
# ###############################################################################
# # TURN HOME SECURITY SYSTEM ON AT BED TIME
# ###############################################################################
# - alias: Night HomeSecurity On
# initial_state: true
# trigger:
# platform: time_pattern
# minutes: "/5"
# seconds: 00
# condition:
# - condition: template
# value_template: "{{ states('sensor.bedtime_hour')|int == now().hour|int }}"
# - condition: template
# value_template: "{{ states('sensor.bedtime_minute')|int == now().minute|int }}"
# - condition: template
# value_template: "{{ states('alarm_control_panel.home') != 'away' }}"
# - condition: template
# value_template: "{{ states('alarm_control_panel.home') == 'disarmed' }}"
# - condition: template
# value_template: "{{ states('input_boolean.security_system_alerts') == 'on' }}"
# action:
# - service: alarm_control_panel.alarm_arm_home
# data:
# entity_id: alarm_control_panel.home
# - service: script.notify_me
# data:
# message: "It's bedtime, you forgot to turn ON Home Security System. Turned it ON for you."
###############################################################################
# Check for Garage Door Status when Home Security System State changes
###############################################################################
# - alias: Home Security System And Garage Door Check
# initial_state: true
# trigger:
# - platform: time_pattern
# minutes: '/15'
# seconds: 00
# condition:
# condition: and
# conditions:
# - condition: template
# value_template: '{{ states('alarm_control_panel.home') == "armed_home" or states('alarm_control_panel.home') == "armed_away" }}'
# - condition: or
# conditions:
# - condition: template
# value_template: '{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" }}'
# - condition: template
# value_template: '{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" }}'
# action:
# - service: switch.turn_on
# entity_id: switch.garage
# - service: script.notify_me
# data_template:
# message: >
# Attention! Your home Security system is set to {{ states('alarm_control_panel.home').split('_')[1] | upper }} mode.
# BUT THE {% if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" -%}DOUBLE CAR {%- else %}SINGLE CAR {% endif %}GARAGE DOOR IS STILL OPEN!
# - service: camera.snapshot
# data_template:
# entity_id: "camera.garage_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: camera.snapshot
# data_template:
# entity_id: "camera.driveway_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: camera.snapshot
# data_template:
# entity_id: "camera.frontdoor_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: notify.notify_smtp
# data_template:
# title: 'Garage Picture {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
# message: >-
# {%- macro get_date(dt) %}
# {%- set date_suffix = ["th", "st", "nd", "rd"] -%}
# {{ dt.day }}
# {%- if dt.day % 10 in [1, 2, 3] and dt.day not in [11, 12, 13] -%}
# {{ date_suffix[dt.day%10] }}
# {%- else -%}
# {{ date_suffix[0] }}
# {%- endif %} {{ dt.strftime("%B %Y")}}
# {%- endmacro -%}
# {% set doors = "" %}
# {% if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
# {% set doors = "Both garage doors" %}
# {% elif states('binary_sensor.door_window_sensor_158d0004248d5b') == "on"%}
# {% set doors = states('binary_sensor.door_window_sensor_158d0004248d5b.name %}
# {% elif states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" %}
# {% set doors = states('binary_sensor.door_window_sensor_158d0004231f7b.name %}
# {% endif %}
# Your {{ doors }} seem to be open while your home security system is set to "{{ states('alarm_control_panel.home').split('_')[1]| title }}" mode. Today is {{ get_date(now()) }}, and time is {{ now().strftime("%I:%M:%S %p") }}. Please see the attached pictures and make sure everything is okay.
# data:
# images:
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - condition: template
# value_template: '{{ states('alarm_control_panel.home') == "armed_home" }}'
# - service: script.voice_notify
# data_template:
# message: >
# {% set doors = "" %}
# {% if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
# {% set doors = "Both garage doors" %}
# {% elif states('binary_sensor.door_window_sensor_158d0004248d5b') == "on"%}
# {% set doors = states('binary_sensor.door_window_sensor_158d0004248d5b.name %}
# {% elif states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
# {% set doors = states('binary_sensor.door_window_sensor_158d0004231f7b.name %}
# {% endif %}
# Attention! Your home Security system is set to {{ states('alarm_control_panel.home').split('_')[1] | upper }} mode.
# BUT the {{ doors }} {{ 'are' if doors.endswith('s') else 'is' }} open.
- alias: Home Security System And Garage Door Check
initial_state: true
trigger:
- platform: time_pattern
minutes: '/15'
seconds: 00
condition:
condition: and
conditions:
- condition: template
value_template: "{{ states('alarm_control_panel.home') == 'armed_home' or states('alarm_control_panel.home') == 'armed_away' }}"
- condition: or
conditions:
- condition: template
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == 'on' }}"
- condition: template
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == 'on' }}"
action:
- service: switch.turn_on
entity_id: switch.garage
- service: script.notify_me
data_template:
message: >
Attention! Your home Security system is set to {{ states('alarm_control_panel.home').split('_')[1] | upper }} mode. BUT THE {% if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" -%}DOUBLE CAR {%- else %}SINGLE CAR {% endif %}GARAGE DOOR IS STILL OPEN!
- service: camera.snapshot
data_template:
entity_id: "camera.garage_camera"
filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (state_attr('automation.home_security_system_and_garage_door_check','last_updated') ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
title: "Garage"
message: "Home Security System is ON, but Garage Doors are OPEN!"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
- condition: template
value_template: "{{ states('alarm_control_panel.home') == 'armed_home' }}"
- service: script.voice_notify
data_template:
message: >
{%- set doors = "" %}
{%- if states('binary_sensor.door_window_sensor_158d0004231f7b') == "on" and states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
{%- set doors = "Both garage doors" %}
{%- elif states('binary_sensor.door_window_sensor_158d0004248d5b') == "on"%}
{%- set doors = state_attr('binary_sensor.door_window_sensor_158d0004248d5b', 'friendly_name') %}
{%- elif states('binary_sensor.door_window_sensor_158d0004248d5b') == "on" %}
{%- set doors = state_attr('binary_sensor.door_window_sensor_158d0004231f7b', 'friendly_name') %}
{%- endif %}
Attention! Your home Security system is set to {{ states('alarm_control_panel.home').split('_')[1] | upper }} mode.
BUT the {{ doors }} {{ 'are' if doors.endswith('s') else 'is' }} open.
###############################################################################
# Turn Home Security System ON at sunset time
@@ -388,74 +356,3 @@ automation:
# {%- endif -%}
# Your {{ doors}} {%- if 'and' in doors -%}s are {%- else %} is {%- endif %} open. Home Security System could not be turned on.
# {% endif %}
##############################################################################
# Ask me if I want to turn off Home Security System upon reaching front door
# Ask me only when the security system is ON or AWAY mode
##############################################################################
# - alias: Turn Off Security Upon Reaching Home
# initial_state: true
# trigger:
# - platform: state
# entity_id: device_tracker.life360_suresh
# from: 'not_home'
# to: 'home'
# condition:
# condition: or
# conditions:
# - condition: template
# value_template: '{{ states('alarm_control_panel.home') | lower == "armed_away" }}'
# - condition: template
# value_template: '{{ states('alarm_control_panel.home') | lower == "armed_home" }}'
# action:
# - service: notify.ios_suresh
# data_template:
# title: 'Welcome Home, Suresh!'
# message: 'Turn Off Home Security System?'
# data:
# push:
# badge: 0
# category: 'welcome_home'
##############################################################################
# Ask me if I want to turn off Home Security System when garage door is opened
# Ask me only when the security system is ON or AWAY mode
##############################################################################
# - alias: Notify Garage Status And Home Security System
# initial_state: true
# trigger:
# platform: state
# entity_id:
# - binary_sensor.door_window_sensor_158d0004231f7b
# - binary_sensor.door_window_sensor_158d0004248d5b
# to: 'on'
# condition:
# - condition: template
# value_template: '{{ states('alarm_control_panel.home') == "armed_home" or states('alarm_control_panel.home') == "armed_away" }}'
# action:
# - service: notify.ios_suresh
# data_template:
# title: >
# Your Home is armed, and {{ trigger.entity_id.split('.')[1].split('_')[0] |title }} Car Garage is just opened!
# message: 'Turn Off Home Security System?'
# data:
# push:
# badge: 0
# category: 'welcome_home'
##############################################################################
# iOS Actionable Notification that disables Home Security System
##############################################################################
# - alias: Disable Home Security iOS Action
# initial_state: true
# trigger:
# platform: event
# event_type: ios.notification_action_fired
# event_data:
# actionName: 'DISABLE_SECURITY'
# action:
# - service: alarm_control_panel.alarm_disarm
# entity_id: alarm_control_panel.home
# - service: notify.ios_suresh
# data:
# message: "Unlocked your home!"

View File

@@ -88,9 +88,9 @@ homeassistant:
input_boolean.animate_upstairs_lights:
icon: mdi:flash-outline
friendly_name: Animate Master Bedroom Lights
hue:
bridges:
- host: !secret philips_hue_ipaddress
# hue:
# bridges:
# - host: !secret philips_hue_ipaddress
tplink:
discovery: false

View File

@@ -6,7 +6,6 @@
###############################################################################
homeassistant:
customize:
sensor.trash_day:
friendly_name: Is it Trash Day today?
icon: mdi:delete-variant
@@ -42,33 +41,33 @@ input_select:
trash_pickup_day:
name: Current Trash Pickup Day (Evey Week)
options:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
- unknown
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
- unknown
icon: mdi:delete-variant
recycle_pickup_day:
name: Current Recycle Pickup Day (Every Other Week)
options:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
- unknown
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
- unknown
icon: mdi:recycle
recycle_pickup_week:
name: Select Recycle Pickup Week based on Current Week above
options:
- Even Weeks
- Odd Weeks
- unknown
- Even Weeks
- Odd Weeks
- unknown
icon: mdi:recycle
###############################################################################
@@ -87,7 +86,7 @@ sensor:
state_topic: "/home/trashpickupday"
name: "Trash Pickup Day"
value_template: "{{ value }}"
qos: 1
qos: 1
- platform: mqtt
state_topic: "/home/recyclepickupday"
name: "Recycle Pickup Day"
@@ -99,9 +98,9 @@ sensor:
value_template: "{{ value }}"
qos: 1
###############################################################################
# Sensor to hold info about current week is an odd week or an even week of the year
###############################################################################
###############################################################################
# Sensor to hold info about current week is an odd week or an even week of the year
###############################################################################
- platform: template
sensors:
current_week:
@@ -116,10 +115,10 @@ sensor:
Odd Week (Week# {{ as_timestamp(today) | timestamp_custom('%U', true) }})
{%- endif -%}
###############################################################################
# Trash - Pickup schedule is EVERY week.
# Set the day to a day before the actual day leaving time for reminders
###############################################################################
###############################################################################
# Trash - Pickup schedule is EVERY week.
# Set the day to a day before the actual day leaving time for reminders
###############################################################################
- platform: template
sensors:
trash_day:
@@ -135,10 +134,10 @@ sensor:
no
{%- endif -%}
###############################################################################
# Recycle - Pickup schedule is every other week.
# Set the day to a day before the actual day leaving time for reminders
###############################################################################
###############################################################################
# Recycle - Pickup schedule is every other week.
# Set the day to a day before the actual day leaving time for reminders
###############################################################################
- platform: template
sensors:
recycle_day:
@@ -188,22 +187,21 @@ sensor:
{{- is_it_today() -}}
###############################################################################
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
###############################################################################
automation:
###############################################################################
# The schedule can be changed via UI. The updated schedules are saved in MQTT
# The input_selects don't maintain state automatically - hence this code
# These automations are hidden - no interaction with user is required.
# Save & Restore Functionality
###############################################################################
###############################################################################
# The schedule can be changed via UI. The updated schedules are saved in MQTT
# The input_selects don't maintain state automatically - hence this code
# These automations are hidden - no interaction with user is required.
# Save & Restore Functionality
###############################################################################
- alias: Trash Pickup Day Changed
initial_state: true
trigger:
@@ -214,7 +212,7 @@ automation:
data_template:
topic: "/home/trashpickupday"
retain: true
payload: '{{ states.input_select.trash_pickup_day.state }}'
payload: "{{ states.input_select.trash_pickup_day.state }}"
- alias: Recycle Pickup Day Changed
initial_state: true
@@ -226,7 +224,7 @@ automation:
data_template:
topic: "/home/recyclepickupday"
retain: true
payload: '{{ states.input_select.recycle_pickup_day.state }}'
payload: "{{ states.input_select.recycle_pickup_day.state }}"
- alias: Recycle Pickup Week Changed
initial_state: true
@@ -238,7 +236,7 @@ automation:
data_template:
topic: "/home/recyclepickupweek"
retain: true
payload: '{{ states.input_select.recycle_pickup_week.state }}'
payload: "{{ states.input_select.recycle_pickup_week.state }}"
- alias: Restore Trash Recycle Settings on Startup
initial_state: true
@@ -247,7 +245,7 @@ automation:
event: start
action:
- delay:
minutes: 1
minutes: 1
- service: input_select.select_option
data_template:
entity_id: input_select.trash_pickup_day
@@ -261,62 +259,39 @@ automation:
entity_id: input_select.recycle_pickup_week
option: "{{states.sensor.recycle_pickup_week.state}}"
###############################################################################
# Reminder code - Reminds 5 times every hour starting 4 PM
# Conditions: Only notifies when someone is at home
###############################################################################
###############################################################################
# Reminder code - Reminds 5 times every hour starting 4 PM
# Conditions: Only notifies when someone is at home
###############################################################################
- alias: Trash and Recycle Pickup Reminder
initial_state: true
trigger:
- platform: time
at: '16:00:00'
at: "16:00:00"
- platform: time
at: '17:00:00'
at: "17:00:00"
- platform: time
at: '18:00:00'
at: "18:00:00"
- platform: time
at: '19:00:00'
at: "19:00:00"
- platform: time
at: '20:00:00'
at: "20:00:00"
- platform: time
at: '21:00:00'
at: "21:00:00"
condition:
condition: and
conditions:
- condition: template
value_template: '{{ states.input_boolean.trash_reminders.state == "on" }}'
- condition: or
conditions:
- condition: state
entity_id: sensor.trash_day
state: 'yes'
- condition: state
entity_id: sensor.recycle_day
state: 'yes'
- condition: template
value_template: '{{ states.input_boolean.trash_reminders.state == "on" }}'
- condition: or
conditions:
- condition: state
entity_id: sensor.trash_day
state: "yes"
- condition: state
entity_id: sensor.recycle_day
state: "yes"
action:
- service: notify.ios_suresh
data_template:
title: >
{% if states.sensor.trash_day.state == "yes" and states.sensor.recycle_day.state == "yes" %}
Trash and Recycle Pickup Tomorrow!
{% elif states.sensor.trash_day.state == "yes" %}
Trash Pickup Tomorrow!
{% elif states.sensor.recycle_day.state == "yes" %}
Recycle Pickup Tomorrow!
{% endif %}
message: >
{% if states.sensor.trash_day.state == "yes" and states.sensor.recycle_day.state == "yes" %}
Please leave Trash AND Recycle bins out tonight!
{% elif states.sensor.trash_day.state == "yes" %}
Please leave Trash bin outside tonight!
{% elif states.sensor.recycle_day.state == "yes" %}
Please leave Recycle bin outside tonight!
{% endif %}
data:
push:
badge: 0
category: "trash_recycle"
- service: script.notify_me
data_template:
message: >
@@ -340,39 +315,11 @@ automation:
Attention!: Tomorrow is the Recycle Pickup day. Please don't forget to put the recycle bin outside tonight!
{% endif %}
- alias: Trash and Recycle Bin Left Outside Already
initial_state: true
trigger:
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TRASH_LEFT
action:
- service: notify.ios_suresh
data:
message: "Great job, Thank you!"
- service: input_boolean.turn_off
entity_id: input_boolean.trash_reminders
- alias: Remind later
initial_state: true
trigger:
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TRASH_REMIND_LATER
action:
- service: notify.ios_suresh
data:
message: "Will remind you again in an hour!"
- service: input_boolean.turn_on
entity_id: input_boolean.trash_reminders
- alias: Reset Trash Reminders
initial_state: true
trigger:
- platform: time
at: '09:00:00'
at: "09:00:00"
action:
- service: input_boolean.turn_on
entity_id: input_boolean.trash_reminders
@@ -387,4 +334,4 @@ automation:
- service: input_select.select_option
data_template:
entity_id: input_select.recycle_pickup_week
option: "{{states.sensor.recycle_pickup_week.state}}"
option: "{{states.sensor.recycle_pickup_week.state}}"

View File

@@ -122,11 +122,15 @@ script:
entity_id: >
{%- for state in states.switch if
state.entity_id != 'switch.3d_printer' and
state.entity_id != 'switch.tesla_model_3_charger_switch' and
state.entity_id != 'switch.tesla_model_3_maxrange_switch' and
state.entity_id != 'switch.tesla_model_3_update_switch' and
state.entity_id != 'switch.mahasri_tesla_sentry_mode_switch' and
state.entity_id != 'switch.wemoswitch1' and
state.entity_id != 'switch.wallmote_switch' and
state.entity_id != 'switch.wemobackyardlightswitch' and
state.entity_id != 'switch.frontyard_light' and
not '_siren_' in state.entity_id -%}
not 'ecolink' in state.entity_id -%}
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
{%- endfor -%}
@@ -280,24 +284,21 @@ script:
# |___/
# Notify Related Scripts
###############################################################################
ifttt_notify:
notify_me_with_picture:
sequence:
- condition: state
entity_id: input_boolean.text_alerts
state: "on"
- condition: template
value_template: '{{ message | trim != "" }}'
- service: ifttt.trigger
value_template: '{{- message | trim != "" -}}'
- service: notify.telegram
data_template:
event: "Smart_Home"
value1: "{{ message }}"
value2: ""
ifttt_leeo_color_change:
sequence:
- condition: template
value_template: '{{ value1 | trim != "" }}'
- service: ifttt.trigger
data_template:
event: "LEEO_COLOR_CHANGE"
value1: "{{ value1 }}"
title: "{{- title -}}"
message: "{{- message -}}"
data:
photo:
- file: "{{- file -}}"
caption: "{{- caption -}}"
notify_me:
sequence:
@@ -306,9 +307,6 @@ script:
state: "on"
- condition: template
value_template: '{{ message | trim != "" }}'
- service: script.ifttt_notify
data_template:
message: "{{ message }}"
- service: notify.telegram
data_template:
message: "{{ message }}"
@@ -327,9 +325,6 @@ script:
###############################################################################
voice_notify:
sequence:
# - service: script.led_message
# data_template:
# message: "{{ message }}"
- condition: template
value_template: "{{ states('input_boolean.voice_notifications') == 'on' }}"
- condition: template