2018-02-18 00:58:45 +00:00
#-------------------------------------------
# # @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
2020-07-02 18:50:39 +00:00
## Garadget_Stuff - [Garadget](https://amzn.to/2jQLpVQ) - Garage Door opener/sensor
2019-03-05 21:26:54 +00:00
# Video and Write Up - https://www.vcloudinfo.com/2019/03/how-to-add-garadget-to-home-assistant.html
2020-05-03 22:12:24 +00:00
# Switch to Access_Tokens - https://www.vcloudinfo.com/2020/05/fixing-garadget-in-home-assistant.html
2018-02-18 00:58:45 +00:00
#-------------------------------------------
2020-07-05 17:12:31 +00:00
# cover:
# - platform: garadget
# covers:
# large_garage:
# device: !secret large_garage_id
# #username: !secret garadget_username
# #password: !secret garadget_password
# access_token: !secret garadget_access_token
# name: large_garage
# small_garage:
# device: !secret small_garage_id
# #username: !secret garadget_username
# #password: !secret garadget_password
# access_token: !secret garadget_access_token
# name: small_garage
2018-02-18 00:58:45 +00:00
cover :
2020-07-05 17:12:31 +00:00
- platform : mqtt
name : "Small Garage Door"
2020-07-05 17:24:27 +00:00
device_class : 'garage'
2020-07-05 17:38:52 +00:00
command_topic : "garadget/GSmall/command"
state_topic : "garadget/GSmall/status"
2020-07-05 17:12:31 +00:00
payload_open : "open"
payload_close : "close"
payload_stop : "stop"
- platform : mqtt
name : "Large Garage Door"
2020-07-05 17:24:27 +00:00
device_class : 'garage'
2020-07-05 17:38:52 +00:00
command_topic : "garadget/GLarge/command"
state_topic : "garadget/GLarge/status"
2020-07-05 17:12:31 +00:00
payload_open : "open"
payload_close : "close"
payload_stop : "stop"
2018-02-18 00:58:45 +00:00
group :
2020-07-03 23:19:35 +00:00
garage_doors : # This group is used to check if doors are open or Closed.
2020-02-25 00:52:57 +00:00
name : Garage Doors
entities :
2020-07-05 17:24:27 +00:00
- cover.large_garage_door
- cover.small_garage_door
2018-02-18 00:58:45 +00:00
2020-06-08 15:27:11 +00:00
######################################################################
## Garage Status Announcements - Only during normal hours.
######################################################################
2018-02-18 00:58:45 +00:00
automation :
- alias : 'Update Garage Brightness'
trigger :
2019-02-23 23:03:43 +00:00
- platform : time_pattern
2020-07-05 17:12:31 +00:00
minutes : '/1'
2018-02-18 00:58:45 +00:00
action :
- service : mqtt.publish
data :
2020-07-05 17:38:52 +00:00
topic : "garadget/GSmall/command"
2018-02-18 00:58:45 +00:00
payload : "get-status"
- service : mqtt.publish
data :
2020-07-05 17:38:52 +00:00
topic : "garadget/GLarge/command"
2018-02-18 00:58:45 +00:00
payload : "get-status"
2020-06-08 15:27:11 +00:00
- alias : 'Garage Door State Change'
trigger :
- platform : state
entity_id :
- cover.large_garage
- cover.small_garage
from : 'open'
to : 'closed'
for : '00:02:00'
- platform : state
entity_id :
- cover.large_garage
- cover.small_garage
from : 'closed'
to : 'open'
for : '00:02:30'
action :
# - service_template: >
# {% set hour=states("sensor.time").split(':')[0] | int %}
# {% if hour >= 7 and hour <= 9 and states.input_boolean.school_mode.state == 'on'%}
# input_boolean.turn_off
# {% else %}
# input_boolean.turn_on
# {% endif %}
# entity_id: input_boolean.alert_mode
- service : script.speech_engine
data_template :
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'
trigger :
- platform : numeric_state
entity_id : sensor.dark_sky_wind_speed
above : 20
condition :
- condition : or
conditions :
- condition : template
value_template : "{{ states('cover.large_garage') == 'opened' }}"
- condition : template
value_template : "{{ states('cover.small_garage') == 'opened'}}"
action :
- service : input_boolean.turn_on
entity_id : input_boolean.alert_mode
- service : script.notify_engine
data_template :
title : 'Check/Close Garage Doors - High Speed Wind Alert:'
value1 : "Small: {{ states('cover.small_garage')}}"
value2 : "Large: {{ states('cover.large_garage')}}"
apns_id : 'information'
who : 'parents'
- service : script.speech_engine
data_template :
value1 : >
"The winds are picking up outside. The wind speed is {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. For safety, please close the garage doors.
{% if is_state('cover.large_garage', 'open') -%}
The Large Garage Door is open
{% endif -%}
{% if is_state('cover.small_garage', 'open') -%}
{% if is_state('cover.large_garage', 'open') -%}and
{%- endif %} The small Garage Door is open.
{% endif %}"
- service : script.tweet_engine_image
data_template :
tweet : >
{{ [
"Wind speed is {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. For safety, I'm going to close the @garadget doors." ,
"Getting pretty windy! {{ states('sensor.dark_sky_wind_speed')|round}}MPH. Time to ask @Garadget to close the garage doors."
2020-07-02 18:50:39 +00:00
] | random + "(https://amzn.to/2jQLpVQ)"}}
2020-06-08 15:27:11 +00:00
image : >-
{{ [
"/config/www/custom_ui/floorplan/images/branding/windy.png"
] | random }}
2020-07-03 23:19:35 +00:00
- alias : Garadget Reflection Rates
trigger :
- platform : numeric_state
entity_id : sensor.large_garage_reflection_rate
below : 85
# for: '00:05:00'
- platform : numeric_state
entity_id : sensor.small_garage_reflection_rate
below : 85
# for: '00:05:00'
condition :
- condition : template
value_template : "{{ states('cover.large_garage') == 'closed' }}"
- condition : template
value_template : "{{ states('cover.small_garage') == 'closed' }}"
action :
- service : script.notify_engine
data_template :
title : 'Garage door Status Change:'
value1 : "Small: {{ states('sensor.small_garage_reflection_rate')}}"
value2 : "Large: {{ states('sensor.large_garage_reflection_rate')}}"
who : "parents"
content_type : 'jpeg'
url : !secret camera2_snapshot
apns_id : 'information'
##############################################################################
- alias : Is the Garage door Open at night - Checks every 30 minutes or 5 minutes after we drive away.
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
value_template : "{{ states('cover.large_garage') == 'opened' }}"
- condition : template
value_template : "{{ states('cover.small_garage') == 'opened' }}"
- condition : and
conditions :
- condition : state
entity_id : sun.sun
state : 'below_horizon'
- condition : or
conditions :
- condition : template
value_template : "{{ states('cover.large_garage') == 'opened' }}"
- condition : template
value_template : "{{ states('cover.small_garage') == 'opened'}}"
action :
- service : script.notify_engine
data_template :
title : 'Check Garage Doors:'
value1 : "Small: {{ states('cover.small_garage')}}"
value2 : "Large: {{ states('cover.large_garage')}}"
who : "family"
camera_entity : "camera.camera2"
apns_id : 'information'
- service : script.speech_engine
data_template :
value1 : "Please check the garage doors. The Small garage is {{ states('cover.small_garage')}} and the large garage is {{ states('cover.large_garage')}}"