Tado thermostat binding: manually set "window open mode" / timer after window closes

Hi,

I am running an OpenHAB setup including my tado heating thermostats. Using external (non-tado) window sensors, I am using rules in OpenHAB to set the heating to “OFF” when the window is open in a room and go back to “SCHEDULE” when the window is closed again.

The rule is based on @GeKo 's rule suggestion (I hope it’s ok to quote your template here, if not, let me know):

rule “SchlafzimmerWindow”
when
Item WindowSensorSchlafzimmer changed
then
if ((WindowSensorSchlafzimmer.state == OPEN))
{
Schlafzimmer_HVACMode.sendCommand(“OFF”)
Schlafzimmer_ZoneOperationMode.sendCommand(“MANUAL”)
}
if ((WindowSensorSchlafzimmer.state != OPEN))
{
Schlafzimmer_ZoneOperationMode.sendCommand(“SCHEDULE”)
}
end

What I would like to to in addition, is keep the heating off for a certain period after the window has been closed. So my desired result would be:

  1. Window opens → heating is being turned off;
  2. Window closes → heating stays of for another 30 minutes and goes back to schedule.

The most “aesthetic” way (from my view) would be to go back to “SCHEDULE” for the heating but enable the “window open” mode built into tado. Doing so would show the room in “window open” mode in the tado app, which would at the same time indicate how long the heating would continue to stay off (and allow a manual termination of the “window open” mode if desired).

Questions:

  1. Any idea, how to go back to SCHEDULE while manually setting the “window open” mode for tado? Is this possible with OpenHAB?

  2. If (1.) does not work: How to achieve a similar result? E.g. go back to SCHEDULE but set a “manual” temperature connected with a timer in addition?

Any ideas would be much appreciated.

Best regards,

Joseph

rule "SchlafzimmerWindow"
when
    Item WindowSensorSchlafzimmer changed
then
    if (WindowSensorSchlafzimmer.state == OPEN) {
        Schlafzimmer_HVACMode.sendCommand(“OFF”)
        Schlafzimmer_ZoneOperationMode.sendCommand(“MANUAL”)
    } else {
        createTimer(now.plusMinutes(30), [ |
            Schlafzimmer_ZoneOperationMode.sendCommand(“SCHEDULE”)
        ])
    }
end
1 Like

Thanks again for the immediate reply.

One further idea:

Would it be possible to only turn the timer on, in case the window was open for longer than 1 minute?

Any idea how to create such condition?

Best regards,

Joseph