if else hace la primera parte mas no el else.

tengo un problema con este código, yo necesito que cuando la temperatura supere los 32 grados accione un actuador lineal que abre una puerta y que encienda un ventilador y ya cuando la temperatura descienda a 31 grados o menor, active nuevamente el actuador lineal y apague el ventilador. pero con este código solo me funciona la primera parte cuando la temperatura sube pero no la segunda parte que es cuando la temperatura baja. agradezco cualquier ayuda que me puedan brindar.

if (Estadotemp ==0 && temp1>32) {  
       Oonventilador();
       digitalWrite(pinRelayB, HIGH);
       delay(250);
       digitalWrite(pinRelayA, LOW); 
       delay(5000);
       digitalWrite(pinRelayA, HIGH);
       digitalWrite(pinRelayB, HIGH);
       Estadotemp = Estadotemp+1;
  }    
 else if (Estadotemp ==2 && temp1<31){  
         Offventilador(); 
         digitalWrite(pinRelayA, HIGH);
         delay(250);
         digitalWrite(pinRelayB, LOW);
         delay(5000);
         digitalWrite(pinRelayA, HIGH);
         digitalWrite(pinRelayB, HIGH);
         Estadotemp =0;
          }

Hola, si eso es todo el código que tienes, estadotem nunca será dos por lo que ese if nunca se ejecutará.
Si tienes más códigos por favor ponlo

muchas gracias era eso estadotemp solo llega hasta uno ya lo corregi y me funciono

else if (Estadotemp ==1 && temp1<31){  .