# ############################################################################### # # @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!" # # Water Leak detected - initiate the emergency process # ############################################################################### # - alias: Water Leak Detected # initial_state: true # trigger: # - platform: state # entity_id: sensor.aeotec_water_sensor_flood # from: '0' # to: '2' # 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: "EMERGENCY! Water Leak Detected in the Basement!" # - service: script.emergency_script # data: # volume_level: 25 # alarm_code: 2 # message: "ALERT! Water Leak Detected in the Basement!" # # # 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.simplisafe # to: 'disarmed' # condition: # - condition: template # value_template: '{{ states.input_boolean.emergency_mode.state == "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.two_car_garage_door_tilt_sensor_sensor # - binary_sensor.single_car_garage_door_tilt_sensor_sensor # - 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.simplisafe.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.zwave_smart_switch_switch # - 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_bathroom_fragrance_outlet # - 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