[Z2M] Tests on zigbee2mqtt 1.42.0 > 2.1.3 >..> 2.4.0 >..> 2.6.1

Hello everyone,
since today I upgraded to z2m 2.1.3 on my external docker (last week’s release Releases · Koenkk/zigbee2mqtt · GitHub).
Of course I made a backup of my original data directory from 1.42.0 beforehand (the basics :wink: )

So with just changing the image to koenkk/zigbee2mqtt:2.1.3 (without anything else modified), we have an upgrade with quite a few new files:

I then looked in Gladys’s z2m integration and I ended up with 2 devices (NOUS A1Z plug) where an update is requested.


The child lock is missing (which I still have because it wasn’t updated):

It seems that the child_lock has changed:

child_lock on/off values have been changed from true/false to LOCK/UNLOCK

{"child_lock":"UNLOCK","countdown":0,"current":0,"energy":68.2,"indicator_mode":"off/on","last_seen":"2025-03-10T18:22:28+01:00","linkquality":196,"power":0,"power_outage_memory":"restore","state":"ON","update":{"installed_version":192,"latest_version":192,"state":"idle"},"voltage":226}

For now I haven’t clicked on the update and the commands on the dashboard continue to work:

So far everything is OK, I haven’t noticed any significant difference.

Then I added to the configuration.yaml file the few recommended lines (just in case):


No notable change after restarting the docker.

For my various Zigbee devices, I didn’t see any other issues:

SONOFF SNZB-02D / ZBMINI
NodOn SIN-4-1-21 / SIN-4-2-20 / SIN-4-1-20
Nous A1Z
Aqara DJT11LM / JY-GZ-01AQ
IKEA E2013 / E2213
HEIMAN HS1CA-E
Tuya RB-SRAIN01

That’s all from me for these initial tests, I’ll come back if I see other things, and if others want/can test, you can add to this post :blush:

5 Likes

Great, thanks for your test @mutmut !

Regarding the child_lock, it should normally still work (in fact that’s the case for you), because Gladys dynamically uses a value provided by Zigbee2mqtt (expose.value_on)

It’s strange, though, that it’s no longer displayed in the available features :thinking:

Some news about version 2.1.3
No issues reported so far, everything has been working correctly since my upgrade from 1.42.0 to 2.1.3

Test with Z2M 2.2.1
I had an IKEA contact sensor that indicated it was open when it was closed. The data was passing correctly because Z2M saw when I opened and closed my door but did not reflect the correct state (EDIT: it was the batteries that were almost empty…)
I checked GitHub and saw there was a new version of Z2M so I tested it :wink: :

  • stopped the z2m docker
  • backed up the data dir
  • modified the docker-compose and restarted

On the Z2M side, everything is ok.
On the Gladys side, I still have my two NOUS plugs that require an update and that still don’t show the child lock (so I’m not updating these two devices for now).

I’m now monitoring developments in Gladys; to be continued.

2 Likes

Hello,

I tried the adventure, straight to 2.3.0. I don’t have much hardware (a few IKEA lamps and buttons, Sonoff and Aqara sensors) and no problems

My quick and dirty procedure to switch to a Zigbee2MQTT not managed by Gladys:

On arrête le service zigbee dans la conf Gladys

On se met dans un répertoire qui va accueillir les données et le docker-compose :

On crée le fichier compose (à adapter, chez moi le dongle est /dev/ttyUSB0) :

docker-compose.yml

services:
  zigbee2mqtt:
    container_name: zigbee2mqtt
    image: ghcr.io/koenkk/zigbee2mqtt
    restart: unless-stopped
    volumes:
      - ./z2m:/app/data
      - /run/udev:/run/udev:ro
    ports:
      # Frontend port
      - 8080:8080
    environment:
      - TZ=Europe/Paris
    devices:
      # A adapter en fonction de votre dongle
      - /dev/ttyUSB0:/dev/ttyACM0
  mqtt:
    image: eclipse-mosquitto
    ports:
      - 1884:1883
    volumes:
      - ./mqtt:/mosquitto/config

We copy the data files of the zigbee2mqtt managed by Gladys into the current directory:

