Post-doc Salary in Germany
Postdoc salary (like for any non-tenured academic position) in Germany is fairly rigidly structured. The salary is always according to the federal wage agreement ("Tarifvertrag der Länder", TV-L) and is determined by
pay scale ("Entgeltgruppe"), which depends on the position, in particular, the responsibilities that are officially attached to it. (Basically, no formal responsibility means TV-L E13; responsibility for crucial infrastructure, e.g., running a big device or doing a specific analysis for all the group, means TV-L E14, and being head of a sizeable group means TV-L E15)
pay grade ("Stufe"), which depends on how many years you've had this job (think automatic promotion); you start at Stufe 1, after 1 year you move to Stufe 2, after 2 more years it's Stufe 3 and so on.
percentage of working week ("Wochenarbeitszeit"), which is just what it sounds like. (A full working week is about 40 hours.)
federal state ("Tarifgebiet") of the institution, because the former Western states have a different agreement than the former Eastern states. (Eastern states have lower salary, because the cost of living is (assumed to be) lower.)
Only the second point actually depends on the applicant, the rest is tied to the position and needs to be fixed before it is even announced (e.g., as a 75% TV-L E13 position) and is therefore non-negotiable. The second point is somewhat negotiable by trying to get them to recognize previous postdoc positions with similar responsibility as time on the job (although that is an administrative matter, and the possible influence of the academic staff on the administration varies wildly...)
Which pay scale and in particular percentage is reasonable is very discipline-specific. If it's a full-time position with no responsibilities (such as running critical experiments for everyone else), it seems not bad because Stufe 4 is actually comparatively high (E13 only has five grades).
If you want to get gross and net salaries from pay scale, grade and percentage, you can look it up at http://oeffentlicher-dienst.info (in German, this answer might help navigating the site).
From my experience working 4 years in Germany, I can tell you that you got a reasonable deal. I don't know about those 2900, but at least in the Hamburg region that would be around 2500 Euros net.
You can check the values of 2015 (and beginning of 2016) here.
The TV13 is the standard position for researchers (Wissenschaftlicher Mitarbeiter), which is basically the same as the PhD students, but a higher "Stufe" because of your years of experience. If you manage to get some special responsibility or lead a small group of students ("group leader"), it could be possible to upgrade it to TV14, but that depends on your group leader.