Its me again! It was a combination of two problems:
1. matrix = matrix * animator->getMatrix(time, mBone.parentBone);
This has to be parent * matrix and not matrix * parent since i first want to transform by my local matrix and then apply the parents transformation!
2. The rotation values were wrong. I had to conjugate the quaternion with the rotation.
Now it all works fine.