Here's the law: http://www.gesetze-im-internet.de/freiz_gg_eu_2004/__8.html
EU citizens in Germany have to carry a passport or equivalent.
..and no one has the right to demand explicitly passport if one is able to produce an equivalent and valid document e.g. national ID.
http://www.gesetze-im-internet.de/aufenthv/__3.html