Skip to content

Instantly share code, notes, and snippets.

@Snipercaine
Last active December 10, 2021 02:07
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Snipercaine/14ed3f6c150464f1cbe73385709b9f1a to your computer and use it in GitHub Desktop.
Save Snipercaine/14ed3f6c150464f1cbe73385709b9f1a to your computer and use it in GitHub Desktop.
#ThermoZztat
# These are example segments meant to be copied into the 3 main files.
############### Examples for Configuration.yaml ###############
switch:
- platform: mqtt
name: "Upstairs Fan"
command_topic: "cmnd/ThermoZztat/POWER1"
state_topic: "stat/ThermoZztat/POWER1"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: false
- platform: mqtt
name: "Upstairs AC"
command_topic: "cmnd/ThermoZztat/POWER2"
state_topic: "stat/ThermoZztat/POWER2"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: false
- platform: mqtt
name: "Upstairs Furnace"
command_topic: "cmnd/ThermoZztat/POWER3"
state_topic: "stat/ThermoZztat/POWER3"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: false
climate:
- platform: generic_thermostat
name: Upstairs Heat
heater: switch.upstairs_furnace
target_sensor: sensor.average_upstairs_temp
min_temp: 40
max_temp: 90
min_cycle_duration:
minutes: 15
initial_operation_mode: "off"
target_temp: 72
away_temp: 60
cold_tolerance: 0.5
hot_tolerance: 0.5
- platform: generic_thermostat
name: Upstairs AC
heater: switch.upstairs_ac
target_sensor: sensor.average_upstairs_temp
min_temp: 40
max_temp: 90
initial_operation_mode: "auto"
min_cycle_duration:
minutes: 10
target_temp: 74
away_temp: 80
cold_tolerance: 0.5
hot_tolerance: 0.5
ac_mode: true
sensor:
- platform: mqtt
state_topic: 'tele/ThermoZztat/SENSOR'
name: 'Upstairs Temp' #AM2302
unit_of_measurement: '°F'
value_template: '{{ value_json.AM2301.Temperature }}'
- platform: mqtt
state_topic: 'tele/ThermoZztat/SENSOR'
name: 'Upstairs Humidity'
unit_of_measurement: '%'
value_template: '{{ value_json.AM2301.Humidity }}'
- platform: min_max
name: "Average Upstairs Temp"
type: "mean"
round_digits: 1
entity_ids:
- sensor.blink_toy_room_temperature
- sensor.blink_mountain_room_temperature
- sensor.upstairs_temp
############## example for ui-lovelace.yaml ###############
resources:
- url: /local/thermostat-card.js?v=2
type: module
title: Adensville
views:
- title: Upstairs
icon: mdi:home-heart
panel: true
cards:
- type: vertical-stack
cards:
- type: custom:plan-coordinates
- type: picture-elements
image: /local/HHC_2.png
elements:
- type: custom:thermostat-card
entity: climate.upstairs_ac
style:
left: 63%
top: 70%
width: 15%
ambient_temperature: sensor.average_upstairs_temp
hightlight_tap: true
no_card: true
- type: custom:thermostat-card
entity: climate.upstairs_heat
style:
left: 63%
top: 89%
width: 15%
ambient_temperature: sensor.average_upstairs_temp
hightlight_tap: true
no_card: true
############## example for Automations.yaml ##############
- alias: Fan off after AC off
trigger:
- platform: state
entity_id: switch.upstairs_ac
to: "off"
action:
- delay: 0:20
- service: switch.turn_off
entity_id: switch.upstairs_fan
- alias: Fan off after Heat off
trigger:
- platform: state
entity_id: switch.upstairs_furnace
to: "off"
action:
- delay: 0:20
- service: switch.turn_off
entity_id: switch.upstairs_fan
- alias: No AC when the Heat is on
trigger:
- platform: state
entity_id: switch.upstairs_ac
to: "on"
action:
- service: switch.turn_off
entity_id: switch.upstairs_furnace
- service: switch.turn_on
entity_id: switch.upstairs_fan
- alias: No Heat when the AC is on
trigger:
- platform: state
entity_id: switch.upstairs_furnace
to: "on"
action:
- service: switch.turn_off
entity_id: switch.upstairs_ac
- service: switch.turn_on
entity_id: switch.upstairs_fan
- alias: Summer Night Temp adjustment
trigger:
- platform: time
at: '22:30:00'
condition:
condition: or
conditions:
- condition: template
value_template: '{{ now().month == 5 }}'
- condition: template
value_template: '{{ now().month == 6 }}'
- condition: template
value_template: '{{ now().month == 7 }}'
- condition: template
value_template: '{{ now().month == 8 }}'
- condition: template
value_template: '{{ now().month == 9 }}'
action:
- service: climate.set_temperature
data:
entity_id: climate.upstairs_ac, climate.main_floor_ac
temperature: 76
operation_mode: Cool
- alias: Summer Daytime Temp adjustment
trigger:
- platform: time
at: '09:00:00'
condition:
condition: or
conditions:
- condition: template
value_template: '{{ now().month == 5 }}'
- condition: template
value_template: '{{ now().month == 6 }}'
- condition: template
value_template: '{{ now().month == 7 }}'
- condition: template
value_template: '{{ now().month == 8 }}'
- condition: template
value_template: '{{ now().month == 9 }}'
action:
- service: climate.set_temperature
data:
entity_id: climate.upstairs_ac, climate.main_floor_ac
temperature: 72
operation_mode: Cool
- alias: No one home Away Mode On
trigger:
- platform: state
entity_id: device_tracker.janis7, device_tracker.justin_iphone7
to: 'not_home'
for:
hours: 24
action:
- service: climate.set_away_mode
data:
entity_id: climate.upstairs_ac, climate.upstairs_furnace, climate.main_floor_ac, climate.main_floor_heat, climate.master_bedroom_heat, climate.kitchen_heat, climate.kids_bedroom_heat, climate.entryway_heat, climate.toy_room_heat, climate.guest_bedroom_heat, climate.theater_room_heat
away_mode: 'on'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment