Help with Arduino loops please!
Instead of a long delay use a timestamp of the last time you ran the pump and compare it with millis():

// add to globals under pump

unsigned long lastRun = 0;


if(millis() - lastRun &gt; 60*1000){
  if(hum &lt;= 70) {
    digitalWrite(pump, HIGH);
    delay(2000);
    digitalWrite(pump, LOW);
    lastRun = millis();
  }
  else{
    digitalWrite(pump, LOW);
  }
}


This can be used in a lot of ways to avoid using delay() at all.