Programme ds18b20 avec lampe chauffante

#include <OneWire.h> // Inclusion de la librairie OneWire
#include <DallasTemperature.h> //Librairie du capteur 
#define DS18B20 0x28     // Adresse 1-Wire du DS18B20
#define BROCHE_ONEWIRE 7 // Broche utilisée pour le bus 1-Wire
  
OneWire ds(BROCHE_ONEWIRE); // Création de l'objet OneWire ds
  
// Fonction récupérant la température depuis le DS18B20
// Retourne true si tout va bien, ou false en cas d'erreur
boolean getTemperature(float *temp){
  byte data[9], addr[8];
  // data : Données lues depuis le scratchpad
  // addr : adresse du module 1-Wire détecté
  
  if (!ds.search(addr)) { // Recherche un module 1-Wire
    ds.reset_search();    // Réinitialise la recherche de module
    return false;         // Retourne une erreur
  }
    
  if (OneWire::crc8(addr, 7) != addr[7]) // Vérifie que l'adresse a été correctement reçue
    return false;                        // Si le message est corrompu on retourne une erreur
  
  if (addr[0] != DS18B20) // Vérifie qu'il s'agit bien d'un DS18B20
    return false;         // Si ce n'est pas le cas on retourne une erreur
  
  ds.reset();             // On reset le bus 1-Wire
  ds.select(addr);        // On sélectionne le DS18B20
    
  ds.write(0x44, 1);      // On lance une prise de mesure de température
  delay(1000);             // Et on attend la fin de la mesure
    
  ds.reset();             // On reset le bus 1-Wire
  ds.select(addr);        // On sélectionne le DS18B20
  ds.write(0xBE);         // On envoie une demande de lecture du scratchpad
  
  for (byte i = 0; i < 9; i++) // On lit le scratchpad
    data[i] = ds.read();       // Et on stock les octets reçus
    
  // Calcul de la température en degré Celsius
  *temp = ((data[1] << 8) | data[0]) * 0.0625;
    
  // Pas d'erreur
  return true;
}
  
// setup()
void setup() {
  Serial.begin(9600); // Initialisation du port série
}
  
// loop()
void loop() {
  float temp;
    
  // Lit la température ambiante à ~1Hz
  if(getTemperature(&temp)) {
      
    // Affiche la température
    Serial.print("Temperature : ");
    Serial.print(temp);
    Serial.write(176); // caractère °
    Serial.write('C');
    Serial.println();
  }
Serial.print(now.year(), DEC);
   Serial.print('/');
   Serial.print(now.month(), DEC);
   Serial.print('/');
   Serial.print(now.day(), DEC);
   Serial.print(' ');
   Serial.print(now.hour(), DEC);
   Serial.print(':');
   Serial.print(now.minute(), DEC);
   Serial.print(':');
   Serial.print(now.second(), DEC);
   Serial.println();


if( temp <= 11 && now.hour() >= 8 && now.hour() <= 20 && { // si on est entre 8h et 20h que la T° < 11° 
   digitalWrite(RELAY,HIGH);
  ; 
 }
 else if( temp >= 20 ){ // si T° dépasse 20° on coupe le relais
 digitalWrite(RELAY,LOW);
    delay(10000);
}
 
else  digitalWrite(RELAY,LOW); // sinon, les conditions ne sont pas réunis, on coupe le relais
 
}  }  } 
if( temp <= 20 && now.hour() >= 20 && now.hour() <=8 { // si on est entre 20 et 8h que la T° < 17° 
   digitalWrite(RELAY,HIGH);
  ; 
 }
 else if( temp >= 30 ){ // si T° dépasse 30° on coupe le relais
 digitalWrite(RELAY,LOW);
    delay(10000);
}
 
else  digitalWrite(RELAY,LOW); // sinon, les conditions ne sont pas réunis, on coupe le relais
 
}  }  }

Comme ça?(vraiment mon premier programme arduino )