cp -r /var/lib/gladysassistant/zigbee2mqtt/* ./

We reconfigure. Since I use Docker Compose’s default isolated network, I reset the MQTT port to the default.

You also need to add the USB adapter type in the z2m config starting from v2.0.0. Mine is zstack.


sed -i 's/mqtt:\\/\\/localhost:1884/mqtt:\\/\\/mqtt/g' z2m/configuration.yaml
sed -i 's/serial:/\u0026\\n  adapter: zstack/' z2m/configuration.yaml

sed -i 's/listener 1884/listener 1883/'  mqtt/mosquitto.conf

We start

docker-compose up -d

To check that everything is OK, check the logs: docker logs zigbee2mqtt

You can now finish the zigbee2mqtt config in Gladys. Choose « Connect to an existing installation », the MQTT config should already be OK (we retrieved the MQTT password by copying the config), it should start working by itself.

3 Likes

I’ve also just upgraded directly to 2.3.0 without any problems so far.

I haven’t upgraded to 2.4.0 in view of the various reported bugs:

I’ll keep you informed if I have any specific problems

2 Likes

Thanks for your feedback @Florian and @prohand, I’m updating the thread title to show where we stand.

1 Like

Hello,

Updated to 2.4.0, no issues.

For info, the two bugs mentioned by @prohand: the first doesn’t concern the official Docker (a shady story about an npm dependency on the guy’s PC) and the second is a change in the version display in the OTA tab (a bit confusing but not a bug)

I also switched z2m’s frontend to the new one. It doesn’t really concern Gladys, and it works (English only for now, and the Graphviz map isn’t user-friendly)

Of course, I’ll let you know if I find any bugs.

PS: there have been quite a few small changes/fixes on lots of Zigbee devices since 1.42.x; on my gear, nothing crazy, but things to « update » on the Gladys side (a battery measurement here, something that was useless removed there)

4 Likes

thanks @Florian for your feedback!

[quote=« Florian, post:7, topic:9421 »]
but things to « update » on the Gladys side (a battery measurement here, something that served no purpose removed

Yes,
Anyway, it’s kind of always the case with z2m and all the hardware in the catalog.
And the more « delay » we accumulate, the more there will be.

If others want to beta test in any case, I think the integration between z2m 2.x and gladys is still OK and that it’s « safe » to go ahead (after making backups :wink:)

Hi everyone :slight_smile:

Indeed, I think we’ll be able to move to 2.x!

I made a PR that simply updates

From what I’ve read, it seems to be mainly related to HA (Home Assistant).

Then I don’t know how Gladys handles z2m (zigbee2mqtt) information sent to MQTT.
I saw in this article that it was better to use triggers and that it was better for an upgrade (for switches apparently). Likewise, it seems to be related to HA (Home Assistant).

Then there are these update requests that remove features like child_lock. Admittedly I modify it via z2m (zigbee2mqtt) and not Gladys if needed, but it would be better to be able to do everything via Gladys for non-geek users (that’s my opinion).
In any case I haven’t updated my NOUS plugs and they still work very well and I still have the option available to use them on the dashboard or in scenes.

Are you planning an automatic backup of the config just in case?

Hello, for me, it works without them.
However, you absolutely must configure the adapter, because zstack is no longer the default:

serial:
  adapter: zstack

Yes, we’ll have to change the « NONE » and switch to zstack, I think:

![Screenshot 2025-06-09 at 14.19.18|408x500](upload://wAEu

I had looked at switching the ezsp driver to ember.
The update itself is easy. But doing it automatically while checking the dongle’s firmware added complexity.

If it’s necessary to add the zstack driver to update the configuration before 2.4.0, I can. But does the current version (1.42.0) already support that?

What do you mean? At this point, we can’t do much — it’s Zigbee2mqtt’s job; we have no knowledge of what it’s doing!

And managing multiple major versions of Zigbee2mqtt is very complex for little benefit :slight_smile:

I’m running tests on my side; I can’t understand why the child_locks are gone, nothing has changed…

Screenshot in Zigbee2mqtt 1.42.0 :

Screenshot in Zigbee2mqtt 2.4.0 :

Ok, that’s another topic, let’s keep that for another thread :wink:

Ok I understand, the GET for discovered device changed from :

To this:

nothing :joy:
Joking aside, I’m in tinkering mode so it’s mostly a big copy/paste of the current repo. But reverting is more complex, I agree.

I hadn’t checked before/after, I’ll admit, and indeed the 2 child_lock are present in z2m but not in Gladys.




The prise_03 was added when my z2m was already on 2.x (without the Sécurité enfant in Gladys) whereas the prise_congélateur (prise_01) dates from 1.4.2 (and I haven’t updated it in Gladys)

If you need more info, I can check the two prises in more detail (with your help).

OK, it’s fixed for the child_lock :slight_smile: (the commit: Zigbee2mqtt: Upgrade to 2.4.0 by Pierre-Gilles · Pull Request #2334 · GladysAssistant/Gladys · GitHub

I’ve just placed an order for a Sonoff ZBDongle-P dongle to run migration tests from « nothing » to « zstack » in the setup :slight_smile:

More tests on Thursday!

4 Likes