BRDF sampling and evaluation of diffuse vs specular component
So I found a solution on a shader toy.

I choose randomly from sampling diffuse or sampling specular with distribution 50:50. But I calculate PDF of both and average then. If you want to use a different proportion between sample function you just have to make sure that PDFs are combined with the same proportion as choose.