Photoresistor not working with addition of OTA

Hi all, I have a project that I want to add OTA update ability to. Everything is working fine but when I add the code for the OTA and its libraries the light sensor values stop working. If I comment out the code for the OTA it works again. very strange. any suggestions??
(The code with the ** is what i comment out and it works again)

//Locking, Automatic Chicken Coop Door
//By Mike Roberts 2024  (based off of original code by Seth Johnson  Land To House llc 2016)
**#include <Arduino.h>**
**#include <ElegantOTA.h>**
**#include <WiFi.h>**
**#include <WiFiClient.h>**
**#include <WebServer.h>** 
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#include <DallasTemperature.h>
#define CoolRelay 32
#define HeatRelay 33
#define ONE_WIRE_BUS 4
const boolean SerialDisplay = true;  // print debug messages or not to serial
//This section is for initializing things:
//const int led = 13;
int tcrt;
const int PWM = 26;   //enables PWM on the drv8801 motor controller.
const int DIR = 27;   //send high or low to DIR on the motor controller.
const int red = 14;   // red LED heating
const int blue = 12;  // blue LED cooling
const int coopDoorOpenLed = 13;
const int coopDoorClosedLed = 23;
const int lightSensorPin = 0;  //Initialize "lightSensor" This is the photoresistor.
const int BotSwtch = 18;
const int TopSwtch = 19;
int lightVal = 0;
int BotSwtchState = 0;
int TopSwtchState = 0;  //These are the variables that hold the state of the reed switches
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

**//Set WiFi Credentials**
**const char *ssid = "Wi-Fi Fo Fum";**
**const char *password = "Ismo@em!!";**
**WebServer server(80);**
void setup()  //This only runs once.
{
  Serial.begin(115200);  // initialize the serial communications:
  **//connect to WiFi**
**  WiFi.mode(WIFI_STA);**
**  WiFi.begin(ssid, password);**
**  while (WiFi.status() != WL_CONNECTED) {**
**    delay(500);**
**    Serial.println("Connecting to WiFi...");**
**  }**
**  Serial.println("Connected to WiFi");**
**  Serial.println(ssid);**
**  Serial.print("IP address: ");**
**  Serial.println(WiFi.localIP()); **
**  //Begin OTA**
**  ElegantOTA.begin(&server);  // Start ElegantOTA**
**  server.begin();**
**  Serial.println("HTTP server started");**
  lcd.init();  // set up the LCD's number of columns and rows:
  lcd.backlight();
  sensors.begin();
  pinMode(red, OUTPUT);
  pinMode(blue, OUTPUT);
  pinMode(CoolRelay, OUTPUT);
  pinMode(HeatRelay, OUTPUT);
  pinMode(PWM, OUTPUT);
  pinMode(DIR, OUTPUT);  // set the motor control pins as outputs. 
  pinMode(coopDoorOpenLed, OUTPUT);
  pinMode(coopDoorClosedLed, OUTPUT);
  pinMode(BotSwtch, INPUT_PULLUP);
  pinMode(TopSwtch, INPUT_PULLUP);
  
  BotSwtchState = digitalRead(BotSwtch);
  TopSwtchState = digitalRead(TopSwtch);
  //  TestBtnState = digitalRead(TestBtn);
 
  if (BotSwtchState != HIGH)  //if BotSwtchState is not high then go to the while statement
  {
    while (BotSwtchState != HIGH)  // this function will run the motor down as long as switch 1 has not been triggered
    {
      analogWrite(PWM, 200);                  // turn on motor and set speed to 255
      digitalWrite(DIR, LOW);                 // DIR LOW=down HIGH=up
      BotSwtchState = digitalRead(BotSwtch);  //read the state of the switch again to make sure that it has not been triggered
      TopSwtchState = digitalRead(TopSwtch);  //read the state of switch 2 (the top one) and place it in TopSwtchState
    }
    delay(100);
    analogWrite(PWM, 0);                    // once TopSwtchState has been triggered turn off the motor
    digitalWrite(coopDoorClosedLed, HIGH);  // turns on coopDoorClosedLed (green)
    digitalWrite(coopDoorOpenLed, LOW);
  } 
}


