 
   const String dublinBusData = getRequest(dublinbusDataEndPoint);
   const String luasData = getRequest(luasDataEndPoint);
+
+  //if there is no data break from function
+  if (dublinBusData == "0" && luasData == "0") {
+    return;
+  }
 
   JsonArray& rootJsonLuas = jsonBufferTram.parseArray(luasData);
   JsonArray& rootJsonDublinBus = jsonBufferBus.parseArray(dublinBusData);

}

void sleepingMode() {
  if (!taskGetWeatherData.isEnabled()) {
    taskGetWeatherData.disable();
  }
  if (!taskGetTransportationData.isEnabled()) {
    taskGetTransportationData.disable();
  }

  lcd.clear();
  lcd.noBacklight();
}

void scheduleDataTasks () {
  const int hour = timeClient.getHours();
  const int day = timeClient.getDay(); //0 is sunday 1,2,3,4,5,6

  serialPrint("hour:", hour);
  serialPrint("day:", day);
  timeClient.update();
  //weekdays
  if (day>=1 && day<=5) {
    //busy hour more requests here
    if (hour >= 7 && hour <= 10 ) {
      serialPrint("Enabling tasks for morning");
      if (!taskGetWeatherData.isEnabled() && !taskGetTransportationData.isEnabled()) {
        lcd.backlight();
        taskGetWeatherData.enable();
        taskGetTransportationData.enable();
      }
    }
    else {
      sleepingMode();
    }
  }
  //weekends
  else {
    serialPrint("Weekend work on demand");
    sleepingMode();
  }
}



void setupNetwork() {
  serialPrint("Connecting...");
  WiFiMulti.addAP(wifiSid, wifiPassword);
  tryNetWorkConnectionNthTime(5);
}

void tryNetWorkConnectionNthTime(int tryCount) {

  while (WiFiMulti.run() != WL_CONNECTED && tryCount != 5) {
    if ((WiFiMulti.run() == WL_CONNECTED)) {
      serialPrint("Connected!");
    }
    else {
      serialPrint("Could not connect in setup()");
    }
    delay(1000);
    tryCount++;
    serialPrint("Retrying connection", tryCount);
  }
}

void setupLcd() {
