I’m trying to make a automation I used in Domoticz before.
What I want is this: Toon Thermostat is set to a temperature and then I want the automation to start and set Toon to a state or lower temperature.
We have a fireplace and to heat up the kids bedroom the Toon needs to be set above the livingroom temperature (Example livingroom is 22c so Toon should go to 24c)
Then the problem is that we don’t use any other heating then our fireplace so it’s not likely to reach the setpoint and the Toon wil keep burning all the time.
In Domoticz I used a script that read the Toon state “Tijdelijk” and the started a timer depending on my daughters bedroom temperature between 90 and 30 min and the set follow program to “yes” and Toon continued following the regular program.
I can’t find “Tijdelijk” so now I tried with a temperature above the regular setpoint of 10c.
Trigger works but now I can’t get it to push a command to Toon.
alias: Toon CV max duur
description: Maximale brandtijd CV
trigger:
- platform: numeric_state
entity_id: climate.toon_thermostaat
attribute: temperature
above: '10'
condition: []
action:
- delay: '00:01:30'
- condition: state
entity_id: climate.toon_thermostaat
state: eco
attribute: preset_mode
mode: single
Next thing would be adding the “OR” command I used for timing the duration.
below 15c 90 min
between 15c and 19c 60 min
above 19c 30 min
Ps delay 00:01:30 is for me so I don’t have to wait 90min to check if script works.
Also if you have used toons integration, the docs say that Home Assistant support the four Toon presets: Comfort , Home , Away and Sleep . It also supports setting the temperature manually.
TY, This works fine.
Is it possible in the automations to set a If, Else If do I just copy paste the automation and change the trigger setpoint for my daughters room temperature?
We can give a condition for the automation to check which is similar to an if statement but we cannot give an if else condition. You can give the if statement in the conditions tab or even in actions tab, just select condition as the action type.
Now with the condition copying the automation with different triggers. There is a small thing to note. If you are using a different thermostat, it will be ok to just copy this automation and change the triggers and the action entity. But since we only have one device to control with two automation we have to make sure that when the first automation is running, the second one should not interfere with the first.
you can just create an input_boolean for each automation and ensure that this boolean is switched on the start of the automation and is switched off at the end of the automation. And as you said just add the condition to check if the other two input_booleans are on.
The syntax is correct but logic is wrong. Imagine you have created input_boolean.dummy_cv_1 for the first automation and input_boolean.dummy_cv_2 for the second automation. When the first automation is running we have to check if the input_boolean.dummy_cv_2 is on and also make sure input_boolean.dummy_cv_1 is turned on at the start of the automation and switched off at the end.
In this logic the script would look like this
alias: Toon CV max duur 16 tot 18
description: Maximale brandtijd CV 1 uur tussen de 16 en 18 graden
trigger:
- platform: numeric_state
entity_id: climate.toon_thermostaat
attribute: temperature
above: '10'
condition:
- condition: numeric_state
entity_id: sensor.lumi_lumi_sens_temperature
below: '18'
above: '16'
- condition: state
entity_id: input_boolean.dummy_cv_2
state: 'off'
action:
- service: input_boolean.turn_on
data: {}
entity_id: input_boolean.dummy_cv_1
- delay: '01:00:00'
- service: climate.set_preset_mode
data:
entity_id: climate.toon_thermostaat
preset_mode: home
- service: input_boolean.turn_off
data: {}
entity_id: input_boolean.dummy_cv_1
mode: single
Second Automation will look like
alias: Toon CV max duur 16 tot 18
description: Maximale brandtijd CV 1 uur tussen de 16 en 18 graden
trigger:
- platform: numeric_state
entity_id: climate.toon_thermostaat
attribute: temperature
above: '10'
condition:
- condition: numeric_state
entity_id: sensor.lumi_lumi_sens_temperature
below: '18'
above: '16'
- condition: state
entity_id: input_boolean.dummy_cv_1
state: 'off'
action:
- service: input_boolean.turn_on
data: {}
entity_id: input_boolean.dummy_cv_2
- delay: '01:00:00'
- service: climate.set_preset_mode
data:
entity_id: climate.toon_thermostaat
preset_mode: home
- service: input_boolean.turn_off
data: {}
entity_id: input_boolean.dummy_cv_2
mode: single
This makes sure that only one automation would be running at a time.
Or there is another way also, you can turn off the second automation when the first automation is running. In that case you dont need to create any dummy switches.
alias: Toon CV max duur 16 tot 18
description: Maximale brandtijd CV 1 uur tussen de 16 en 18 graden
trigger:
- platform: numeric_state
entity_id: climate.toon_thermostaat
attribute: temperature
above: '10'
condition:
- condition: numeric_state
entity_id: sensor.lumi_lumi_sens_temperature
below: '18'
above: '16'
action:
- service: automation.turn_off
data: {}
entity_id: automation.toons_thermostat
- delay: '01:00:00'
- service: climate.set_preset_mode
data:
entity_id: climate.toon_thermostaat
preset_mode: home
- service: automation.turn_on
data: {}
entity_id: automation.toons_thermostat
mode: single
I created only one dummy, I thought turning input_boolean.dummy_cv on before the timer and off after would be enough to use it as a condition check for off on all?