//this runs over and over
void loop() {
  **// Handle OTA**
**  server.handleClient();**
**  ElegantOTA.loop();**
**  //Code for OTA**

  sensors.requestTemperatures();
  float temperature = sensors.getTempFByIndex(0);
  lightVal = analogRead(lightSensorPin);  //read the light sensor and place it in lightval
  lcd.home();
  char buffer[50];
  sprintf(buffer, "LSV: %4d", (analogRead(lightSensorPin)));  // was A0 which is now 19 try 19 if lightSensorPin doesnt work
  lcd.setCursor(0, 0);
  lcd.print(buffer);
  lcd.setCursor(10, 0);
  lcd.print("Temp:");  //  sprintf(buffer, "Temp: %f\337F", temperature);
  lcd.print(sensors.getTempFByIndex(0));
  lcd.print("\337F");  //  lcd.print (buffer);
  Serial.print(" Light sensor value: ");
  Serial.println(analogRead(lightSensorPin));
  Serial.print("      ");
  Serial.print(sensors.getTempFByIndex(0));
  Serial.println("\337F");
  if (temperature < 40)  //changed temp to 40
  {
    digitalWrite(red, HIGH);
    digitalWrite(blue, LOW);
    Serial.println("      Heating");
    digitalWrite(CoolRelay, 0);
    digitalWrite(HeatRelay, 1);
    delay(3000);
  } else if (temperature > 40 && temperature < 85)  //changed temp to 40
  {
    digitalWrite(red, LOW);
    digitalWrite(blue, LOW);
    Serial.println("      All Off");
    digitalWrite(CoolRelay, 0);
    digitalWrite(HeatRelay, 0);
  } else if (temperature > 85) {
    digitalWrite(CoolRelay, 1);
    digitalWrite(HeatRelay, 0);
    digitalWrite(red, LOW);
    digitalWrite(blue, HIGH);
    Serial.println("      Cooling ");
  }
  BotSwtchState = digitalRead(BotSwtch);
  Serial.print(" Bottom Switch Value: ");  // display "Bottom Switch Value:"
  Serial.println(digitalRead(BotSwtch));
  sprintf(buffer, "Bot Sw: %d", BotSwtchState);
  lcd.setCursor(0, 1);
  lcd.print(buffer);
  TopSwtchState = digitalRead(TopSwtch);
  Serial.print(" Top Switch Value: ");  // display "Bottom Switch Value:"
  Serial.println(digitalRead(TopSwtch));
  sprintf(buffer, "Top Sw: %d", TopSwtchState);
  lcd.setCursor(0, 2);
  lcd.print(buffer);

  if (TopSwtchState == HIGH && lightVal < 75) {
    delay(30000);
    motordown();
  } else if (BotSwtchState == HIGH && lightVal > 400) {
    delay(30000);
    motorup();
  }
}
void motordown()  //code for sending door down
{
  BotSwtchState = digitalRead(BotSwtch);
  while (BotSwtchState != HIGH) {
    analogWrite(PWM, 200);
    digitalWrite(DIR, LOW);
    BotSwtchState = digitalRead(BotSwtch);
  }
  delay(1000);                            //wait 1 seconds before turning off the motor to let the locks engage at the bottom
  analogWrite(PWM, 0);                    // now turn off motor
  digitalWrite(coopDoorClosedLed, HIGH);  // turns on coopDoorClosedLed (green)
  digitalWrite(coopDoorOpenLed, LOW);     // turns off coopDoorOpenLed (red)
}

void motorup()  // this function will run the motor as long as switch 2 has not been triggered
{
  BotSwtchState = digitalRead(BotSwtch);
  TopSwtchState = digitalRead(TopSwtch);
  while (TopSwtchState != HIGH) {
    analogWrite(PWM, 200);
    digitalWrite(DIR, HIGH);
    TopSwtchState = digitalRead(TopSwtch);
  }
  analogWrite(PWM, 0);
  digitalWrite(coopDoorClosedLed, LOW);  // turns on coopDoorClosedLed (green)
  digitalWrite(coopDoorOpenLed, HIGH);   // turns off coopDoorOpenLed (red)
}

Does not compile with your additions.

What's does that mean? Does the controller crash/restart, do you read erratic values, or a single value all the time? I.e. what behavior constitutes "stop working"?

''Note: ADC2 pins cannot be used when Wi-Fi is used. So, if you’re using Wi-Fi and you’re having trouble getting the value from an ADC2 GPIO, you may consider using an ADC1 GPIO instead. That should solve your problem.''

Hi thanks, thats exactly what i did. and got it working, thanks. and if anyone wants to use the code for whatever reason, add a delay in the "motorup" function to debounce the switch.

You’re welcome.