Legrand Self-e batteryless switches (ZLGP1X)

Hi,

Does anyone know if the new Legrand Self-e switches (ZGP certified) are compatible with the Conbee 2 ?

I’m trying to pair two of them (on/off switch ZLGP17 and 2-gang on/off switch ZLGP18) in the Phoscon app, but nothing happens.

Is there a way to choose a Zigbee channel for adding the device and do the adding like this steps?:
https://www.phoscon.de/en/support#pairing-friends-of-hue-switch

Yes, there is a way to choose the Zigbee channel (user manual), and the default Zigbee channel is 11, same as my actual conbee installation.

But the swtich don’t appears as FoH switch? Or maybe in the API at Phoscon App > Menu > Help > API information? Can you see a modul name like PTM … at the device?

The switch isn’t even detected by the conbee when in permit join mode. I also have tested with 2 FoH switches, and they are successfully paired.

As for the API information, I’m using the 2.11.05 stable version of the deCONZ REST plugin (installed in Home Assistant with the deCONZ 6.9.0 add-on), so I don’t have this information available.

Do you think I have to switch (somehow) to the 2.12.1 beta branch ?

2021-07-07-17-51-13 Google Chrome deCONZ - Home Assistant

Hello, I think no.
There is the classic switch for exemple the 067723, but not the Self-e version, with the ref 067723L (if I m right)

So :

  • I don’t think this device is supported yet by deconz
  • IDK how will work the ZGP with it, it s something new.

I can add a new Legrand device in 2/3 days generaly, there are good device, but I have never do that for a ZGP device.
If you have a linux machine to test code modification pls try that Request Device Support · dresden-elektronik/deconz-rest-plugin Wiki · GitHub

You can access the Phoscon App Beta with the API feature at this way.

1 Like

Ha yes, it s the last Legrand switch without battery ^^, realy nice stuff.
I think it will be the first device without powering at all on deconz.

Tell me if you need help to make the device request support (need to make capture with the app)

What about the FoH switches ? :wink:

Well, the device request support is absolutely the next step, but only after I found a way to add the switch to my Zigbee network. Like I said, nothing happens when I put the Conbee in permit join mode and follow the association steps from the user manual. So, no new device in the deCONZ app (= no screenshot possible), and no new device on the API information (thanks @ich for the link).

That’s my main issue right now: I can add FoH ZGP certified batteryless switches, but not Legrand ZGP certified batteryless switches (which are not EnOcean PTM215Z/PTM216Z based). I’m sure I’m missing something, but what?

Legrand states that their “with Netatmo” devices are only supposed to work with the Legrand “Control” hub, but you can already find many of these battery-powered devices integrations in the major zigbee coordinators/home automation platforms, so I was hoping the same goes for the Legrand ZGP switches…

What about the FoH switches ?

Not all FOH are without battery.

but only after I found a way to add the switch to my Zigbee network. Like I said, nothing happens when I put the Conbee in permit join mode and follow the association steps from the user manual

Ha yes, it s a problem, have you tried the classic netatmo method ?

  • set phoscon in permit join
  • long press on reset(configuration, here) button (10s )
  • short press

But first time I m seing this device.

There is nothing on log ? You need to see at least the device announce.

Legrand states that their “with Netatmo” devices are only supposed to work with the Legrand “Control” hub, but you can already find many of these battery-powered devices integrations in the major zigbee coordinators/home automation platforms, so I was hoping the same goes for the Legrand ZGP switches

Not realy, we have already speak with someone from Netatmo, they know what we are doing, and they are agree with that, they want their devices will be the more zigbee compliant possible for compatibility with other gateway, and if all is good, they will soon publish their firmware for OTA update.

Oh, I didn’t know that. All the models I know are batteryless. The French website of Philips Hue certainly misled me (“The FoH switches work via kinetic energy”), a bad translation from the English website: “Some of the […]”.

Anyway, the Legrand switch still isn’t the first batteryless device on deconz :wink:

I’ll try in a moment, but I don’t have high hopes on that one: there is no active circuit to listen to the configuration button by itself (unlike a battery powered device), only the front switch is kinetic powered. You can see in the user manual I linked above how the configuration button is handled.

Because they don’t mind if someone use their devices without the Control hub doesn’t mean they advertise it this way :wink: As for now, the Legrand with Netatmo website is all about Home+Control, no mention of any other hub or integration. The same goes for the documentation put in Self-e switch packages.

The “zigbee” user manual can only be found on the professional-oriented “legrandoc” website, and that what makes me believe those Self-e switches are maybe manageables outside the Home+Control ecosystem.

But, as I’m a rookie in the ConBee world, I don’t know how to check if the coordinator receives any data from the switch when in permit join mode. What kind of logs are you talking about ? In the deCONZ app ?

Nop, still not working :frowning_face_with_open_mouth:

Friend of hue, just mean certified to work with Hue bridge, ATM lot of switchs are using kinetic energy, but was not same 2 years ago.

I’ll try in a moment, but I don’t have high hopes on that one: there is no active circuit to listen to the configuration button by itself (unlike a battery powered device), only the front switch is kinetic powered. You can see in the user manual I linked above how the configuration button is handled

You are right, sorry I have never tried this kind of device, need to search for documentation. But will be problematic if you never see the device on deconz log …

Because they don’t mind if someone use their devices without the Control hub doesn’t mean they advertise it this way

It’s normal, they don’t want to make support for that, if they said “work with deconz”, and if the device don’t work, they have a responsability part. And more work for them, because they need to test all device with deconz too for exemple.

What kind of logs are you talking about ? In the deCONZ app ?

Yep, on deconz / help/ debug view with “info”, “info_l2” and “ZGP”, just enable it, cross finger, and make all manipulation you can with the device.

I will check on my side how work “kinetic switch” on zigbee network this WE too.

Edit:
So I have found the code part that manage ZGP device, and yes, there is a whitelist, but to add your device I need some values, I hope for they are visible in log, because I don’t think they are visible on deconz application.

    // Illumra Dual Rocker Switch PTM215ZE
    if (gpdDeviceId == deCONZ::GpDeviceIdOnOffSwitch && options.byte == 0x81 && ind.payload().size() == 27 && (ind.gpdSrcId() & 0x01500000) == 0x01500000)
    {
        sensorNode.setModelId("FOHSWITCH");
        sensorNode.setManufacturer("PhilipsFoH");
        sensorNode.setSwVersion("PTM215ZE");
    }
    else if (gpdDeviceId == deCONZ::GpDeviceIdOnOffSwitch && options.byte == 0x81)
    {
        sensorNode.setModelId("ZGPSWITCH");
        sensorNode.setManufacturer("Philips");
        sensorNode.setSwVersion("1.0");
    }
    else if (gpdDeviceId == deCONZ::GpDeviceIdOnOffSwitch && options.byte == 0xc5 && ind.payload().size() == 46)
    {
        sensorNode.setModelId("FOHSWITCH");
        sensorNode.setManufacturer("PhilipsFoH");
        sensorNode.setSwVersion("1.0");
    }

Sorry, I didn’t even know there was a debug view… :man_facepalming: Thanks!

Seems like the device was actually added to the coordinator!

For the 1 button switch (0 677 23L or ZLGP17) :

  • 1 short push-up: ZGP srcId: 0x00518FCE cmd: 0x22
  • 1 short push-down: ZGP srcId: 0x00518FCE cmd: 0x22
  • 1 long push-up: ZGP srcId: 0x00518FCE cmd: 0x22
  • 1 long push-down: ZGP srcId: 0x00518FCE cmd: 0x22
  • 2 short push-up: ZGP srcId: 0x00518FCE cmd: 0x20
  • 2 short push-down: ZGP srcId: 0x00518FCE cmd: 0x20

For the 2 buttons switch (0 677 24L or ZLGP18):

  • First button 1 short push-up: ZGP srcId: 0x0052051A cmd: 0x22
  • First button 1 short push-down: ZGP srcId: 0x0052051A cmd: 0x22
  • First button 1 long push-up: ZGP srcId: 0x0052051A cmd: 0x22
  • First button 1 long push-down: ZGP srcId: 0x0052051A cmd: 0x22
  • First button 2 short push-up: ZGP srcId: 0x0052051A cmd: 0x20
  • First button 2 short push-down: ZGP srcId: 0x0052051A cmd: 0x20
  • Second button 1 short push-up: ZGP srcId: 0x0052051B cmd: 0x22
  • Second button 1 short push-down: ZGP srcId: 0x0052051B cmd: 0x22
  • Second button 1 long push-up: ZGP srcId: 0x0052051B cmd: 0x22
  • Second button 1 long push-down: ZGP srcId: 0x0052051B cmd: 0x22
  • Second button 2 short push-up: ZGP srcId: 0x0052051B cmd: 0x20
  • Second button 2 short push-down: ZGP srcId: 0x0052051B cmd: 0x20

For both:

  • Join: ZGP srcId: ... cmd: 0xE0
  • Leave: ZGP srcId: ... cmd: 0xE1 (tagged as unhandled)

And no error with “unsupported green power device” ?

If you have no more I will add a debug line in code because to add it I need during the “association” phase a realy longer payload.

0xE0 is fine it’s the pairing command, deconz look for the same (good start ^^)
But to work, the code need you use in same time “add new switch”, and if I m right you will have the message “unsupported green power device”

The problem is to reconize it I need a big payload, and it s not displayed in log by the API, so if you have no more data on your side (disaplayed in log by deconz core) I need to add a debug line in API code to display missing data.

But yes, I think it s something possible.

All the logs I got are from the devices already joined on my zigbee network.

How can I remove the devices from the Conbee to retry a permit join (and watch the logs) if the devices are not shown on the deCONZ or Phoscon apps ? Do I have to factory reset the Conbee ? Or is there a terminal command I can use with the srcId of the device ?

When I’ll retry the permit join process, do you only need INFO, INFO_L2, and ZGP debug levels ?

How can I remove the devices from the Conbee to retry a permit join (and watch the logs) if the devices are not shown on the deCONZ or Phoscon apps ?

You don’t need to remove it, just re add it, the “association” on the manuel, it s exaclty like you have do to have the value 0xE0, but even for ZGP, the code block all new devices is you are not in permit join “add new sensors”

Do I have to factory reset the Conbee ?

Not realy, you can delete the database, but why do you want to do that ?

When I’ll retry the permit join process, do you only need INFO, INFO_L2, and ZGP debug levels ?

Arf, you are right, informations I need can be on “aps” and 'aps_l2", I don’t think “ZCL”
But don’t worry, if you can’t have better logs, I will add some line to code, will be easier for me, data will be less raw than the one you can get using logs from core ^^. I can have full control on the API, but I realy don’t know what happen on deconz core.

BTW have you a linux machine to test code modifications ?

I had many (verbose) sensors in my zigbee network.

Anyway, I performed a factory reset, to focus on the Legrand switches.

When I try to add the switch in permit join mode (with INFO, INFO_L2, APS, APS_L2, and ZGP levels enabled):

As you said, not really useful.

My current setup: Orange Pi Plus 2E (armv7l) with Armbian 21.05.6 (Debian Buster), Home Assistant (Supervised) and deCONZ addon. Not a “real” linux machine. If needed, the closest x86-64 I can provide for now is a Debian/Ubuntu docker container or VM on a powerful laptop (Windows host). If you really need a Linux host, I also have a few Intel i3/i5 desktops on hand.

The problem is code can only be compiled on linux machine.
Have modified the code to display more information, the newt time you will do the same thing we will have in log (enabled with “ZGP”)

    // display some information
    DBG_Printf(DBG_ZGP, "Device commissioning : options.byte 0x%02X , extOptions.byte 0x%02X , gpdsrcid %u , command 0x%02X , Payload %s\n", options.byte, extOptions.byte, ind.gpdSrcId(), gpdDeviceId, qPrintable(ind.payload().toHex()));

I think I will not need more, to compile the code to test , you have the procedure here GitHub - dresden-elektronik/deconz-rest-plugin: deCONZ REST-API plugin to control ZigBee devices
So for you, after having installed deconz :

sudo apt install deconz-dev
git clone --branch legrand_kinetic https://github.com/Smanar/deconz-rest-plugin.git
cd deconz-rest-plugin
qmake && make -j2
sudo cp ../libde_rest_plugin.so /usr/share/deCONZ/plugins

I don’t know for Orange host, but the compilation is realy CPU intensive, if you know how to install deconz on a VM, I think it will be better (this procedure works on VM) than using your production machine.

I got an error on the make step:

firmware_update.cpp: In member function ‘void DeRestPluginPrivate::checkFirmwareDevices()’:
firmware_update.cpp:548:73: error: ‘instance’ is not a member of ‘deCONZ::DeviceEnumerator’
  548 |     deCONZ::DeviceEnumerator *devEnumerator = deCONZ::DeviceEnumerator::instance();
      |                                                                         ^~~~~~~~
make[1]: *** [Makefile.Release:968: release/firmware_update.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/frederic/deconz-rest-plugin'
make: *** [Makefile:42: release] Error 2