306 lines
8.5 KiB
YAML
Executable File
306 lines
8.5 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
|
|
emulated_hue_hidden: True
|
|
hidden: True
|
|
"sensor.nodemcu*":
|
|
icon: mdi:alarm-bell
|
|
emulated_hue_hidden: True
|
|
hidden: False
|
|
"binary_sensor.mcu?_gpio*":
|
|
icon: mdi:security-home
|
|
emulated_hue_hidden: True
|
|
hidden: False
|
|
|
|
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
|
|
homebridge_hidden: true
|
|
group.interior_door:
|
|
friendly_name: Interior doors
|
|
homebridge_hidden: true
|
|
#-------------------------------------------
|
|
binary_sensor:
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO4/Status"
|
|
name: "MCU1_GPIO4"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO5/Status"
|
|
name: "MCU1_GPIO5"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO10/Status"
|
|
name: "MCU1_GPIO10"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO12/Status"
|
|
name: "MCU1_GPIO12"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO13/Status"
|
|
name: "MCU1_GPIO13"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU1/GPIO14/Status"
|
|
name: "MCU1_GPIO14"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO4/Status"
|
|
name: "MCU2_GPIO4"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO5/Status"
|
|
name: "MCU2_GPIO5"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO9/Status"
|
|
name: "MCU2_GPIO9"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO10/Status"
|
|
name: "MCU2_GPIO10"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO12/Status"
|
|
name: "MCU2_GPIO12"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO13/Status"
|
|
name: "MCU2_GPIO13"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU2/GPIO14/Status"
|
|
name: "MCU2_GPIO14"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU3/GPIO4/Status"
|
|
name: "MCU3_GPIO4"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU3/GPIO5/Status"
|
|
name: "MCU3_GPIO5"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU3/GPIO10/Status"
|
|
name: "MCU3_GPIO10"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU3/GPIO14/Status"
|
|
name: "MCU3_GPIO14"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
- platform: mqtt
|
|
state_topic: "NodeMCU3/Light/Status"
|
|
name: "MCU3_Light"
|
|
payload_on: 1
|
|
payload_off: 0
|
|
device_class: opening
|
|
|
|
# input_boolean:
|
|
# elephant:
|
|
# name: Elephant
|
|
# initial: off
|
|
#-------------------------------------------
|
|
sensor:
|
|
- platform: template
|
|
sensors:
|
|
nodemcu1:
|
|
friendly_name: 'NodeMCU1'
|
|
value_template: "{{ 'Online' if is_state('device_tracker.NodeMCU1', 'home') else 'Offline' }}"
|
|
- platform: template
|
|
sensors:
|
|
nodemcu2:
|
|
friendly_name: 'NodeMCU2'
|
|
value_template: "{{ 'Online' if is_state('device_tracker.NodeMCU2', 'home') else 'Offline' }}"
|
|
- platform: template
|
|
sensors:
|
|
nodemcu3:
|
|
friendly_name: 'NodeMCU3'
|
|
value_template: "{{ 'Online' if is_state('device_tracker.NodeMCU3', 'home') else 'Offline' }}"
|
|
|
|
#-------------------------------------------
|
|
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_opened
|
|
# - binary_sensor.MCU3_Light
|
|
#-------------------------------------------#-------------------------------------------
|
|
automation:
|
|
- alias: 'Turn off HVAC in window/door is opened'
|
|
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.set_operation_mode
|
|
data:
|
|
entity_id: climate.downstairs
|
|
operation_mode: 'off'
|
|
- service: script.speech_engine
|
|
data_template:
|
|
value1: "The {{ trigger.to_state.attributes.friendly_name }} has been opened for about 5 minutes. I will shut down the Air Conditioner so you can enjoy the fresh air."
|
|
call_outside_weather: 1
|
|
call_inside_weather: 1
|
|
#-------------------------------------------#-------------------------------------------
|
|
- alias: 'Turn HVAC back on when all doors/windows are closed.'
|
|
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.set_operation_mode
|
|
data:
|
|
entity_id: climate.downstairs
|
|
operation_mode: 'auto'
|
|
|
|
#-------------------------------------------#---
|
|
- alias: "Panel Door opened"
|
|
hide_entity: True
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.MCU3_Light
|
|
to: 'off'
|
|
from: 'on'
|
|
|
|
action:
|
|
- service: script.notify_engine
|
|
data_template:
|
|
value1: 'Someone has opened up the Alarm Panel Door!'
|