Sensors box arduino code

#include <SPI.h>
#include <LoRa.h>
#include <DS18B20.h>


//MQTT
const char* topic = "homeassistant/sensor/lumi_serre2/config";
const char* device_class = "ILLUMINANCE";
const char* name = "";
const char* unique_id = "";
const char* device_name = "Boitier1";
const char* device_identifiers = "boitier_1";
const char* state_topic = "";
const char* unit_of_measurement = "lx";

String configPayload = String(topic) + "|" +
                       String(device_class) + "|" +
                       String(name) + "|" +
                       String(unique_id) + "|" +
                       String(device_name) + "|" +
                       String(device_identifiers) + "|" +
                       String(state_topic) + "|" +
                       String(unit_of_measurement);

const char* topic2 = "homeassistant/sensor/humi_serre2/config";
const char* device_class2 = "HUMIDITY";
const char* name2 = "";
const char* unique_id2 = "";
const char* state_topic2 = "";
const char* unit_of_measurement2 = "%";

String configPayload2 = String(topic2) + "|" +
                       String(device_class2) + "|" +
                       String(name2) + "|" +
                       String(unique_id2) + "|" +
                       String(device_name) + "|" +
                       String(device_identifiers) + "|" +
                       String(state_topic2) + "|" +
                       String(unit_of_measurement2);


const char* topic3 = "homeassistant/sensor/temp_serre2/config";
const char* device_class3 = "TEMPERATURE";
const char* name3 = "";
const char* unique_id3 = "";
const char* state_topic3 = "";
const char* unit_of_measurement3 = "°C";

String configPayload3 = String(topic3) + "|" +
                       String(device_class3) + "|" +
                       String(name3) + "|" +
                       String(unique_id3) + "|" +
                       String(device_name) + "|" +
                       String(device_identifiers) + "|" +
                       String(state_topic3) + "|" +
                       String(unit_of_measurement3);


//define the pins used by the lora module
#define ss 5
#define rst 14
#define dio0 2

//set counter
int totallumi = 0;
int totalhumi = 0;
int totaltemp = 0;
int counter = 0;
int valuelumi = 0;
int valuehumi = 0;
int valuetemp = 0;
int numReadings = 10;

//define the pins for sensors
int sensorPin = 26;
int sensorPin2 = 36;
DS18B20 ds(22);

//set pin address for DS18B20
uint8_t address_temp[] = {237, 0, 0, 0, 135, 237, 99, 40};




void setup() {
  Serial.begin(115200);
  while (!Serial);
  Serial.println("LoRa Receiver");

  //setup LoRa transceiver module
  LoRa.setPins(ss, rst, dio0);

  //replace the LoRa.begin(---E-) argument with your location's frequency
  //433E6 for Asia, 868E6 for Europe, 915E6 for North America
  while (!LoRa.begin(433E6)) {
    Serial.println(".");
    delay(500);
  }
  // Change sync word (0xF3) to match the receiver
  // The sync word assures you don't get LoRa messages from other LoRa transceivers
  // ranges from 0-0xFF
  LoRa.setSyncWord(0x5E);
  Serial.println("LoRa Initializing OK!");
  analogReadResolution(12);
  analogSetPinAttenuation(sensorPin, ADC_11db);
  analogSetPinAttenuation(sensorPin2, ADC_11db);

  // Capteur de température initialisation
  ds.select(address_temp);
}

void loop() {
  LoRa.beginPacket();
  LoRa.print(String(configPayload));
  LoRa.endPacket();
  Serial.print("[↑] ");
  Serial.println(configPayload);
  delay(1000);

  LoRa.beginPacket();
  LoRa.print(String(configPayload2));
  LoRa.endPacket();
  Serial.print("[↑] ");
  Serial.println(configPayload2);
  delay(1000);

  LoRa.beginPacket();
  LoRa.print(String(configPayload3));
  LoRa.endPacket();
  Serial.print("[↑] ");
  Serial.println(configPayload3);

  for (int i = 0; i < 1800; i++) {
    String topiclumi = String(state_topic) + "|";
    String topichumi = String(state_topic2) + "|";
    String topictemp = String(state_topic3) + "|";

    for (int i = 0; i < 10; i++) {
      totallumi = 0; // réinitialiser le total
      totalhumi = 0; // réinitialiser le total
      totaltemp= 0;
      for (int i = 0; i < numReadings; i++) {
        valuelumi = analogRead(sensorPin);
        valuehumi = analogRead(sensorPin2);
        valuetemp = ds.getTempC();

        totallumi += valuelumi;
        totalhumi += valuehumi;
        totaltemp += valuetemp;
        Serial.print("Capteur luminosite : ");
        Serial.println(valuelumi);
        Serial.print("Capteur Humidite : ");
        Serial.println(valuehumi);
        Serial.print("Capteur Température : ");
        Serial.println(valuetemp);
        delay(1000);
      }

      int averageValue = totallumi / numReadings;
      int calibration_Luninosite = map(averageValue, 4095, 0, 0, 2000);
      calibration_Luninosite = constrain(calibration_Luninosite, 0, 2000);

      String message = topiclumi + String(calibration_Luninosite);

      LoRa.beginPacket();
      LoRa.print(message);
      LoRa.endPacket();
      Serial.print("[↑] ");
      Serial.println(message);



      int averageValue2 = totalhumi / numReadings;
      int calibration_Humidite = map(averageValue2, 2460, 930, 0, 100);
      calibration_Humidite = constrain(calibration_Humidite, 0, 100);

      message = topichumi + String(calibration_Humidite);

      delay(1000);

      LoRa.beginPacket();
      LoRa.print(message);
      LoRa.endPacket();
      Serial.print("[↑] ");
      Serial.println(message);


      int averageValue3 = totaltemp / numReadings;
      message = topictemp + String(averageValue3);

      delay(1000);

      LoRa.beginPacket();
      LoRa.print(message);
      LoRa.endPacket();
      Serial.print("[↑] ");
      Serial.println(message);
    }
  }
}