DHT11 weird react and wait for Serial input

Hi,
I making a plant caretaker. It should turn on/off light and water pump. Turning on/off light depends on setted hour. Also show how many water is in reserve by sr-04 (actual shows only distance) and save data on SD. All is connectig with terminal on android via bluetooth. Problem is that when I delete line 166 "Serial.println("LED On D13 Off ! "); ". When I do that DHT stop showing data and print "nan" (screenshot). I dont know too, how to wait for input from Serial Monitor - "!while(Serial.available() {}" not work, flush() too. One more problem - when i try to input for example soil moisture 82 then program set it on 10% and run "if (odebraneDane == '2')".

https://photos.app.goo.gl/8akAh3rZ9c2yqJFj1

Thanks in advance

#include <SoftwareSerial.h>// import the serial library

#include <SPI.h>  //
#include <SD.h>   // Biblioteki karty sd
File plik; //nazwa pliku (na sd)


#include <DHT.h>

#include <Wire.h>   //
#include <DS3231.h> //Biblioteki zegara rtc

DS3231 clock;
RTCDateTime dt;

#define trigPin 13
#define echoPin 12

#define DHTPIN 5
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);


SoftwareSerial Genotronex(10, 11); // RX, TX
int swiatlo = 0;   //czujnik światła        light
int wilgleby = 0;    //wilgotnosc gleby     soil moisture
float h = 0;       //wilgoc powietrza       humidity
float t = 0;         //temperatura          temp
int zadanawilgoc = 100;                    // setted soil moisture
int zadanagodzina = 22;                    // setted hour evening (lights off)
int zadanagodzinarano = 9;                 // setted hour morning (lights on)
int odebraneDane; // the data given from Computer



