Home-AssistantConfig/config/packages/alarm.yaml

368 lines
10 KiB
YAML
Executable File

#-------------------------------------------
# ALarm Related Packages
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
#-------------------------------------------
homeassistant:
customize_glob:
"device_tracker.nodemcu*":
icon: mdi:chip
"binary_sensor.mcu?_gpio*":
icon: mdi:security-home
customize:
binary_sensor.MCU1_GPIO4:
friendly_name: 'Paige Window'
binary_sensor.MCU1_GPIO5:
friendly_name: 'Front Door'
binary_sensor.MCU1_GPIO10:
friendly_name: 'Dining Room Windows'
binary_sensor.MCU1_GPIO12:
friendly_name: 'Interior Garage Door'
binary_sensor.MCU1_GPIO13:
friendly_name: 'Front Den Windows'
binary_sensor.MCU1_GPIO14:
friendly_name: 'Office Window'
binary_sensor.MCU2_GPIO4:
friendly_name: 'Dinette Windows'
binary_sensor.MCU2_GPIO5:
friendly_name: 'Back Door'
binary_sensor.MCU2_GPIO9:
friendly_name: 'Master Slider'
binary_sensor.MCU2_GPIO10:
friendly_name: 'Master Bathroom Window'
binary_sensor.MCU2_GPIO12:
friendly_name: 'Main Slider'
binary_sensor.MCU2_GPIO13:
friendly_name: 'Upstairs Bedroom Window'
binary_sensor.MCU2_GPIO14:
friendly_name: 'Justin Window'
binary_sensor.MCU3_GPIO4:
friendly_name: 'Stacey Bedroom Window'
binary_sensor.MCU3_GPIO5:
friendly_name: 'Carlo Bedroom Window'
binary_sensor.MCU3_GPIO10:
friendly_name: 'Master Bedroom Window'
binary_sensor.MCU3_GPIO14:
friendly_name: 'Upstairs Windows'
binary_sensor.MCU3_Light:
friendly_name: 'Panel Door'
group.entry_points:
friendly_name: Alarm Entry Points
group.interior_door:
friendly_name: Interior doors
#-------------------------------------------
mqtt:
binary_sensor:
- state_topic: "NodeMCU1/GPIO4/Status"
name: "MCU1_GPIO4"
unique_id: 6829f4c5-9f99-45c4-a5d9-3c7a42b05abe
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU1/GPIO5/Status"
name: "MCU1_GPIO5"
unique_id: f5db33bf-f1e6-4d92-a637-3db4865aa2f4
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU1/GPIO10/Status"
name: "MCU1_GPIO10"
unique_id: ed998ae1-6ca6-4af8-ad6b-415992579c4c
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU1/GPIO12/Status"
name: "MCU1_GPIO12"
unique_id: ba72e789-0550-4ce5-95de-f7cd93eec7a1
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU1/GPIO13/Status"
name: "MCU1_GPIO13"
unique_id: 862ed4ad-b704-4ec0-9385-0fdbdd3db4cb
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU1/GPIO14/Status"
name: "MCU1_GPIO14"
unique_id: e3c8a195-71d4-4a14-b14e-d21f261c768d
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO4/Status"
name: "MCU2_GPIO4"
unique_id: 27f7e335-fe5b-43d8-863f-8738dadf311e
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO5/Status"
name: "MCU2_GPIO5"
unique_id: a0d35c49-00ec-4f34-b70a-43e862be5d64
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO9/Status"
name: "MCU2_GPIO9"
unique_id: c12c6a9d-17ea-4a1d-874b-54d747251949
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO10/Status"
name: "MCU2_GPIO10"
unique_id: 4427df18-0f23-4f92-87bd-656275a0054e
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO12/Status"
name: "MCU2_GPIO12"
unique_id: 03b06196-9f7f-4324-ba60-133cfbf1ee01
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO13/Status"
name: "MCU2_GPIO13"
unique_id: 3dbcf4e1-f2e1-4bfd-9861-08cbd989c404
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU2/GPIO14/Status"
name: "MCU2_GPIO14"
unique_id: 04f1298a-4138-45a0-aeda-58334eec56f2
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU3/GPIO4/Status"
name: "MCU3_GPIO4"
unique_id: 4cefd30a-4695-4ea1-a0fe-f82535d8d950
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU3/GPIO5/Status"
name: "MCU3_GPIO5"
unique_id: 524b7e7e-af9b-471b-be61-e2d4590c23d4
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU3/GPIO10/Status"
name: "MCU3_GPIO10"
unique_id: def60584-261a-472c-ab52-a34d4ff3038e
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU3/GPIO14/Status"
name: "MCU3_GPIO14"
unique_id: 031b204f-fa31-4d5b-ac6e-24f26c4afb06
payload_on: 1
payload_off: 0
device_class: opening
- state_topic: "NodeMCU3/Light/Status"
name: "MCU3_Light"
unique_id: 0b3ec37b-1fe9-4a7f-9336-6079727d725e
payload_on: 1
payload_off: 0
device_class: opening
# input_boolean:
# elephant:
# name: Elephant
# initial: off
#-------------------------------------------
group:
entry_points:
entities:
- binary_sensor.MCU1_GPIO4
- binary_sensor.MCU1_GPIO5
- binary_sensor.MCU1_GPIO10
- binary_sensor.MCU1_GPIO12
- binary_sensor.MCU1_GPIO13
- binary_sensor.MCU1_GPIO14
- binary_sensor.MCU2_GPIO4
- binary_sensor.MCU2_GPIO5
- binary_sensor.MCU2_GPIO9
- binary_sensor.MCU2_GPIO10
- binary_sensor.MCU2_GPIO12
- binary_sensor.MCU2_GPIO13
- binary_sensor.MCU2_GPIO14
- binary_sensor.MCU2_GPIO15
- binary_sensor.MCU3_GPIO4
- binary_sensor.MCU3_GPIO5
- binary_sensor.MCU3_GPIO10
- binary_sensor.MCU3_GPIO14
# interior_door: - Moved out to Doors Group.
# entities:
# - binary_sensor.kitchen_door
# - binary_sensor.MCU3_Light
#-------------------------------------------#-------------------------------------------
automation:
- alias: 'Turn off HVAC in window/door is opened'
id: 417961da-b706-4d5f-b155-e3518d24f0bc
trigger:
- platform: state
entity_id:
- binary_sensor.MCU1_GPIO4
- binary_sensor.MCU1_GPIO5
- binary_sensor.MCU1_GPIO10
- binary_sensor.MCU1_GPIO12
- binary_sensor.MCU1_GPIO13
- binary_sensor.MCU1_GPIO14
- binary_sensor.MCU2_GPIO4
- binary_sensor.MCU2_GPIO5
- binary_sensor.MCU2_GPIO9
- binary_sensor.MCU2_GPIO10
- binary_sensor.MCU2_GPIO12
- binary_sensor.MCU2_GPIO13
- binary_sensor.MCU2_GPIO14
- binary_sensor.MCU3_GPIO4
- binary_sensor.MCU3_GPIO5
- binary_sensor.MCU3_GPIO10
- binary_sensor.MCU3_GPIO14
to: 'on'
from: 'off'
for:
minutes: 5
condition:
- condition: template
value_template: "{{ states('climate.downstairs') != 'off' }}"
action:
- service: climate.turn_off
data:
entity_id: climate.downstairs
- service: script.speech_engine
data:
value1: >-
{% set opening = state_attr(trigger.entity_id, "friendly_name")%}
{%- macro opening_sentence(opening) -%}
{{"Since the " ~ opening +" has been left open, I will turn off the air conditioners until you close it" }}
[Give a snarky reason for this action]
{%- endmacro -%}
{{opening_sentence(opening)}}
call_outside_weather: 1
call_inside_weather: 1
#-------------------------------------------#-------------------------------------------
- alias: 'Turn HVAC back on when all doors/windows are closed.'
id: 66833291-c504-4651-aac9-3cdbf98d20ea
trigger:
- platform: state
entity_id:
- group.entry_points
to: 'off'
from: 'on'
for:
minutes: 5
condition:
- condition: template
value_template: "{{ states('climate.downstairs') == 'off' }}"
action:
- service: climate.turn_on
data:
entity_id: climate.downstairs
#-------------------------------------------#-------------------------------------------
- alias: 'Alarm lights in Living room'
id: fd0a2b68-ce3c-4f14-849d-8a312a79335e
trigger:
- platform: state
entity_id:
- group.entry_points
- platform: state
entity_id: group.garage_doors
condition:
condition: and
conditions:
- condition: state
entity_id: sun.sun
state: 'below_horizon'
- condition: state
entity_id: group.bed
state: 'off'
# action:
# - choose:
# - conditions:
# - condition: state
# entity_id: group.entry_points
# state: on
#
# sequence:
# - service: script.siren
# data:
# duration: 60
# - service: light.turn_on
# entity_id: all
action:
- choose:
- conditions: >
{{ states.group.entry_points.state == 'on' or
states.group.garage_doors.state != 'closed' }}
sequence:
- service: scene.turn_on
entity_id: scene.Red_living_Room
default:
- service: scene.turn_on
entity_id: scene.tv_time
# - service: >-
# {% if states.group.entry_points.state == 'on' or states.group.garage_doors.state != 'closed' -%}
# light.turn_on
# entity_id:
# - light.living_room_accents
# color_name: 'red'
# {% else %}
# light.turn_on
# entity_id:
# - light.living_room_accents
# color_name: 'gold'
# {% endif %}
#-------------------------------------------#---
- alias: "Panel Door opened"
id: 62d10d70-8092-4daa-9dcb-ed2bec6c6194
trigger:
- platform: state
entity_id:
- binary_sensor.MCU3_Light
to: 'off'
from: 'on'
action:
- service: script.notify_engine
data:
value1: 'Someone has opened up the Alarm Panel Door!'
who: 'carlo'
group: 'information'