this one also worked.

if("diameter_valve" is NULL,aggregate(
 layer:= 'waterpipe_pipe',
 aggregate:='concatenate',
 expression:=to_string("diameter"),
 concatenator:=', ',
 filter:= intersects($geometry,buffer( geometry(@parent),0.0005)
 )),"diameter_valve")