German President Joachim Gauck has blasted a "dark Germany" behind a series of xenophobic attacks on refugee shelters after two fresh assaults were reported in the east of the country.
Visiting a shelter in Berlin, Gauck said the expected arrival of up to 800,000 asylum-seekers this year – four times last year's total – was bringing out the best and worst in Germans.
The president, who serves a largely ceremonial role, praised the many "volunteers who want to show that there is a Germany in the light, a shining contrast to the dark Germany we witness when we hear about attacks on refugee centres or even xenophobic acts against people".
His comments came hours before Chancellor Angela Merkel was due to visit a centre for asylum-seekers that was hit by violent far-right protests, and after reports of new attacks on shelters overnight.
A man was seen hurling a Molotov cocktail into a refugee home in the eastern city of Leipzig which was due to house 56 asylum-seekers from Wednesday (local time), police said.
Only a mattress was burned as a witness was able to raise the alarm swiftly.
Meanwhile in the town of Parchim, also in eastern Germany, police arrested two men who had charged into a refugee shelter wielding a knife.
Several residents, who were outside when the incident took place, alerted the police after noticing that one of the two suspects was holding a 20.5cm knife.
Both were shouting anti-migrant slogans. Police ran blood tests on them for alcohol levels.
German authorities have been alarmed by a wave of attacks targeting refugee centres, with more than 200 incidents reported this year.
The town of Heidenau, near Dresden in eastern Germany, was the scene of violent protests over the weekend against the opening of a new centre for refugees.
Merkel will travel to the centre to meet with refugees, volunteers and security staff later on Wednesday.
She slammed the protests as "vile" on Monday, reserving her strong words not just for neo-Nazis but also families with children who joined the anti-migrant demonstrations, calling such support for the protests "shameful".
Gauck said most Germans had proved "open to and ready to help" the newcomers fleeing war and poverty and that their welcome should not be destroyed by "rabble-rousers and arsonists".
The German government had earmarked an additional €500 million for towns and cities to house, feed and care for refugees, bringing the total to €1 billion.