public String getCurrentWeatherCondition(DemonstratorMain main, String dbName, boolean randomWeather){
		
		try {
			//time since last update of the weather condition
			long diffInMinutes = Duration.between(lastUpdateWeatherCondition, LocalDateTime.now(Clock.systemUTC())).toMinutes();
		
			if (randomWeather){
				String conditionRating = possibleConditions.get(random.nextInt(possibleConditions.size()));
				weatherCondition = new WeatherInterpreter().interpreterWeatherCondition(conditionRating);
				Utils.printWithDate("Current weather condition: " + weatherCondition, Utils.DEBUGLEVEL.GENERAL);
				lastUpdateWeatherCondition = LocalDateTime.now(Clock.systemUTC());
			}
			else{
				//if times for sunrise and sunset are unknown or "older" than interval-time
				if (weatherCondition.isEmpty() || diffInMinutes > updateIntervalWeatherCondition) {
					
					String weatherConditionJSON = "";
					if (DemonstratorMain.mongoDBConnection != null){
						weatherConditionJSON = DemonstratorMain.mongoDBConnection.getLastWeatherConditionWithRating(dbName);
					}
					else{
						//TODO get weatherCondition from json-file
					}	
					if(!weatherConditionJSON.isEmpty()){
						JSONObject weatherConditionJSONObject = (JSONObject) main.jsonParser.myParser.parse(weatherConditionJSON);
						Utils.printWithDate("Weather condition:" + weatherConditionJSONObject, Utils.DEBUGLEVEL.DEBUG);
							
						String currentWeatherCondition = main.jsonParser.getWeatherConditionRating(weatherConditionJSONObject);
						weatherCondition = new WeatherInterpreter().interpreterWeatherCondition(currentWeatherCondition);
	
						Utils.printWithDate("Current weather condition: " + weatherCondition, Utils.DEBUGLEVEL.GENERAL);
						lastUpdateWeatherCondition = LocalDateTime.now(Clock.systemUTC());
					}
					else{
						Utils.printWithDate("No weather conditions received", Utils.DEBUGLEVEL.DEBUG);
						weatherCondition = "";
					}
				}
				else{
					Utils.printWithDate("Current weather condition: " + weatherCondition + " (lastUpdate " + diffInMinutes + " minutes ago)", Utils.DEBUGLEVEL.GENERAL);
				}
			}
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return weatherCondition;
	}