The behavior has to be :
To execute the ActiveAerationOn(), conditions are :
(TemperatureIN >= TemperatureREF + TemperatureTHRESHOLD [AND] TemperatureIN - TemperatureEXT >= 5)
[OR]
HumidityIN - HumidityEXT <= -15 % Relative Humidity
OR
millis() - ActiveAerationPreviousStateChangeMillis >= ActiveAerationOffDuration // Duration since last turn OFF state to be respected
To execute the ActiveAerationOff(), conditions are :
FIRSTLY : millis() - ActiveAerationPreviousStateChangeMillis >= ActiveAerationOnDuration // Duration since last turn ON state to be respected
THEN
(TemperatureIN <= TemperatureREF - TemperatureTHRESHOLD [AND] TemperatureIN - TemperatureEXT <= 2)
OR
HumidityIN - HumidityEXT >= 5 % Relative Humidity
Do you think everything will run smoothly with my code ?