The only way to do this is to make two geom_bar layers, one with blue, but without legend, and one without blue, but with legend:
ggplot(temp,aes(type, value)) + geom_bar(stat="identity", aes(group=var, fill=type, facets=var),color = "blue1", position="identity",legend = "none") + geom_bar(stat="identity", aes(group=var, fill=type, facets=var), position="identity") + facet_grid(.~var) + theme_bw()

I doubt a little that the reason for this is not simpler, because the author of the package, as a design solution, wants the legends to match what is on the layer exactly. In most cases, you are probably very pleased with this behavior, but accidentally awkward comes with great convenience.
joran source share