I think the humanitarian reasons for allowing refugees in were far more great than any reason of cheap labour
Germany's decreasing population and need for cheap labour is a given. But even leaving that aside, then why not have a more coherent and stringent refugee policy? Why not turn away those from 'safe' countries?
Well there is an easy answer to that, and it's because the answer to that, and it's because the asylum system has been perverted beyond belief.
The asylum system was set up after WWII to protect persecuted groups like Jews, Gypsys, Homosexuals, Communists, the disabled. Because the Nazis chucked them all in concentration camps or gassed them and they weren't offered asylum. Asylum was supposed to be for persecuted groups. So in Syria the Yazidi, Christians, Shi'ite's in rebel areas, gays, people who actively work as opposition forces.
Now it doesn't matter who you are. As long as your country is at war. If the same laws had been applied in the 1940s it wouldn't just have been Jewish people we'd let in to save. We would have had Goebbels and Goering and Himmler and most of the general German Nazi population just turning up and saying 'You can't send me back, it's too dangerous' Then they probably would have won a very finely balanced war.
I really, really support an asylum system based on providing asylum for those who are in danger because their ethnic or religious group is in danger, or because they are in danger because their political views put them in danger.
But just because their country is currently at war? No. Especially because that generally means rich people fucking off to leave poor people to be killed in the resulting war.