I think I might be a bit in over my head with what I am trying to accomplish. Unfortunately, I have not been able to find anything in the forum or on Reddit or any other sites which led me to creating an account on here.
What I am trying to do is use template triggers to monitor the temperature of my ecobee sensors, compare them to each other and then open/close the Flair Vents, on the condition of whether the ecobee equipment running is either ‘auxHeat1, fan’ or ‘compCool1’.
Our upstairs gets less air than downstairs. I previously was using the Flair Vents in auto mode so maybe it’s because we only have vents on the main floor and not upstairs, but it ends up leaving the vents open until the target temperature is reached which means the ecobee turns off before the upstairs has enough time to heat/cool.
Anyways, on to my current automation. I have tried several different iterations of the automation so I will just put this one in here with the hopes that someone can point me in the right direction. I know that the repeat causes an infinite loop, but this is basically the same as my first iteration with the addition of the repeat action.
alias: Climate Control 3
description: ""
trigger:
- platform: template
value_template: "{{ state_attr('climate.ecobee', 'equipment_running') == 'compCool1,fan' }}"
id: ecobee_is_cooling
- platform: template
value_template: "{{ state_attr('climate.ecobee', 'equipment_running') == 'auxHeat1,fan' }}"
id: ecobee_is_heating
- platform: template
value_template: "{{ state_attr('climate.ecobee', 'equipment_running') == 'fan' }}"
id: ecobee_is_circulating
condition: []
action:
- choose:
- conditions: []
sequence:
- repeat:
sequence:
- condition: or
conditions:
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'ceil')
}} >= {{
states('sensor.living_room_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'ceil')
}} >= {{
states('sensor.master_bedroom_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'ceil') }} >= {{
states('sensor.living_room_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'ceil') }} >= {{
states('sensor.master_bedroom_temperature')|round(0,
'ceil') }}
- device_id: 17f1237c78a7fe66e862444c1419ed20
domain: cover
entity_id: 4a787418abbf51c5b5d5278e356acf5a
type: set_tilt_position
position: 0
- device_id: fee8098b53d00382da374b6eb53237ba
domain: cover
entity_id: 10f054161df2bd91318f7dd8c0d96e46
type: set_tilt_position
position: 0
- device_id: 85d97da3e4b53ac396103826c33cccc9
domain: cover
entity_id: b99e3fc85c05ad53e976c65e53c4167f
type: set_tilt_position
position: 0
- device_id: 995c6caacc583617bf718569ad60d364
domain: cover
entity_id: 85146117e86dbb53f339f904046215f6
type: set_tilt_position
position: 0
while: []
- conditions: []
sequence:
- repeat:
sequence:
- condition: or
conditions:
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'floor')
}} <= {{
states('sensor.living_room_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'floor')
}} <= {{
states('sensor.master_bedroom_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'floor') }} <= {{
states('sensor.living_room_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'floor') }} <= {{
states('sensor.master_bedroom_temperature')|round(0,
'floor') }}
- device_id: 17f1237c78a7fe66e862444c1419ed20
domain: cover
entity_id: 4a787418abbf51c5b5d5278e356acf5a
type: set_tilt_position
position: 0
- device_id: fee8098b53d00382da374b6eb53237ba
domain: cover
entity_id: 10f054161df2bd91318f7dd8c0d96e46
type: set_tilt_position
position: 0
- device_id: 85d97da3e4b53ac396103826c33cccc9
domain: cover
entity_id: b99e3fc85c05ad53e976c65e53c4167f
type: set_tilt_position
position: 0
- device_id: 995c6caacc583617bf718569ad60d364
domain: cover
entity_id: 85146117e86dbb53f339f904046215f6
type: set_tilt_position
position: 0
while: []
- conditions:
- condition: trigger
id:
- ecobee_is_circulating
sequence:
- device_id: 17f1237c78a7fe66e862444c1419ed20
domain: cover
entity_id: 4a787418abbf51c5b5d5278e356acf5a
type: set_tilt_position
position: 50
- device_id: fee8098b53d00382da374b6eb53237ba
domain: cover
entity_id: 10f054161df2bd91318f7dd8c0d96e46
type: set_tilt_position
position: 50
- device_id: 85d97da3e4b53ac396103826c33cccc9
domain: cover
entity_id: b99e3fc85c05ad53e976c65e53c4167f
type: set_tilt_position
position: 50
- device_id: 995c6caacc583617bf718569ad60d364
domain: cover
entity_id: 85146117e86dbb53f339f904046215f6
type: set_tilt_position
position: 50
- conditions: []
sequence:
- repeat:
sequence:
- condition: and
conditions:
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'ceil')
}} < {{
states('sensor.living_room_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'ceil')
}} < {{
states('sensor.master_bedroom_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'ceil') }} < {{
states('sensor.living_room_temperature')|round(0,
'ceil') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'ceil') }} < {{
states('sensor.master_bedroom_temperature')|round(0,
'ceil') }}
- device_id: 17f1237c78a7fe66e862444c1419ed20
domain: cover
entity_id: 4a787418abbf51c5b5d5278e356acf5a
type: set_tilt_position
position: 100
- device_id: fee8098b53d00382da374b6eb53237ba
domain: cover
entity_id: 10f054161df2bd91318f7dd8c0d96e46
type: set_tilt_position
position: 100
- device_id: 85d97da3e4b53ac396103826c33cccc9
domain: cover
entity_id: b99e3fc85c05ad53e976c65e53c4167f
type: set_tilt_position
position: 100
- device_id: 995c6caacc583617bf718569ad60d364
domain: cover
entity_id: 85146117e86dbb53f339f904046215f6
type: set_tilt_position
position: 100
while: []
- conditions: []
sequence:
- repeat:
sequence:
- condition: and
conditions:
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'floor')
}} > {{
states('sensor.living_room_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{ states('sensor.office_temperature')|round(0, 'floor')
}} > {{
states('sensor.master_bedroom_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'floor') }} > {{
states('sensor.living_room_temperature')|round(0,
'floor') }}
- condition: template
value_template: >-
{{
states('sensor.upstairs_bedroom_temperature')|round(0,
'floor') }} > {{
states('sensor.master_bedroom_temperature')|round(0,
'floor') }}
- device_id: 17f1237c78a7fe66e862444c1419ed20
domain: cover
entity_id: 4a787418abbf51c5b5d5278e356acf5a
type: set_tilt_position
position: 100
- device_id: fee8098b53d00382da374b6eb53237ba
domain: cover
entity_id: 10f054161df2bd91318f7dd8c0d96e46
type: set_tilt_position
position: 100
- device_id: 85d97da3e4b53ac396103826c33cccc9
domain: cover
entity_id: b99e3fc85c05ad53e976c65e53c4167f
type: set_tilt_position
position: 100
- device_id: 995c6caacc583617bf718569ad60d364
domain: cover
entity_id: 85146117e86dbb53f339f904046215f6
type: set_tilt_position
position: 100
while: []
enabled: true
mode: single