 
   lcd.createChar(1, termometru);
   lcd.createChar(2, picatura);
+  lcd.createChar(3, customblock);
+  lcd.createChar(4, customCharfill);
   lcd.createChar(5, pirfill);
   lcd.createChar(6, powericon);
-  lcd.createChar(7, nemoicon);
-
-  lcd.createChar(3, customCharB);
-  lcd.createChar(4, customCharfill);
+  lcd.createChar(7, valueisinvalid);
+
 
   for ( int i = 1 ; i < 19 ; i++) {
     lcd.setCursor(i, 0);

  getResetInfo += ESP.getResetInfo().substring(0, 50);

  //
  solar_data.Temperature1 = solar_data.Temperature2 = solar_data.Humidity = solar_data.data1 = solar_data.data2 = solar_data.powerAvg = solar_data.WeightAvg = 0;
  lastTime = millis();

  // lcd
  lcd.init();

    lcd.write(4);
  }

  delay(1000);
  lcd.clear();

  WiFiClient::setLocalPortStart(analogRead(A0));
  wifi_connect();

  if (!Rtc.IsDateTimeValid()) {
    if (DEBUG_PRINT) {
      sendUdpSyslog("00 --> Rtc.IsDateTime is inValid");
    }

    lcd.setCursor(0, 3);
    lcd.print("RTC is inValid");
    delay(1000);

    setSyncProvider(requestSync);

    udp.begin(localPort);
    int Attempt = 0;
    while ( timeStatus() == timeNotSet ) {
      setSyncProvider(getNtpTime);
      Attempt++;
      if (Attempt > 3) {
        break;
      }
      yield();
    }

    if (timeStatus() == timeSet) {
      if (DEBUG_PRINT) {
        sendUdpSyslog("00 --> ntp time synced");
      }

      lcd.setCursor(0, 3);
      lcd.print("ntp synced");

      Rtc.SetDateTime(now() - 946684800);
      if (!Rtc.GetIsRunning()) {
        Rtc.SetIsRunning(true);
      }
    } else {
      if (DEBUG_PRINT) {
        sendUdpSyslog("00 --> ntp not synced, use rtc time anyway");
      }
    }
  } else {
    if (DEBUG_PRINT) {
      sendUdpSyslog("00 --> Rtc.IsDateTime is Valid");
    }
    lcd.setCursor(0, 3);
    lcd.print("RTC is Valid");
    delay(1000);
  }
  setSyncProvider(requestRtc);
  setSyncInterval(60);

  Rtc.Enable32kHzPin(false);
  Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);

  //OTA
  ArduinoOTA.setPort(8266);