void setup() {
 
  Genotronex.begin(9600);
  Genotronex.println("1 - Podaj log, 2-aktualny stan, 3-ustal wilgoc, 4-godzina wylaczania swiatel, 5-godzina wlaczania swiatel");

  dht.begin();

  clock.begin();
  clock.setDateTime(__DATE__, __TIME__);

  pinMode(trigPin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście
  pinMode(echoPin, INPUT); //a echo, jako wejście

  pinMode(3, OUTPUT); //przekaznik pin 3          relay
  pinMode(4, OUTPUT); //przekaznik pin 4          relay

  digitalWrite(3, HIGH);  //relay
  digitalWrite(4, HIGH);   //relay

  // Usyawiamy Alarm2 - Kazda pierwsza minuta kazdej godziny z dopasowaniem do minut
  // setAlarm2(Date or Day, Hour, Minute, Mode, Armed = true)
  clock.setAlarm2(0, 0, 1,     DS3231_MATCH_M);

}

void loop() {

  swiatlo = analogRead(A4); //czujnik światła           light
  wilgleby = analogRead(A5); //wilgotnosc gleby         soil mois
  wilgleby = map (wilgleby, 0, 580, 0, 100);
   h = dht.readHumidity(); //wilgoc powietrza           humidity
 t = dht.readTemperature(); //temperatura               temp

  if (clock.isAlarm2())
  {
    zapiszlog ();
  }

  if (dt.hour < zadanagodzinarano) //Włączanie lamp (przekaźnik)    lights on
  {
    digitalWrite(3, LOW);
  }

  if (dt.hour > zadanagodzina) //Wyłączanie lamp (przekaźnik)         lights off
  {
    digitalWrite(3, HIGH);
  }

  if (wilgleby < zadanawilgoc)  // włącza pompke  (przekaźnik)      watering
  {
    digitalWrite(4, LOW);
    delay(1000);
    digitalWrite(4, HIGH);

  }

  if (Genotronex.available()) {
    odebraneDane = Genotronex.read();
  }

  if (odebraneDane == '1')  //podaj log
  {
    plik = SD.open("Data_log.txt");                             //otwórz plik Data_log.txt

    while (plik.available())                             //wykonuj pętlę dopókiwszystkie dane
    { //nie zostaną zczytane
      Genotronex.write(plik.read());                        //wypisz zawartość pliku
    }

    plik.close();                                           //zamknij plik
  }

  if (odebraneDane == '2')   // aktualny stan               actual conditions
  {
    dt = clock.getDateTime();
    Genotronex.print(dt.year);   Genotronex.print("-");
    Genotronex.print(dt.month);  Genotronex.print("-");
    Genotronex.print(dt.day);    Genotronex.print(" ");
    Genotronex.print(dt.hour);   Genotronex.print(":");
    Genotronex.print(dt.minute); Genotronex.print(":");
    Genotronex.print(dt.second); Genotronex.println("");
    Genotronex.print("stan wody: "); Genotronex.print(zmierzOdleglosc()); Genotronex.println(" cm");
    Genotronex.print("światło: ");  Genotronex.print(swiatlo);  Genotronex.println(" Lux");
    Genotronex.print("wilgotność gleby: "); Genotronex.print(wilgleby); Genotronex.println(" %");
    Genotronex.print("temperatura powietrza: "); Genotronex.print(t); Genotronex.println(" *C");
    Genotronex.print("wilgotność powietrza: "); Genotronex.print(h); Genotronex.println(" %");
    Genotronex.print("Ustalona wilgotność: ");  Genotronex.print(zadanawilgoc); Genotronex.println(" %");
    Genotronex.print("Godzina gaszenia świateł ");  Genotronex.println(zadanagodzina);
    Genotronex.print("Godzina zapalania świateł ");  Genotronex.println(zadanagodzinarano);

  }

  if (odebraneDane == '3')                 // set soil moisture
  {
    Genotronex.print("Podaj wilgotność ziemi do utrzymania w %:") ;

    Genotronex.read();
    zadanawilgoc = Genotronex.read();
    Genotronex.println("Ustalono %: ") ;
    Genotronex.println(zadanawilgoc) ;

  }

  if (odebraneDane == '4')                  //set hour after which lights off
  {
    Genotronex.println("Podaj godzinę gaszenia świateł:") ;
    while (!Genotronex.available()) {}
    Genotronex.read();
    zadanagodzina = Genotronex.read();
    Genotronex.println("Ustalono: ") ;
    Genotronex.println(zadanagodzina) ;

  }
  if (odebraneDane == '5')                //set hour after which lights on
  {
    Genotronex.println("Podaj godzinę włączenia świateł:") ;
    while (!Genotronex.available()) {
    
    }
    Genotronex.read();
    zadanagodzina = Genotronex.read();
    Genotronex.println("Ustalono: ") ;
    Genotronex.println(zadanagodzinarano) ;

  }

   
  

  odebraneDane = '0';
}



//////////////////////////////////////////////////////////////////////////////////////////


void zapiszlog () {         //Feriar Lab              save log
  plik = SD.open("Data_log.txt", FILE_WRITE);                   //otwórz plik 123.txt                                      
  dt = clock.getDateTime();
  plik.print(dt.year);   plik.print("-");
  plik.print(dt.month);  plik.print("-");
  plik.print(dt.day);    plik.print(" ");
  plik.print(dt.hour);   plik.print(":");
  plik.print(dt.minute); plik.print(":");
  plik.print(dt.second); plik.println("");
  plik.print("stan wody: "); plik.print(zmierzOdleglosc()); plik.println(" cm");
  plik.print("światło: ");   plik.print(swiatlo);           plik.println(" Lux");
  plik.print("wilgotność gleby: ");   plik.print(wilgleby); plik.println(" %");
  plik.print("temperatura powietrza: "); plik.print(t);     plik.println(" *C");
  plik.print("wilgotność powietrza: "); plik.print(h);       plik.println(" %");
  plik.print("Ustalona wilgotność: ");  plik.print(zadanawilgoc); plik.println(" %");
  plik.print("Godzina zapalania świateł ");  plik.println(zadanagodzinarano);
  plik.print("Godzina gaszenia świateł: ");  plik.println(zadanagodzina);
  plik.close();                                            //zamknij/zapisz plik
  delay(400);                                              //odczekaj 0,3s
}


int zmierzOdleglosc() {   //zmierz odleglosc      measure distance
  long czas, dystans;

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(30);
  digitalWrite(trigPin, LOW);

  czas = pulseIn(echoPin, HIGH);
  dystans = czas / 58;

  return dystans;
}

I don't see a Serial.println anywhere.

I using software Serial ' SoftwareSerial Genotronex(10, 11); // RX, TX ' and communicate with Serial Monitor via Bluetooth.