Creation d'une Tempo avec millis (casse tete)

salut as tous , j'ai avancer un peux dans l'acheminement de mon programme , je m'apercois que quand les sondes arrivent as la consigne les relais mitraille , il y aurais pas moyen de mettre un delais de lecture des sondes pour eviter la mitraillette ?

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS_1 2
#define ONE_WIRE_BUS_2 3

OneWire oneWire_1(ONE_WIRE_BUS_1);
OneWire oneWire_2(ONE_WIRE_BUS_2);
DallasTemperature sensors_1(&oneWire_1);
DallasTemperature sensors_2(&oneWire_2);
//sonde1 = {0x28, 0xAA, 0x69, 0x58, 0x3C, 0x14, 0x01, 0x47};
//sonde2 = {0x28, 0xEF, 0xCF, 0xE0, 0x2E, 0x19, 0x01, 0x77};

LiquidCrystal_I2C lcd(0x27,16,2);

const int relais_Vent_Ext = 8;
const int relais_Comp = 9;
const int relais_Vent_Int = 10;
const int relais_V4V = 11;
const int therm_S = 51;
const int therm_Ch1 = 50;
const int led_S = 33;
const int led_Ch1 = 31;
const int led_FR = 45;
const int led_CH = 30;

float hysteresis = 2.00;
float consigne = 23.00;

unsigned long chrono_demar_Comp = 0;

void setup()

{
  Serial.begin(115200);
  lcd.init();
  lcd.backlight();


  sensors_1.begin();
  sensors_2.begin();

  pinMode(relais_Vent_Ext,OUTPUT); // Relais Ventilateur Exterieur 
  pinMode(relais_Comp,OUTPUT); // Relais Compresseur
  pinMode(relais_Vent_Int,OUTPUT); // Relais Ventilateur Interieur
  pinMode(relais_V4V,OUTPUT); // Relais Vanne 4 Voies
  pinMode(therm_S,INPUT); // Thermostat Radio Salon
  pinMode(therm_Ch1,INPUT); // Thermostat Radio Chambre1
  pinMode(led_S,OUTPUT); // LED Thermostat Salon en demande (froid ou chauffage)
  pinMode(led_Ch1,OUTPUT); // LED Thermostat Chambre en demande (froid ou chauffage)
  pinMode(led_FR,OUTPUT); // LED Mode Froid
  pinMode(led_CH,OUTPUT); // LED Mode Chauffage

}

void loop()

{
  Serial.print("Temp Démarage Arduino : ");
  Serial.println(millis());

  sensors_1.requestTemperatures();
  sensors_2.requestTemperatures();
  float temp_Ext = sensors_1.getTempCByIndex(0);
  float temp_Unit_Ext = sensors_2.getTempCByIndex(0);

  float grand_V_Ext = temp_Unit_Ext >= 20;

  Serial.print("Temperature EXT °C ");
  Serial.println(temp_Ext);
  Serial.print("Temperature Unite EXT °C ");
  Serial.println(temp_Unit_Ext);

  byte etattherm_S = digitalRead(therm_S);
  byte etattherm_Ch1 = digitalRead(therm_Ch1);

  Serial.print("ETAT thermosat Salon = ");
  Serial.println(etattherm_S);
  Serial.print("ETAT thermostat Chambre 1 = ");
  Serial.println(etattherm_Ch1);
  
  lcd.setCursor(0, 0 );
  lcd.print("Temperature:");
  lcd.setCursor(1,1);
  lcd.print(temp_Ext);
  lcd.setCursor(6,1);
  lcd.print((char)223);
  delay(1000);

  digitalWrite(led_S, etattherm_S);
  digitalWrite(led_Ch1, etattherm_Ch1);

  if(((temp_Ext >= consigne) && (etattherm_S == 1)) 
  || ((temp_Ext >= consigne) && (etattherm_Ch1 == 1))){
    digitalWrite(relais_Vent_Ext, LOW);// petite vitesse
    digitalWrite(relais_Vent_Int, HIGH);
    digitalWrite(relais_V4V, HIGH);
    digitalWrite(relais_Comp, LOW);
    digitalWrite(led_FR, HIGH);
    digitalWrite(led_CH, LOW);
    if(grand_V_Ext){
      digitalWrite(relais_Vent_Ext, HIGH);// grande viesse
      digitalWrite(relais_Vent_Int, HIGH);
      digitalWrite(relais_V4V, HIGH);
      digitalWrite(relais_Comp, LOW);
      digitalWrite(led_FR, HIGH);
      digitalWrite(led_CH, LOW);
      }
    }else{
      digitalWrite(relais_Vent_Ext, LOW);
      digitalWrite(relais_Vent_Int, LOW);
      digitalWrite(relais_V4V, LOW);
      digitalWrite(led_FR, LOW);
      digitalWrite(led_CH, HIGH);
      }
      if(!digitalRead(led_FR)){
        chrono_demar_Comp = millis() + 180000;
        }
        if(millis() > chrono_demar_Comp){
          digitalWrite(relais_Comp, HIGH);
          Serial.print("Compresseur ON ");
          }else{
            digitalWrite(relais_Comp, LOW);
            Serial.print("Démarage Compresseur dans : ");
            Serial.println(chrono_demar_Comp - millis());
        }
}