Toon Thermostat set temperature by automation

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.

I use Node Red integration in HA to automate lights en heating

@Dutchy-79 I can see that there are some issue with the action part of the automation. Please try this

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'
  - service: climate.set_preset_mode
    data:
      entity_id: climate.toon_thermostaat
      preset_mode: 'away'
mode: single

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. :slightly_smiling_face:

Thanks, I’ll try soon.
Setting temperature is also fine, I used following program on my previous setup though that’s not implemented in HA I think.

Temperature or state will do the job as well.

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?

For now I copied the script changing the condition value for 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.

The last could be a problem because the temperature will rise so the second automation will be triggered.

Might setup a dummy switch and add that as a condition as well?

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.

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
    state: 'off'
action:
  - service: input_boolean.turn_on
    data: {}
    entity_id: input_boolean.dummy_cv
  - 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
mode: single


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?

It will also work. :+1:

1 Like

Thanks, Still learning HA.

You are always welcome to post an questions. Happy to help