I just discovered Gladys thanks to Korben and I am very interested in this great tool
I am looking to set up Gladys (docker) + zigbee2mqtt + Sonoff dongle
The machine hosting Gladys is out of range of the Zigbee signal so the dongle must be on another machine
So I have, within the range of the Zigbee network, a Raspberry Pi with the dongle, zigbee2mqtt and the MQTT bus
(for the bus, that could be moved if needed)
I managed this setup with Jeedom without any particular problem by giving their zigbee2mqtt integration the address of the MQTT broker
Here, I’m stuck…
From what I understood, the MQTT integration is irrelevant, it’s just a form of API to Gladys, so via messages formatted for Gladys (topic gladys)
The zigbee2mqtt integration requires a dongle and wants to install everything
What I think I need is a kind of bridge between the zigbee2mqtt topic (/zigbee2mqtt) and the Gladys topic (/gladys) that does some translation in each direction, and I imagine that is part of the zigbee2mqtt integration
I’ve thought of several solutions such as:
writing this transcoder myself, perhaps based on Node-RED or Node.js,
plugging the dongle in to manage to install the zigbee2mqtt integration then patching the configuration inside to change the MQTT (not ideal)
First of all welcome to the club!!
I’ll try to answer you:
In order to see Zigbee devices and integrate them, Gladys must have the Zigbee2Mqtt container started and a Sonoff-type USB stick plugged into a USB port of the machine, and to manage them the MQTT container must be started.
In fact, it’s the syntax of the published/subscribed messages that is specific to Gladys — it’s still MQTT (you can, at the limit, see Gladys as an MQTT device that exposes readable and writable properties like any other MQTT device, except that Gladys is the intelligence of the network, a bit of an orchestrator; it simply also offers to manage the deployments of the MQTT and Zigbee2Mqtt Docker containers and to automatically integrate devices — which really simplifies things, no!)
That is only if you want to integrate into Gladys a device not already integrated in Gladys; indeed you can do it via Node-RED (Node.js if you have the skills… you can join the dev team ), the Node-RED Docker container is also deployed and managed by Gladys.
But otherwise, placing a Zigbee2Mqtt Sonoff-type USB stick on your machine is the simplest solution; for range you just need to place a device that helps complete the mesh between your stick and the rest of the devices!
And thanks for your message, it’s nice to know where you discovered Gladys Assistant
Regarding Zigbee2MQTT, I believe it’s possible to configure it to use a remote instance. To be confirmed and not officially supported, but I think you can set this up (or at least try):
configure the remote instance
start the local service via Gladys Assistant (connect your Zigbee adapter just the first time so the container doesn’t crash)
stop the zigbee container, modify the configuration to use the remote Zigbee2MQTT (source)
restart the container
Otherwise, if it’s not geographically too far, you can use Zigbee2MQTT repeaters or any equipment like a plug that will act as a relay).
Finally, you can also make a « Feature Request » so that everyone can vote, and allow prioritizing the development of this feature (remote Zigbee2MQTT).
Thanks @pierre-gilles for adding this feature
I had abandoned Gladys because of that, but I just restarted a Docker image to see how it would behave and… it works pretty well!
In a few clicks, I hooked up my existing zigbee2mqtt and created a