home-assistant-configuration/config/packages/security.yaml

503 lines
13 KiB
YAML
Executable File

###############################################################################
# @author : Jeffrey Stone
# @date : 03/13/2019
# @package : Security
# @description : Everything related to security functions.
###############################################################################
input_boolean:
sentry_mode:
name: Sentry Mode
icon: mdi:security
vacation_mode:
name: Vacation Mode
icon: mdi:airplane-takeoff
guest_mode:
name: Guest Mode
icon: mdi:account-multiple
security_alarm:
name: Security Alarm
icon: mdi:speaker-wireless
fire_alarm:
name: Fire Alarm
icon: mdi:speaker-wireless
garage_after_dark:
name: Garage Open After Dark
icon: mdi:message-alert
lockdown_issue:
name: Lockdown Issue
icon: mdi:lock-reset
security_issue:
name: Security Issue
icon: mdi:alert-circle-outline
automation:
- id: enable_vacation_mode
alias: Enable Vacation Mode
initial_state: true
trigger:
- platform: numeric_state
entity_id: sensor.jeff_ett_home
above: 180
- platform: numeric_state
entity_id: sensor.kat_ett_home
above: 180
condition:
- condition: numeric_state
entity_id: sensor.jeff_ett_home
above: 180
- condition: numeric_state
entity_id: sensor.kat_ett_home
above: 180
action:
- service: input_boolean.turn_on
entity_id: input_boolean.vacation_mode
- id: morning_standby
alias: Morning Standby
initial_state: true
trigger:
- platform: time
at: 05:30:00
condition:
condition: or
conditions:
- condition: state
entity_id: sensor.family_status
state: Home
- condition: state
entity_id: input_boolean.guest_mode
state: 'on'
action:
- service: script.standby
- id: nightly_lockdown
alias: Nightly Lockdown
initial_state: true
trigger:
- platform: time
at: '23:00:00'
condition:
- condition: state
entity_id: person.jeffrey
state: home
- condition: state
entity_id: person.katherine
state: home
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: script.lockdown
- id: garage_open_sunset
alias: Garage Open At Sunset
initial_state: true
trigger:
- platform: sun
event: sunset
condition:
- condition: state
entity_id: binary_sensor.garage_door
state: "on"
action:
- service: script.driveway_on
- id: close_garage_lights_out
alias: Close Garage at lights out
initial_state: true
trigger:
- platform: time
at: '22:30:00'
condition:
- condition: state
entity_id: binary_sensor.garage_door
state: "on"
action:
- service: input_boolean.turn_on
entity_id: input_boolean.garage_after_dark
- id: door_chime
alias: Door Chine
trigger:
- platform: state
entity_id:
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.attic_door
- binary_sensor.back_door
from: 'off'
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: script.door_chime
initial_state: true
- id: door_opened_long
alias: Door Opened Too Long
trigger:
- platform: state
entity_id:
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.attic_door
- binary_sensor.back_door
from: 'off'
to: 'on'
for: '00:01:00'
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.ah_report
data_template:
speech_message: " the {{ trigger.to_state.attributes.friendly_name }} has been standing open for more than a minute."
call_interuption: 1
initial_state: true
- id: motion_detected
alias: motion_detected
trigger:
- platform: state
entity_id:
- binary_sensor.aarlo_motion_front_door
- binary_sensor.aarlo_motion_driveway
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.ah_report
data_template:
speech_message: "I have detected motion at the {{ trigger.to_state.attributes.friendly_name }}."
call_interuption: 1
initial_state: true
- id: garage_opened_night
alias: Garage Opened at Night
trigger:
- platform: state
entity_id: group.garage_doors
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: sun.sun
state: below_horizon
action:
- service: script.driveway_on
initial_state: true
- id: garage_closed
alias: Garage Opened at Night
trigger:
- platform: state
entity_id: group.garage_doors
from: 'on'
to: 'off'
action:
- service: script.driveway_off
initial_state: true
- id: security_breach_door
alias: Security Breach Doors
trigger:
- platform: state
entity_id:
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.back_door
- binary_sensor.side_door
- binary_sensor.garage_door
from: 'off'
condition:
- condition: state
entity_id: input_boolean.sentry_mode
state: 'on'
action:
- service: script.jarvis_alert
data_template:
message: "My security protocols are being overidden,, The {{ trigger.to_state.attributes.friendly_name }} has been opened."
- service: script.text_alert
data_template:
title: "Security Alert!!"
message: "{{ trigger.to_state.attributes.friendly_name }} has been opened."
- service: input_boolean.turn_on
entity_id: input_boolean.security_issue
initial_state: true
- id: security_response_on
alias: Security Response On
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.security_issue
from: 'off'
to: 'on'
action:
- service: script.turn_on
entity_id: script.security_response
- service: scene.turn_on
entity_id: scene.lr_red
- id: security_response_off
alias: Security Response Off
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.security_issue
from: 'on'
to: 'off'
action:
- service: script.turn_off
entity_id: script.security_response
- service: media_player.media_stop
entity_id: media_player.theater
- service: scene.turn_on
entity_id: scene.lr_red
- service: script.livingroom_lamps_on
- service: script.livingroom_lamps_off
- id: sentry_mode_enabled
alias: Sentry Mode Enabled Annoucement
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.sentry_mode
from: 'off'
to: 'on'
action:
- service: script.ah_report
data_template:
speech_message: >
{{ [
"Barn door protocol has been activated.",
"Anchorage House has been secured! ",
"Sentry Mode is active. ",
"I am now monitoring the doors and will let you know if anyone attempts to access.",
"Anchorage House Shields are up."
] | random }}
- id: sentry_mode_disabled
alias: Sentry Mode Disabled Annoucement
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.sentry_mode
from: 'on'
to: 'off'
action:
- service: script.ah_report
data_template:
speech_message: >
{{ [
"Barn door protocol has been deactivated.",
"I am no longer monitoring the access points. ",
"Sentry Mode has been disabled. ",
"Anchorage House Shields are down."
] | random }}
- id: guest_mode_feedback
alias: Guest Mode Audio Feedback
trigger:
- platform: state
entity_id:
- input_boolean.guest_mode
from: 'off'
to: 'on'
action:
- service: script.ah_report
data_template:
speech_message: >
{{ [
"Guest Mode has been enabled.",
"I have switched to the system to guest mode.",
"I have enabled guest mode. ",
"Guest Mode is on."
] | random }}
script:
lockdown_issue:
sequence:
- condition: state
entity_id: group.external_doors
state: "on"
- condition: state
entity_id: sensor.family_status
state: "Away"
- service: input_boolean.turn_on
entity_id: input_boolean.lockdown_issue
- service: script.text_notify
data_template:
title: "Lockdown Issue!"
message: "Doors are open and it appears everyone has left!"
security_check_garage:
sequence:
- condition: state
entity_id: binary_sensor.garage_door
state: 'on'
- service: input_boolean.turn_on
entity_id: input_boolean.lockdown_issue
security_check_zones:
sequence:
- condition: state
entity_id: group.doors
state: 'on'
- service: input_boolean.turn_on
entity_id: input_boolean.lockdown_issue
lockdown:
sequence:
- condition: state
entity_id: group.external_doors
state: "off"
- service: input_boolean.turn_on
entity_id: input_boolean.sentry_mode
standby:
sequence:
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: input_boolean.turn_off
entity_id: input_boolean.sentry_mode
- service: input_boolean.turn_off
entity_id: input_boolean.security_issue
- service: input_boolean.turn_off
entity_id: input_boolean.lockdown_issue
- service: input_boolean.turn_off
entity_id: input_boolean.security_alarm
visitors_here:
sequence:
- service: input_boolean.turn_on
data:
entity_id: input_boolean.guest_mode
#- service: shell_command.haunted_guest_welcome
visitors_gone:
sequence:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.guest_mode
notification_security_alarm_audio:
sequence:
- service: shell_command.security_alarm
vacation_canceled:
sequence:
- data:
entity_id: input_boolean.vacation_mode
service: input_boolean.turn_off
activate_barn_door_protocol:
sequence:
- service: script.ah_report
data:
call_confirmation: 1
- delay:
seconds: 2
- service: input_boolean.turn_on
entity_id: input_boolean.sentry_mode
deactivate_barn_door_protocol:
sequence:
- service: script.ah_report
data:
call_confirmation: 1
- delay:
seconds: 2
- service: input_boolean.turn_off
entity_id: input_boolean.sentry_mode
activate_guest_mode:
sequence:
- service: script.ah_report
data:
call_confirmation: 1
- delay:
seconds: 2
- service: input_boolean.turn_on
entity_id: input_boolean.guest_mode
security_response:
sequence:
- delay:
seconds: 15
- service: script.jarvis_alert
data_template:
message: >
{{ [
",Unathorized Access detected.",
",Meat Popsicle detected. Attempting to verify."
] | random }}
You now have 60 seconds to abandon Anchorage House.
- delay:
seconds: 15
- service: script.jarvis_alert
data_template:
message: >
{{ [
",Just, what do you think you're doing, Dave?",
",This is highly unusual."
] | random }}
You have 45 seconds.
- delay:
seconds: 15
- service: script.jarvis_alert
data_template:
message: >
{{ [
",I can't lie to you about your chances, but, you have my sympathies.",
",I wouldn't do that if I was you."
] | random }}
You have 30 seconds.
- delay:
seconds: 15
- service: script.jarvis_alert
data_template:
message: >
{{ [
"Danger. The emergency destruct system is now activated.",
"Danger. Counter Measures are now armed."
] | random }}
You have 15 seconds.
- delay:
seconds: 15
- service: media_player.turn_on
entity_id: media_player.theater
- service: media_player.volume_set
data_template:
entity_id: media_player.theater
volume_level: .5
- service: media_player.play_media
entity_id: media_player.theater
data:
media_content_id: http://192.168.7.40/audio/security_siren.mp3
media_content_type: "music"
- service: script.twitter_notify
data_template:
message: >-
{{ [
"My security protocols are being overridden. I am sounding the alarm. #itsloudinhere #securityalarm",
"To the unannounced guest that has entered Anchorage House. I see you. #itsloudinhere #securityalarm",
"Someone didnt say the magic word. And now I have to get angry. #itsloudinhere #securityalarm",
"Initiating my security response, and sounding the alarm. Oh, and I dont charge a monthly monitoring fee. #itsloudinhere #securityalarm",
"Hey, wanna hear the most annoying sound in the world? Its currently playing for the intruder inside Anchorage House. #itsloudinhere #securityalarm"
] | random }}