I am new with templates. I am trying to program my HVAC system based on certain conditions. I made several conditions in one template and I would like to retrieve multiple outcomes of the function to different things. For instance I want the variable HVAC_controller to tell what state the HVAC is in, and show this in a dashboard. But the HVAC_power needs to be used as input for the HVAC system.
This is what I currently have, and it retrieves only the tekst as state. What I want is to use both values in a separate state. What direction do I have to search to achieve this?
##### Ventilator power control #####
- platform: template
sensors:
ventilatie_trigger:
friendly_name: Ventileren
value_template: >-
{###scene variables (off, low, mid, high, auto)###}
{% set HVAC_scene = states('input_select.hvacstates') %}
{###Trigger variables###}
{% set fire_alarm = 'off' %}
{% set toilet_lights = 'off' %}
{% set cooking_fan = 00| int %}
{###Temperature variables###}
{% set temperature_setpoint = states('input_number.temperature_setpoint')| int %}
{% set indoor_temp = states('sensor.thermometer_1_temperature')| int %}
{% set outdoor_temp = states('sensor.temperature')| int %}
{% set max_indoor_temp = max(
states('sensor.thermometer_1_temperature')| int,
states('sensor.thermometer_2_temperature')| int,
states('sensor.thermometer_3_temperature')| int) %}
{###Humidity variables###}
{% set humidity_setpoint = states('input_number.humidity_setpoint')| int %}
{% set humidity_sensor_internal_1 = 40| int %}
{% set outdoor_RH = states('sensor.humidity')| int %}
{% set indoor_RH = states('sensor.thermometer_1_humidity')| int %}
{% set max_indoor_humidity = max(
states('sensor.thermometer_1_humidity')| int,
states('sensor.thermometer_2_humidity')| int,
states('sensor.thermometer_3_humidity')| int) %}
{###Calculated variables###}
{% set outdoor_dewpoint = 243.04*(log(outdoor_RH/100)+(17.625*outdoor_temp/(243.04+outdoor_temp)))/(17.625-log(outdoor_RH/100)-(17.625*outdoor_temp/(243.04+outdoor_temp))) %}
{% set indoor_RH_prediction = 100*(e**(17.625*outdoor_dewpoint/(243.04+outdoor_dewpoint))/e**(17.625*indoor_temp/(243.04+indoor_temp))) %}
{###Base hvac settings###}
{% set HVAC_power = 50|int %}
{###Manual setpoints###}
{% if HVAC_scene == 'Off' %}
{% set HVAC_power = 0|int %}
{% set HVAC_controller = 'Manual' %}
{% endif %}
{% if HVAC_scene == 'Low' %}
{% set HVAC_power = 10|int %}
{% set HVAC_controller = 'Manual' %}
{% endif %}
{% if HVAC_scene == 'Midium' %}
{% set HVAC_power = 55|int %}
{% set HVAC_controller = 'Manual' %}
{% endif %}
{% if HVAC_scene == 'High' %}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Manual' %}
{% endif %}
{###Automated###}
{% if HVAC_scene == 'Auto' %}
{###Ventilation based on humidity###}
{% if max_indoor_humidity > humidity_setpoint %}
{% if indoor_RH_prediction < max_indoor_humidity%}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Auto - humidity control' %}
{% else %}
{% set HVAC_power = 10|int %}
{% set HVAC_controller = 'Auto - humidity control' %}
{% endif %}
{% else %}
{% set HVAC_power = 50|int %}
{% set HVAC_controller = 'Auto - base state' %}
{% endif %}
{###Ventilation based on temperature###}
{% if HVAC_power == 50 %}
{% if max_indoor_temp > temperature_setpoint and outdoor_temp < temperature_setpoint%}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Auto - temperature control' %}
{% else %}
{%if outdoor_temp > temperature_setpoint%}
{% set HVAC_power = 10|int %}
{% set HVAC_controller = 'Auto - temperature control' %}
{% else %}
{% set HVAC_power = 50|int %}
{% set HVAC_controller = 'Auto - base state' %}
{% endif %}
{% endif %}
{% endif %}
{###end auotmated scene###}
{% endif %}
{###General (always applicable###}
{###showering###}
{% if HVAC_power > 1 %}
{% if humidity_sensor_internal_1 > humidity_setpoint%}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Showering' %}
{% endif %}
{% endif %}
{###toilet###}
{% if HVAC_power > 1 %}
{% if toilet_lights == 'on' %}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Toilet usage' %}
{% endif %}
{% endif %}
{###cooking###}
{% if HVAC_power > 1 %}
{% if cooking_fan > 100%}
{% set HVAC_power = 100|int %}
{% set HVAC_controller = 'Cooking' %}
{% endif %}
{% endif %}
{###cooking###}
{% if HVAC_power > 1 %}
{% if fire_alarm == 'on' %}
{% set HVAC_power = 0|int %}
{% set HVAC_controller = 'Fire' %}
{% endif %}
{% endif %}
Ventilation at {{HVAC_power}}%
Ventilation control type : {{HVAC_controller}}
icon_template: mdi:hvac