Temperature control using relay.

Well done! Glad it works. Still a few issues with your code, albeit mostly cosmetic. And yes, I'm nitpicking now :slight_smile:

#define DHT1_PIN 7 // dht11 connected to pin 7

Better make that DHT11_PIN (or DHT_PIN). DHT1_PIN suggests it's the first of several sensors.

int exhaustpin = 4; // set pin for exhaust fan relay
int coolerpin = 5; // set pin for cooler relay

Why not a #define here as well? Consistency pays off. Or at least make them byte type (smaller - saves memory & faster), and then do the same with your DHT1_PIN.

unsigned long currentmillies;

CamelCase reads easier and no e in the function millis: a better name for those reasons would be currentMillis

void setup() {
  boolean exhaustState = HIGH;
  boolean coolerState = HIGH;
  unsigned long countDown = 0;
}

This is an actual error. By declaring the variables here, you create a second of each. Take exhaustState. There's a global "boolean exhaustState" declared, here you declare a variable which happens to share the same name, but it's a different one, and this one gets assigned a value.

You can fix this in two ways.

  1. declare the variables with initial value globally (i.e. on the top of the sketch), and drop these three lines from setup:
boolean exhaustState = HIGH;
boolean coolerState = HIGH;
unsigned long countDown = 0;
void setup() {
}
  1. just assign a value to the variables here, don't redeclare them. So drop the type declaration:
boolean exhaustState;
boolean coolerState;
boolean startTimer;
void setup() {
  exhaustState = HIGH;
  coolerState = HIGH;
  countDown = 0;
}
void loop() {
  [...]
  Serial.println(DHT.temperature);
  [...]
  int  roomtemp = DHT.temperature;

Save yourself a function call:

  int  roomtemp = DHT.temperature;
  Serial.println(roomtemp);

Then a bit further in loop():

  if (startTimer == HIGH) {
    {
      currentmillies = millis();
    }
    if ( currentmillies - countDown >= 600000) {  // after 10 minutes past if the temperature is still greater than 28 degrees the exhaust fan Off and cooler ON

Can be done much simpler (you don't need the currentmillies variable at all):

  if (startTimer && (millis() - countDown >= 600000) { // after 10 minutes past if the temperature is still greater than 28 degrees the exhaust fan Off and cooler ON