2023-11-08 15:08:14 +00:00
#-------------------------------------------
2024-09-03 18:08:43 +00:00
# Garadget Configuration
# Description: Setup for Garadget garage door opener/sensor
#
# Integration: MQTT
# Hardware: Garadget (https://amzn.to/2jQLpVQ)
#
# Features:
# - Garage door status monitoring
# - Remote open/close control
# - Door brightness sensing
#
# Documentation:
# - Integration Guide: https://www.vcloudinfo.com/2019/03/how-to-add-garadget-to-home-assistant.html
# - Access Token Update: https://www.vcloudinfo.com/2020/05/fixing-garadget-in-home-assistant.html
#
# Original Repository: https://github.com/CCOSTAN/Home-AssistantConfig
# Follow me on https://www.vcloudinfo.com/click-here
2023-11-08 15:08:14 +00:00
#-------------------------------------------
mqtt :
cover :
- name : "Large Garage Door"
device_class : 'garage'
command_topic : "garadget/GLarge/command"
state_topic : "garadget/GLarge/status"
value_template : >-
{% if value_json.status == 'closed' %}
closed
{% else %}
open
{% endif %}
payload_open : "open"
payload_close : "close"
payload_stop : "stop"
2024-05-03 21:13:52 +00:00
- name : "Small Garage Door"
device_class : 'garage'
command_topic : "garadget/GSmall/command"
state_topic : "garadget/GSmall/status"
value_template : >-
{% if value_json.status == 'closed' %}
closed
{% else %}
open
{% endif %}
payload_open : "open"
payload_close : "close"
payload_stop : "stop"
2023-11-08 15:08:14 +00:00
sensor :
- name : "Large Garage Door Since"
state_topic : "garadget/GLarge/status"
value_template : '{{ value_json.time }}'
- name : "Large Garage Door Brightness"
state_topic : "garadget/GLarge/status"
unit_of_measurement : '%'
value_template : '{{ value_json.bright }}'
2024-05-03 21:13:52 +00:00
- name : "Small Garage Door Since"
state_topic : "garadget/GSmall/status"
value_template : '{{ value_json.time }}'
2023-11-08 15:08:14 +00:00
2024-05-03 21:13:52 +00:00
- name : "Small Garage Door Brightness"
state_topic : "garadget/GSmall/status"
unit_of_measurement : '%'
value_template : '{{ value_json.bright }}'
2023-11-08 15:08:14 +00:00
2024-10-18 22:08:06 +00:00
input_text :
last_person_home :
name : Last Person Home
initial : 'Carlo'
2023-11-08 15:08:14 +00:00
group :
garage_doors : # This group is used to check if doors are open or Closed.
name : Garage Doors
entities :
- cover.large_garage_door
2024-05-03 21:13:52 +00:00
- cover.small_garage_door
2023-11-08 15:08:14 +00:00
######################################################################
2023-11-17 06:59:29 +00:00
## Send a notification to anyone coming home asking if they want to open the garage door.
2023-11-08 15:08:14 +00:00
######################################################################
automation :
2023-11-17 06:59:29 +00:00
- alias : 'Garage Helper'
id : 365adc21-5e96-4e78-9e94-089901a29430
mode : parallel
trigger :
- platform : state
entity_id :
- person.carlo
- person.stacey
from : 'not_home'
to : 'home'
condition :
2024-04-24 04:21:06 +00:00
- condition : state
entity_id : cover.large_garage_door
state : 'closed'
2023-11-17 06:59:29 +00:00
action :
2024-05-03 21:13:52 +00:00
# - variables:
# person_triggered: "{{ trigger.to_state.entity_id.split('.')[1] }}"
- service : input_text.set_value
target :
entity_id : input_text.last_person_home
data :
value : "{{ trigger.to_state.entity_id.split('.')[1] }}"
2023-11-17 06:59:29 +00:00
- service : script.notify_engine_two_button
data :
title : 'Welcome Home!'
2024-04-24 04:21:06 +00:00
value1 : 'Open Large Garage door?'
2023-11-17 06:59:29 +00:00
title1 : 'Yes'
action1 : 'OPEN_LARGE_GARAGE'
icon1 : 'sfsymbols:arrow.up.circle'
destructive1 : 'false'
title2 : 'No'
action2 : 'NO_OPEN_LARGE_GARAGE'
icon2 : 'sfsymbols:house.circle'
destructive2 : 'true'
2024-05-03 21:13:52 +00:00
who : "{{ states('input_text.last_person_home') }}"
2023-11-17 22:16:41 +00:00
group : 'Welcome_Home'
2023-11-17 06:59:29 +00:00
- alias : 'Open Large Garage Door Action'
id : 85e02a74-2ecc-4815-95a6-db864a6dffd7
trigger :
platform : event
event_type : mobile_app_notification_action
event_data :
action : OPEN_LARGE_GARAGE
2024-05-03 21:13:52 +00:00
condition :
2023-11-17 06:59:29 +00:00
- condition : state
entity_id : cover.large_garage_door
state : 'closed'
- condition : state
entity_id : group.family
state : 'home'
action :
- service : cover.open_cover
entity_id : cover.large_garage_door
2024-04-24 04:21:06 +00:00
- alias : 'Prompt to Open Front Door'
id : ece2b4a8-af21-41f4-a8fc-480a4d1ddabc
trigger :
platform : event
event_type : mobile_app_notification_action
event_data :
2024-05-03 21:13:52 +00:00
action : NO_OPEN_LARGE_GARAGE
condition :
2024-04-24 04:21:06 +00:00
- condition : state
entity_id : group.family
state : 'home'
action :
- service : script.notify_engine_two_button
data :
title : 'Unlock Front Door?'
value1 : 'Do you want to unlock the front door instead?'
title1 : 'Yes'
action1 : 'UNLOCK_FRONT_DOOR'
icon1 : 'sfsymbols:unlock'
destructive1 : 'false'
title2 : 'No'
action2 : 'KEEP_FRONT_DOOR_LOCKED'
icon2 : 'sfsymbols:lock'
destructive2 : 'true'
2024-05-03 21:13:52 +00:00
who : "{{ states('input_text.last_person_home') }}"
2024-04-24 04:21:06 +00:00
group : 'Welcome_Home'
- alias : 'Unlock Front Door Action'
id : c3106db1-f2c4-4800-b1a3-76d440228600
trigger :
platform : event
event_type : mobile_app_notification_action
event_data :
2024-05-03 21:13:52 +00:00
action : UNLOCK_FRONT_DOOR
2024-04-24 04:21:06 +00:00
action :
- service : lock.unlock
entity_id : lock.front_door
2023-11-17 06:59:29 +00:00
######################################################################
## Garage Status Announcements - Only during normal hours.
######################################################################
2023-11-08 15:08:14 +00:00
- alias : 'Update Garage Get-Status'
id : 2b9e8359-c189-4399-b415-50107513fe90
trigger :
- platform : time_pattern
minutes : '/1'
action :
2024-05-03 21:13:52 +00:00
- service : mqtt.publish
data :
topic : "garadget/GSmall/command"
payload : "get-status"
2023-11-08 15:08:14 +00:00
- service : mqtt.publish
data :
topic : "garadget/GLarge/command"
payload : "get-status"
- alias : 'Garage Door State Change'
id : afec0987-edb1-4341-a524-a00ae4df9fb7
mode : restart
trigger :
- platform : state
entity_id :
- cover.large_garage_door
2024-05-03 21:13:52 +00:00
- cover.small_garage_door
2023-11-08 15:08:14 +00:00
from : 'open'
to : 'closed'
for : '00:02:00'
- platform : state
entity_id :
- cover.large_garage_door
2024-05-03 21:13:52 +00:00
- cover.small_garage_door
2023-11-08 15:08:14 +00:00
from : 'closed'
to : 'open'
2024-07-06 17:11:10 +00:00
for : '00:10:00'
2023-11-08 15:08:14 +00:00
action :
- choose :
- conditions : "{{ is_state('cover.large_garage_door','closed') }}"
sequence :
- service : script.speech_engine
data :
DoorClosed : "The {{ trigger.entity_id.split('.')[1]|replace('_', ' ') }} is now {{ (trigger.to_state.state)|replace('_', ' ') }}."
call_garage_check : 1
2024-07-06 17:11:10 +00:00
- delay : "00:10:00"
2023-11-08 15:08:14 +00:00
- service : script.garage_lights_off
default :
- service : script.speech_engine
data :
DoorClosed : "The {{ trigger.entity_id.split('.')[1]|replace('_', ' ') }} is now {{ (trigger.to_state.state)|replace('_', ' ') }}."
call_garage_check : 1
###################################
## Garadget Wind Door Checks - [Garadget](https://amzn.to/2jQLpVQ)
###################################
- alias : 'Wind Speed Garage Door Check'
id : 2819207a-1716-4552-be34-a8e0f7af004e
trigger :
- platform : numeric_state
2024-10-18 22:08:06 +00:00
entity_id : sensor.pirateweather_wind_speed
2023-11-17 22:16:41 +00:00
above : 30
2023-11-08 15:08:14 +00:00
condition :
- condition : or
conditions :
- condition : state
entity_id : cover.large_garage_door
2024-05-25 00:23:12 +00:00
state : 'open'
2023-11-08 15:08:14 +00:00
- condition : state
entity_id : cover.small_garage_door
2024-05-25 00:23:12 +00:00
state : 'open'
2023-11-08 15:08:14 +00:00
action :
- service : input_boolean.turn_on
entity_id : input_boolean.alert_mode
- service : script.notify_engine
data :
title : 'Check/Close Garage Doors - High Speed Wind Alert:'
value1 : "Small: {{ states('cover.small_garage_door')}}"
value2 : "Large: {{ states('cover.large_garage_door')}}"
2023-11-17 22:16:41 +00:00
group : 'information'
2023-11-08 15:08:14 +00:00
who : 'parents'
- service : script.speech_engine
data :
value1 : >
2024-10-18 22:08:06 +00:00
"The wind speed is {{ states('sensor.pirateweather_wind_speed')|round}} miles per hour. For safety, please close the garage doors.
2023-11-08 15:08:14 +00:00
{% if is_state('cover.large_garage_door', 'open') -%}
The Large Garage Door is open
{% endif -%}
{% if is_state('cover.small_garage_door', 'open') -%}
{% if is_state('cover.large_garage_door', 'open') -%}and
{%- endif %} The small Garage Door is open.
{% endif %}"
##############################################################################
- alias : Is the Garage door Open at night - Checks every 30 minutes or 5 minutes after we drive away.
id : 4eb3e83e-4484-4102-a4ca-6bacd5b3cbdd
trigger :
- platform : time_pattern
minutes : '/45'
- platform : state
entity_id : group.family
to : not_home
for : 00 : 05 : 00
- platform : state
entity_id : input_boolean.tv_time
to : 'on'
from : 'off'
condition :
condition : or
conditions :
- condition : and
conditions :
- condition : state
entity_id : group.family
state : not_home
for : 00 : 05 : 00
- condition : or
conditions :
- condition : template
2024-05-25 00:23:12 +00:00
value_template : "{{ states('cover.large_garage_door') == 'open' }}"
2023-11-08 15:08:14 +00:00
- condition : template
2024-05-25 00:23:12 +00:00
value_template : "{{ states('cover.small_garage_door') == 'open' }}"
2023-11-08 15:08:14 +00:00
- condition : and
conditions :
- condition : state
entity_id : sun.sun
state : 'below_horizon'
- condition : or
conditions :
- condition : template
2024-05-25 00:23:12 +00:00
value_template : "{{ states('cover.large_garage_door') == 'open' }}"
2023-11-08 15:08:14 +00:00
- condition : template
2024-05-25 00:23:12 +00:00
value_template : "{{ states('cover.small_garage_door') == 'open'}}"
2023-11-08 15:08:14 +00:00
action :
- service : script.notify_engine
data :
title : 'Check Garage Doors:'
value1 : "Small: {{ states('cover.small_garage_door')}}"
value2 : "Large: {{ states('cover.large_garage_door')}}"
who : "family"
2024-12-24 16:50:53 +00:00
camera_entity : "camera.garagecam"
2023-11-17 22:16:41 +00:00
group : 'information'
2023-11-08 15:08:14 +00:00
- service : script.speech_engine
data :
2024-07-06 17:11:10 +00:00
value1 : "Check the garage doors. The Small garage is {{ states('cover.small_garage_door')}} and the large garage is {{ states('cover.large_garage_door')}} [Only mention the garage door that is open and remind us to close it for the night]"
2023-11-17 06:59:29 +00:00