It appears to me that Variables are required to make this work... So this pgm creates a state variable. Not sure that is required but did it like this. You might correct me in any of this if it makes more sense to do it another way.
If
'ZW 125.8 Multilevel Sensor' Responding is True
Then
$State_1 = 'ZW 125.8 Multilevel Sensor' Temperature °C
Repeat Every 5 seconds
Else
- No Actions - (To add one, press 'Action')
This would be the pgm (2) in the example given above.
Fan waiting - [ID 005C][Parent 005A]
If
$State_1 > 25
Then
Enable Program 'Fan on off'
Disable Program 'Fan waiting'
Else
- No Actions - (To add one, press 'Action')
Finally what starts and stops the fan pgm (1)
Fan on off - [ID 005B][Parent 005A]
If
- No Conditions - (To add one, press 'Schedule' or 'Condition')
Then
Set 'Ensuite fan' On
Repeat While $State_1 < 48
Wait 1 second
Repeat While $State_1 > 45
Wait 1 second
Repeat 1 times
Set 'Ensuite fan' Off
Repeat While $State_1 > 25
Wait 1 second
Repeat 1 times
Enable Program 'Fan waiting'
Else
- No Actions - (To add one, press 'Action')
I've gone with this method mostly because it challenges me a little (no a lot...) Repeats and waits are a totally foreign to me, and variables almost the same.
I'm going to have to contemplate the waits and repeats to figure out why those are important.
I suspect that since I live alone this will work in my application. If the temp doesn't fall below 25 will the fan restart? In situations where a second shower follows closely it might prove annoying.
I'll run it and see what happens, of course it's slow to cool that last little bit to 25 so it'll take a while to see if it works each time I make a change.