More elegant way to trigger this rule?

After I take a shower, I run my geothermal unit fan to 5 minutes (but after a 10 minutes delay to avoid blowing air in the shower while I'm there) to "spread" the humidity into the house. Because normally the humidity inside my house is a little bit too low.
So it's a way to circulate the humid air and not extract it (and in Quebec in the winter, if you extract air, that means an equivalent of very cold air can enter the house to equilibrate the flow).
I put into a local variable the status of the geothermal fan setting before the fan is going ON.
If the thermostat fan mode was auto, the rule put it in auto after the 5 minutes air blow.
If the thermostat fan mode was circulate, the rule put it in circulate (timer) after the 5 minutes air blow.
Of course, no need to change anything if the fan mode was on before, just leave it as is.

I repeat this rule every 30 minutes along the day.

This is my rule. Is it a way to build it simpler to obtain the same result ? And does all those IF-THEN checks slow down the hub ?

Thank you

I suggest triggering on the Venstar fan mode changing and humidity changing. You may also consider triggering on the time becoming either extreme of your range, but right now your rule won't do anything if it becomes outside the range
, so there'd be no effect (not sure if you intend to do something else if it isn't).

You are correct to think that if you're doing a periodic check like this, it's suspicious and likely inefficient. Think of what needs to change for you to want to reevaluate your conditionals--more generally, what events you want to happen to run your actions (which may or may not actually do anything or may do different things depending on your conditionals). Hubitat is best described as event-driven.

It also might be possible to structure this whole thing in a slightly clearer manner. I'd need a bit to think about what it's supposed to do when.

I made a first rule following that idea.
But my zooz 4-in-1 sensor is very slow on humidity changes. That means when triggered, it takes "forever" to decrease its value. And I don't want to run the blower for 30 minutes: useless

Maybe another way to run that ?

run the blower for 5 minutes (if humidity above 80%) and wait 30 minutes to check the humidity level again ?
Or I can pause that rule with another virtual switch ?

the fan mode is normally 95% of the time in auto mode. No need to change it. Except if I need forced air flow (like every hour in the summer or for the shower here)

1 Like