Check the contacts on the horn devices themselves. BMW had designed them to be installed in such a way that water and salt pools inside the cups of the connectors, encouraging corrosion. You will first need to remove the kidney grille (2 or 3 screws).