#------------------------------------------- # 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 #------------------------------------------- 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 #------------------------------------------- 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) -%} {{ [ "The " ~ opening +" has been opened for about 5 minutes. I will shut down the Air Conditioner so you can enjoy the fresh air.", "Since the " ~ opening +" is still open, I will turn off the air conditioners until you close it", "The " ~ opening +" has been left open, I will turn off the AC to save some money for you.", "We cant have the Air Conditioning running AND have " ~ opening +" open so I will turn off the AC.", "Since running the AC while " ~ opening +" is open, I will turn off the Air Conditioner.", "Once the " ~ opening +" is closed, I will turn the Air Conditioner back on", "So we dont waste money, I will turn off the AC until " ~ opening +" has been closed.", "The " ~ opening +" is open and we are cooling the outside. I will fix that by turning off the AC for now.", "The fresh Air from the " ~ opening +" is great so I will turn off the AC until it is closed again.", "When Doors and windows are left open like the " ~ opening +", I will remember to turn off the AC." ] | random }} {%- 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.set_hvac_mode data: entity_id: climate.downstairs hvac_mode: 'auto' #-------------------------------------------#------------------------------------------- - 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' apns_id: 'information'