mirror of
https://github.com/thejeffreystone/home-assistant-configuration.git
synced 2025-02-08 16:52:09 +00:00
Lots of updates here. Updated my Readme - Added Affiliate Links, added some more information, better organized devices Updated gitignore with paths realtive to my hassio config Combined my switches and lights into single yaml files instead of the directory structure previously Added zigbee2mqtt.yaml to packages - contains automations and such for zigbee2mqtt Archived my previous version in the V4-config branch.
421 lines
11 KiB
YAML
Executable File
421 lines
11 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.security_issue
|
|
|
|
- id: door_chime
|
|
alias: Door Chine
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.front_door_contact_2
|
|
- binary_sensor.laundry_room_door_contact_2
|
|
- binary_sensor.attic_door_contact_2
|
|
- binary_sensor.back_door_contact_2
|
|
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: shell_command.door_chime
|
|
- service: script.reset_ha_speaker
|
|
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: 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: 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."
|
|
] | 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 switched off. "
|
|
] | 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: cover.cargo_bay
|
|
state: open
|
|
- 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
|
|
|
|
# notification_sentry_mode_activated_audio:
|
|
# sequence:
|
|
# - condition: state
|
|
# entity_id: input_boolean.audible_notifications
|
|
# state: 'on'
|
|
# - condition: state
|
|
# entity_id: media_player.theater
|
|
# state: 'idle'
|
|
# - service: tts.google_say
|
|
# entity_id: media_player.theater
|
|
# data_template:
|
|
# message: "Sentry mode activated"
|
|
|
|
# notification_sentry_mode_deactivated_audio:
|
|
# sequence:
|
|
# - condition: state
|
|
# entity_id: input_boolean.audible_notifications
|
|
# state: 'on'
|
|
# - condition: state
|
|
# entity_id: media_player.theater
|
|
# state: 'idle'
|
|
# - service: tts.google_say
|
|
# entity_id: media_player.theater
|
|
# data_template:
|
|
# message: "Sentry mode deactivated"
|
|
|
|
# notification_sentry_mode_deactiviated_text:
|
|
# sequence:
|
|
# - service: notify.jeff_ios
|
|
# data:
|
|
# message: Sentry Mode Deactivated
|
|
|
|
# notification_sentry_mode_activiated_text:
|
|
# sequence:
|
|
# - service: notify.jeff_ios
|
|
# data:
|
|
# message: Sentry Mode Activated
|
|
|
|
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
|
|
|
|
|