101 lines
4.2 KiB
YAML
101 lines
4.2 KiB
YAML
homeassistant:
|
|
customize:
|
|
binary_sensor.dining_room_thermostat_fan:
|
|
friendly_name: Thermostat Fan
|
|
binary_sensor.dining_room_thermostat_has_leaf:
|
|
friendly_name: Thermostat has Leaf
|
|
binary_sensor.dining_room_thermostat_is_locked:
|
|
friendly_name: Thermostat is Locked
|
|
binary_sensor.dining_room_thermostat_is_using_emergency_heat:
|
|
friendly_name: Thermostart Emergency Heat
|
|
binary_sensor.dining_room_thermostat_online:
|
|
friendly_name: Thermostat Online
|
|
|
|
sensor.dining_room_thermostat_humidity:
|
|
friendly_name: Thermostat Humidity
|
|
sensor.dining_room_thermostat_hvac_state:
|
|
friendly_name: Thermostat HVAC State
|
|
sensor.dining_room_thermostat_operation_mode:
|
|
friendly_name: Thermostat Operation Mode
|
|
sensor.dining_room_thermostat_target:
|
|
friendly_name: Thermostat Target
|
|
sensor.dining_room_thermostat_temperature:
|
|
friendly_name: Thermostat Temperature
|
|
|
|
nest:
|
|
client_id: !secret nest_client_id
|
|
client_secret: !secret nest_client_secret
|
|
|
|
###############################################################################
|
|
# _ _ _
|
|
# /\ | | | | (_)
|
|
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
|
|
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
|
|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
|
|
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
|
|
#
|
|
###############################################################################
|
|
|
|
automation:
|
|
###############################################################################
|
|
# Turn OFF AC after 3 hours of cooling
|
|
# Where we live, 3 hours is plenty to cool the house down!
|
|
###############################################################################
|
|
- alias: Turn Off AC After 3 Hours of Cooling
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: climate.dining_room
|
|
to: 'cool'
|
|
for: '03:00:00'
|
|
action:
|
|
- service: climate.set_away_mode
|
|
data:
|
|
entity_id: climate.dining_room
|
|
away_mode: 'true'
|
|
- service: script.notify_me
|
|
data_template:
|
|
message: "Air Condition has been ON for 3 hours.
|
|
Turning it Off to save power."
|
|
|
|
###############################################################################
|
|
# Nest Thermostat automatically changes based on activity at home.
|
|
# This automation is to keep an eye on what's going on with Nest
|
|
###############################################################################
|
|
- alias: Notify Thermostat State Change
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.dining_room_thermostat_operation_mode
|
|
action:
|
|
- service: script.notify_me
|
|
data_template:
|
|
message: "Nest Thermostat changed from '{{ trigger.from_state.state }}' to '{{ trigger.to_state.state }}'."
|
|
- service: script.voice_notify
|
|
data_template:
|
|
message: >
|
|
{% set state = trigger.to_state.state %}
|
|
{% if state == "off" %}
|
|
Your home's thermostat is switched off.
|
|
{% elif state == "eco" %}
|
|
Your home's thermostat is set to eco or away mode.
|
|
{% elif state == "heat" %}
|
|
Your central heating is ON.
|
|
{% elif state == "cool" %}
|
|
Your central air condition is switched ON
|
|
{% elif state == "heat-cool" %}
|
|
Your home's thermostat is set to automatic mode.
|
|
{% else %}
|
|
Your home's thermostat is set to {{ state }} mode.
|
|
{% endif %}
|
|
|
|
###############################################################################
|
|
# A script that toggles Nest Thermostat between eco/away & non-eco/away modes
|
|
###############################################################################
|
|
script:
|
|
toggle_climate:
|
|
sequence:
|
|
- service: climate.set_away_mode
|
|
data_template:
|
|
entity_id: climate.dining_room
|
|
away_mode: "{{ false if state_attr('climate.dining_room', 'away_mode') == 'on' else true }}" |