Arduino Wifi rev2 connects randomly from the Wlan

I have a problem with my Arduino wifi rev2 as described in the title the Arduino automatically disconnected from the Internet after various time intervals. As a result, the website that this hostet is no longer accessible. In the attachment you will find my code

//Reset
long reset_Timer = 7200000;
int Time;

//Anemometer
const int sensorPin = A0;
int sensorValue = 0;
float sensorVoltage = 0;
float windSpeed = 0;
float voltageConversionConstant = .004882814;
float voltageMin = .4;
float windSpeedMin = 0;
float voltageMax = 2.0;
float windSpeedMax = 32;

//DHT11
#include "DHT.h"
#include <SPI.h>
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dth(DHTPIN, DHTTYPE);
int sensorDelay = 1000;
int Temperatur;
int Luftfeuchtigkeit;

//Wifi
#include <WiFiNINA.h>
#include "arduino_secrets.h" 
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
int keyIndex = 0;
int status = WL_IDLE_STATUS;


//Setup
void setup() {
  WiFiServer server(80);
  //DHT
  dth.begin();
  
  //Serial
  Serial.begin(9600);
  
  //Wifi
  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    while (true);
  }

  String fv = WiFi.firmwareVersion();
  if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
    Serial.println("Please upgrade the firmware");
  }


  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to Network named: ");
    Serial.println(ssid);

    status = WiFi.begin(ssid, pass);
    delay(10000);
  }
  server.begin();                
  printWifiStatus();          
}

//Loop
void loop() {
  Time = millis();
  if(reset_Timer <= Time){
    software_Reset();
  }
  //Anemometer
  sensorValue = analogRead(A0);
  sensorVoltage = sensorValue * voltageConversionConstant;
  if (sensorVoltage <= voltageMin){
  windSpeed = 0; 
  }
  else {
  windSpeed = (sensorVoltage - voltageMin)*windSpeedMax/(voltageMax - voltageMin);
    }
    
   //DHT11
  float Luftfeuchtigkeit = dth.readHumidity()/1.0; 
  float Temperatur = dth.readTemperature()/1.0;

  //Webserver
  WiFiClient client = server.available();   
  
  if (client) {                      
    Serial.println("new client");     
    String currentLine = "";            
    while (client.connected()) {       
      if (client.available()) {          
        char c = client.read();        
        Serial.write(c);                  
        if (c == '\n') {                   

          //Website
          if (currentLine.length() == 0) {
            client.println("HTTP/1.1 200 OK");
            client.println("Content-Type: text/html");
            client.println("Connection: close"); 
            client.println("Refresh: 2");
            client.println();
            client.println("<!DOCTYPE HTML>");
            client.print("<html>");
            client.print("<body style=""background-image:url()"">");
            client.print("<center>");
            client.print("<img src=""https://image.flaticon.com/icons/svg/1582/1582767.svg"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
            client.print("
");
            client.print("<p style=""font-size:32px"">");
            client.print(Temperatur);
            client.print("C");
            client.print("</p>");
            client.print("
");
            client.print("<img src=""https://www.ortungsservice.eu/wp-content/uploads/2014/09/Wassertropfen.png"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
            client.print("
");
            client.print("<p style=""font-size:32px"">");
            client.print(Luftfeuchtigkeit);
            client.print("%");
            client.print("</p>");
            client.print("
");
            client.print("<img src=""https://media.istockphoto.com/vectors/cartoon-cloud-blows-wind-vector-id496388662"" height=""100"" width=""200"" alt=""CHIP-Logo"" align=""center"">");
            client.print("
");
            client.print("<p style=""font-size:32px"">");
            client.print(windSpeed);
            client.print("m/s");
            client.print("
");
            client.print("</p>");
            client.print("</center>");
            client.print("</body>");
            client.print("</html>");
            client.println();
            break;
          } else {   
            currentLine = "";
          }
        } else if (c != '\r') {  
          currentLine += c;  
        }

      
      }
    }
    client.stop();
    Serial.println("client disonnected");
  }
}
//Print Wifi
void printWifiStatus() {
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
  Serial.print("To see this page in action, open a browser to http://");
  Serial.println(ip);
}

void software_Reset(){
asm volatile ("  jmp 0"); 
}

Possibly because of this:

long reset_Timer = 7200000;
int Time;

Then in void loop you have:

Time = millis();
  if(reset_Timer <= Time){
    software_Reset();
  }

The millis() function returns a value of type unsigned long, but here the result it is being stored in a variable of type int, so information is lost as only the least significant byte is saved. This is then compared to a value of type (signed) long. Comparing variables of different types can lead to unpredictable results. I am guessing that your board is getting reset at unpredictable intervals rather than the intervals that you are expecting. Probably best to be consistent and use unsigned long for all of the variables holding time values:

unsigned long Time;
unsigned long reset_Timer;

Thank you that solved the Problem. Also thanks for the fast reply.

You are welcome. Great to hear that helped. Sorry I could not reply in German!

Thats the reasons because i editted the post to change the language on english