when I have two brokers in my network, I can’t connect HA to both of them. I have to configure one as a bridge. But why it is so? As I know, it is possible with ioBroker. I’m just interested in this fact and would be happy if someone could explain it to me.
I cannot provide you with too many insights, but in software this typically is due to shared state and in this case, automatic naming conventions could play a role too.
TL;DR: Because it was built that way.
I’m not aware of any technical reasons why it shouldn’t be possible. You’d need a client per broker, but I know you cannot set up multiple instances of the MQTT integration, for example, to achieve that.
What I did want to add, is that if you have this need, you need to bridge the other brokers with your main broker. I personally have a setup like this and it works just fine (it’s a feature).
MQTT was designed by Andy Stanford-Clark and others as a low-bandwidth telemetry system for applications like oil and gas fields - lots of remote sensors, and one centralised control centre.
Hub/spoke, main/helper, controller/peripheral, not multi-brain.
Unless you’re running an entire city, there’s no real downside to linking multiple systems to one broker - my home parallel-ran HASS and openHAB with one Mosquitto MQTT broker for a long time. The sensors just publish their unique state topics to one broker, and clients only subscribe to things they want.
For MQTT, I’ve seen HASS automations publishing selected state changes to MQTT (and used them myself to exchange data from HASS to loggers, email, etc), but not seen a wholesale “MQTT router / repeater” as there’s no real need at typical home message volumes.