The MQTT integration becomes "MQTT Virtual Devices"

Hi everyone :slightly_smiling_face:

I feel this is a topic that comes up often, especially among users coming from Home Assistant: the MQTT integration is sometimes misunderstood.

In Home Assistant, all devices whose data goes through an MQTT broker (Zigbee2MQTT, ZwaveJS, etc.) are generally grouped in the MQTT integration.

In Gladys, the paradigm is different: we operate with integrations per technology.

We clearly distinguish Zigbee, Z-Wave, Nuki, etc., even if internally these integrations may use MQTT.

To avoid this confusion, I therefore decided to rename the integration “MQTT” to “MQTT Virtual Devices”.

The idea is to make it clearer that this integration is meant to create custom devices via MQTT, and not to manage all equipment using MQTT in the background.

Here is how it looks in French and English :backhand_index_pointing_down:

The PR :

6 Likes

Indeed, that seems much clearer to me this way :slight_smile:

1 Like

Hi @pierre-gilles,

I’m sorry, but in this case, for me, it’s far from clearer — and let me explain.

My basic MQTT devices are full-fledged devices: even though they’re customizable, they are still built as real devices. However, Gladys « forces Â» us to go through the MQTT integration to design fictitious devices used only internally. This is something I’ve been saying for a long time: it’s not a normal way to operate in my view. We end up polluting our MQTT brokers with publications that have no reason to exist.

And in my case, the MQTT topics are already heavily used and resource-hungry. Adding « virtual Â» topics on top generates additional reads/writes that can cause excessive loads, even malfunctions, for no reason.

Renaming the integration to « MQTT Virtual Devices Â» doesn’t solve this underlying problem. What I would have preferred is a new integration dedicated to virtual devices, completely decoupled from MQTT. Virtual devices don’t need to transit through a broker: they could be managed directly internally by Gladys, without any MQTT publication. That would keep the broker clean and reserved for real exchanges with real devices.

I also rely on this reality:
The principle of separation of responsibilities (separation of concerns) is fundamental in software architecture. An MQTT broker is intended to route messages between real systems — sensors, actuators, gateways. Routing purely internal Gladys states through it is effectively misusing the tool’s primary function. If you already have a loaded broker (many Zigbee2MQTT devices, sensors that publish frequently, etc.), each additional « virtual Â» topic adds noise and load, even if individually it’s light.

2 Likes

Hi @Terdious :slightly_smiling_face:

Thank you for taking the time to detail your point of view. I understand your position.

From my side, the change we’re discussing here is deliberately limited to a rename, with a fairly pragmatic goal: to reduce confusion for new users (notably those coming from Home Assistant), who don’t always understand the role of this integration today.

If you’re up for it, we can open a dedicated thread to discuss your concerns in more depth and see what alternatives might be possible on the Gladys side.

Thanks again for your feedback :folded_hands:

1 Like

The modification is live in Gladys Assistant 4.72:

1 Like