[V4] Zigbee2mqtt Integration

Hello everyone,
to continue with the MQTT momentum, with @VonOx, we have started working on the Zigbee2mqtt integration.

In order to cover as many cases as possible, I am calling on the community to find members already using this protocol.
@VonOx already allows me to validate part of the development, but his network is limited to Aqara sensors. I thank him, by the way, for his indispensable participation.

I am therefore looking for the possibility to test other types of devices, if possible devices with actuators (on/off
), not just sensors.

If you feel concerned, please contact me.

Otherwise, this integration will evolve over time, according to user feedback (which is not a bad thing either).

Thank you all.
See you later

I’m looking to equip myself with a zigbee2mqtt dongle. Any recommendations?

I’m going to create my own, the components are ordered and I will have them by mid-November. But I think I will also have sensors, temperature, humidity, opening detector, etc. And if it has a long range, I will also install this system for a garage under construction that is 30 meters from my house.

I followed the advice from the site Zigbee2MQTT

If you feel like tinkering.

I’m going to add a router to increase coverage

Hmm

Do you have a turnkey solution? :stuck_out_tongue:

https://www.ebay.fr/ulk/itm/123940224744

Let’s see how it goes, but the description already inspires confidence. Let’s see the seller’s reputation.

Hello everyone,

@AlexTrovato, I’m ready to help with the integration (dev and/or testing).
I set up a Rpi for this (gladys + mqtt broker + zigbee2mqtt with dongle).
I have an Ikea smart plug and its remote, an Osram plug, and Xiaomi sensors/buttons.
I can also contribute to Sonoff: I have an outdoor RGB spot flashed with Tasmota that I would like to integrate with Gladys


I also think that the mqtt documentation should be detailed a bit more as it is difficult to access. I admit that I know a little about it and I had trouble using it. I will be able to propose improvements when I master the subject a little more.

Thanks @Reno,
For the zigbee2mqtt part, I could only do the sensors, so the actuator part is still to be done.
Same for sonoff, only the switch is developed as an actuator, the RGB is to be developed.
I will contact you in PM to see if we can organize ourselves.

For the documentation, we are not literary geniuses, but precisely, your feedback and remarks are important. We can all participate :slight_smile:

Thanks! :slight_smile:
I’ll keep you posted if it’s a good deal :slight_smile:

@Jean34
Received without any issues yesterday :slight_smile:.

I just have to wait to test it, otherwise if anyone has a tutorial I’m interested :slight_smile:.

What information do you need @spenceur?

Check out the docs, they’re well done. PM me if you have any issues.

A simple tutorial that I follow blindly :stuck_out_tongue: (I pause my brain in the evening these days [too lazy to start coding again when I code all day :)])

Thanks, I’ll check it out this weekend :slight_smile:

Hello everyone, @Reno has completed the development on the Zigbee2mqtt service, he was able to test other sensors and actuators.
I also believe he is writing the documentation.

Are there other testers available on this protocol?

Thank you all.

Wait for the post-Black Friday deliveries, you’ll have more, Alex :grin:

I am indeed on the doc but it’s taking longer than expected


I’m trying to finalize this for this weekend.

Hello everyone, I received and configured my CC2531 key, nothing complicated, all my Xiaomi devices are recognized on a test Raspberry.

I am now eagerly awaiting the Gladys Zigbee2mqtt service to integrate all this.

Hello,

If it might interest some of you, I found this while searching for a ready-to-use Zigbee2mqtt key.
I haven’t tested it, but it seems to have good feedback :slight_smile:

@Reno I’ll reply to your message here!

It needs to be as plug-and-play as possible, working by default without the user having to understand what’s happening under the hood.

What I see:

  • When the user wants to configure the zigbee2mqtt service (and only at that moment), the service automatically launches the right containers, without the user having to enter or understand anything. An « advanced Â» tab can allow the experienced user to get their hands dirty if it’s really useful. If it’s not useful, there’s no need to display it. A small explanatory sentence about what’s happening might be useful, without drowning the beginner.
  • Be sure to check that it’s a Docker installation, otherwise fall back to the current solution.
  • You can use the dockerode library that we already use in Gladys 4 :slight_smile:
  • Be careful not to interfere with the MQTT service. In my opinion, given the weight of an MQTT container (it’s negligible), it would be better to launch an MQTT container dedicated to zigbee2mqtt, otherwise you might run into hard-to-understand flow problems for the user (example: I launch zigbee2mqtt, then I configure MQTT with an external MQTT to use Owntracks for example → zigbee2mqtt broken??). It would be cool if these two services were not dependent.
  • Be sure to delete the zigbee2mqtt + MQTT container if the user no longer wants to use the service.
  • Be sure to manage the different architectures: the images must be different depending on whether the user is on an ARM system (Rasp) or x86 (Synology, home server, or development machine).

What do you think?

I’m on the same page. :+1:
I can now create and launch the Zigbee2mqtt container via dockerode.

In the case of a non-Docker installation (I haven’t handled this case), it will therefore not be possible to use Zigbee2mqtt.

For the MQTT part, wouldn’t it be a good idea to modify this service to allow entering as many brokers as the user wants, via a + button?
In this case, Zigbee2mqtt could create its own in the list.

For the rest, it’s fine with me. I hope it will be functional for the release.

Well spotted, I think in this case we need to put a warning in the UI :slight_smile: There is a backend API that returns this I believe.

I don’t think so, it might confuse the user. After all, the end user doesn’t care what your service uses to communicate with Gladys, the only thing they want: is that it works all the time!

Can you create a clean PR on the Gladys repo? Given the size of your modifications, I wouldn’t be surprised if there are a lot of back and forth before the merge
 The sooner I can review the code, the sooner it saves you from having to do big refactoring :slight_smile: