Legrand Shutter switch up/down inverted with ZHA

I have a Legrand Shutter switch with Neutral (Legrand Valena Life model 752190) which I think is similar or same as Céliane 067726 controlling a shade. I have previously tested this with Conbee II / deCONZ on an older version of Home Assistant, and now I have finally paried it with the “production” set up using ZHA (HW and version details at the end). It works but the controls are inverted. While it is open, it thinks it is “closed” and the “open” button is disabled (up arrow) and vice versa. I can still control it if I click “stop” (it temporarily allows all buttons) and then click the “open” button right away and it opens.

Now, there is an “Inverted” option in device config but whenever I toggle this, it reverts back 2 or 3 seconds later. Is there any other way to actually make the controls inverted?

More configuration details:

  • Home Assistant container, Core 2025.6.3, Frontend 20250531.4
  • ZHA
  • SMLIGHT SLZB-07 (EZSP) USB stick (Firmware: 7.3.0.0 build 131)
  • Legrand Valena Life 752190 - ZHA doesn’t report firmware, but the old HASS install with deCONZ still shows firmware 001a for this device; I believe it is fairly old as I had to switch zigbee channel to 11 for it to pair, which I didn’t have to do for the Legrand Dimmer Switch

Any guidance appreciated! :slight_smile:

I have the same problem. I have nine “Shutter SW with Legrand level control” devices (BTicino MatixGo JG4027C) in my house, only one of the nine works properly, while the others work inverted.

In my case, the issue is the same as yours: all the physical switches work correctly, but in Home Assistant they are reversed. In my specific case, only one works correctly, which seems very strange to me. The Shutter switch that works correctly is the first switch I added to Home Assistant.

I want to investigate the problem. As soon as I have some free time, I will try to understand the difference between the switch that works correctly and the others.

I tried enabling “Reversed,” but after a few seconds it reverts back. I also tried enabling “Reversed” by editing the YML configuration in developer mode, but it didn’t work.

My next goal is to answer the question: why does only one work correctly?

My configuration:

  • Home Assistant OS, Core 2025.10.4, Supervisor 2025.10.0, Operating System 16.2, Frontend 20251001.4
  • ZHA
  • SMLIGHT SLZB: SLZB-06M POE Z2M/ZHA - Firmware version: 20250220 v3.0.8
  • 9 x Shutter SW with level control da Legrand BTicino MatixGo JG4027C

One of switch:

I found a configuration error. All the switches are mounted upside down except for the one that works correctly. I managed to flip two of them over and connect the cables as per the instructions. I had to remove the devices from Home Assistant and add them again. Yay! Now, two switches are not reversed, I’ll have to fix all the others. I think the electrician didn’t do a very good job mounting them upside down.

In the two I fixed, the opening percentage still doesn’t work, but in the first one I configured, the partial opening works correctly. I can’t figure out why.

  1. When it’s not calibrated correctly, it stays in this state, with the green LED flashing.

    1. No comment!
    1. for dummies…
  2. Not work, needs a reset

  3. reset button

  4. Ready for pair

This in interessanting BTicino K4027C/L4027C/N4027C/NT4027C control via MQTT | Zigbee2MQTT

I have found this comment Legrand - No stop button on Roller shutter - #33 by Lomar . As soon as I have some free time, I’ll try it out and let you know.

I’ve finally set up all my roller shutters correctly. I’ve configured nine of them. I don’t have a detailed step-by-step guide because I haven’t fully figured out how this device works yet, but I do have a rough guide to share.

Before setting up in Home Assistant

Mount the devices in the correct orientation (the “inverted” option isn’t supported for this device because it has a mandatory orientation)

The first step is complete. :+1:

Setup (follow these steps in the exact order)

If the device happens to lose power or shut down, you'll need to return to this step.

  1. Close the roller shutter
  2. Press and hold the reset/setup button for 10 seconds, and release it only when the device flashes red (the device will be reset to factory settings).
  3. Open Home Assistant and select “Add device” from your Zigbee service. I use the default ZHA (Zigbee Home Automation) service, but several others are available.
  4. On the device, quickly press and release the reset/configuration button: the device will flash green. If this does not happen, it means you pressed and released it too quickly. Wait for pairing to complete, then choose the name and, optionally, the zone. Do nothing else.
  5. The first thing to do after a successful pairing is calibration. To calibrate the roller shutter, select the “Specific” option in configuration mode. After selecting “Specific,” the LED will flash orange and the device configuration will begin. This takes a long time—in some cases, up to 1 hour. Do not do anything if the roller shutter appears to be stuck for a long time; as long as the LED is orange, do not do anything. Calibration ends when the LED flashes green.

The roller shutter is currently open.
If Home Assistant shows a different percentage—in most cases, it will say “50% open”—don't worry; we'll fix that in the next few steps.

The second milestone has been reached. :roller_skate:

How to synchronize the opening of roller shutters in Home Assistant

  1. Go to the roller shutter device configuration page
  2. Open “Manage Zigbee Device” from the menu with the three dots.

  1. In the dialog box, select “LegrandShutterCluster” -> “Command” and you’ll see several options in the dropdown menu. Currently, the only commands that work are “down_close,” “stop,” and “up_open”; by the end of this guide, they will all work.

  2. If the roller shutter is open (even partially), run “down_close” and let the command complete. If it is closed, run “up_open.” Repeat these steps until Home Assistant displays the correct percentage. At this stage, it can only display: 100%, 0%, and 50%; the other partial values aren’t available yet, but they will be by the end of the guide.

Completing the Installation

This section isn’t very precise because I haven’t yet figured out the exact sequence, but by following these steps, I was able to configure 9 roller shutters with 1% accuracy.

  1. Click the “Reconfigure” button on the device page; while reconfiguration is in progress, quickly press and release the physical configuration button to activate pairing mode.
  2. Start searching for new devices in Home Assistant
  3. Reset the device to factory settings by holding down the configuration button for 10 seconds.

Or

  1. Remove the device from Home Assistant
  2. Pair it again

Or

  1. Click the “Reconfigure” button on the device page; while reconfiguration is in progress, remove it from Home Assistant

Or any other combination. Do not perform these steps quickly; always wait 30–45 seconds between steps.
After each action, it’s important to verify that Home Assistant displays the correct opening percentage and that the roller shutter is synchronized; if not, you must synchronize it using the method described above. Keep in mind that at this stage, the percentages that work are 0%, 50%, and 100%.

You’ll know this step is complete when, after resetting the device once more, it flashes pink.

When it flashes pink, you’ve reached the penultimate milestone.

At this point, you can turn off the device, and it will remain configured.

Opening Precision

First, make sure the roller shutter is synchronized to the correct percentage; otherwise, follow the steps described above.
To adjust the opening precision, after the device has flashed pink, use the open/close/stop buttons (arrows and square) in Home Assistant. Open and close the roller shutter completely a couple of times. Then make small openings/closings (arrows), stopping the roller shutter with the stop button (square) at random intervals.

At this point, the 25%, 50%, and 75% buttons should work. Test them.

Now any position works, and you can use the slider to set it to 37%, for example.

Done.

Is it possible to bind the shutters with the official firmware with a 3rd party Zigbee hub or is there a special firmware necessary. It's a while ago when I read something about it but it was not really clear to me

This is my first time using these devices, so I’m not experienced enough to give you a definitive answer.

If it’s of any help, here’s my setup.
I use the factory firmware on my roller shutter devices; I haven’t replaced it with custom firmware. My Zigbee controller is the SMLIGHT SLZB-06M and the service is ZHA (Zigbee Home Automation).

Please note that I chose not to install the "gateway" supplied by Bticino because I didn’t want any data being sent to the cloud. I prefer everything to run locally without the cloud.

Thanks for answering. I was not aware that the Legrand devices could be bound with every third party gateway our of the box. My configuration with the gateway works fine and I use the home kit integration to control the devices locally. But with the benefit, that everything could be configured with the official app.
Bit I like the idea to use every wired Legrand device at home to extend the ZigBee network at home, not to have two similar networks in parallel.

Hi, you're welcome :).
Yes, you can pair supported devices (and there are plenty of them) directly without installing the proprietary controller. Home Assistant even suggests updating the firmware on individual devices. Right now, I’ve added Zigbee devices to the same network: Legrand/Bticino; SONOFF, Shelly. I’ve paired them all with Home Assistant and have never used anything else (proprietary gateways, apps, or the like).

Nice. With ZHA or Z2M ist there also a function to tilt the blinds or is it limited to just set the position (beside up,down and stop).
With the native gateway I was able to do the calibration for tilting and have also the controls to set position as well as tilt angle

I'm now back from vacation, switched from ZHA zu Z2M and added the first usual cover to the HA Zigbee controller. Really easy, also I saw that venetian blinds could be selected as calibration mode for my other window shutters.

What i haven't understood why the shutter switch does not report it's actual position back to Home assistant when i manually open or close the cover with the physical buttons or use the open_cover action. It seems the position value is just a command value? Am I wrong or what do i miss?