Commands that are sent to Aqara H2EU Rollershutter are divided by 100

Hi all,

I have several H2EU Rollershutter devices that I operate in Matter mode.

The devices have been correctly added to OpenHAB via Matter. I can see their state. If I close them manually via the hardware button, the state updates fine in OpenHAB to a value between 0 and 100 (where 100 is fully closed).

The weird thing happens, when I try to send commands to the device: Sending “100” as command closes the rollershutter exactly 1%. After the blinds stop moving, state in OpenHAB shows as “1”. Sending any other number between 0 and 99 drives the blinds to fully open state.

Consequently it seems as if the value is somehow divided by 100 before it is sent to the device. I tried multiplying my value by 100 (e.g. sending 5000), but anything >100 is ignored completely.

Log, when sending “100”:

2026-02-23 17:48:45.261 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Rollo_WZ_links_Window_Covering_Lift' received command 100 (source: org.openhab.ui=>org.openhab.core.io.rest$meph)
2026-02-23 17:48:45.261 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Rollo_WZ_links_Window_Covering_Lift' predicted to become 100
2026-02-23 17:48:45.262 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Window_Covering_Lift' changed from 0 to 100 (source: org.openhab.core.autoupdate.optimistic)
2026-02-23 17:48:46.445 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Active_Power' changed from 0 W to 97 W (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:0#electricalpowermeasurement-activepower)
2026-02-23 17:48:46.461 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Window_Covering_Lift' changed from 100 to 1 (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:1#windowcovering-lift)
2026-02-23 17:48:47.449 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Active_Power' changed from 97 W to 0 W (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:0#electricalpowermeasurement-activepower)

Log when sending “50” (after “100” was sent and blinds are 1% closed):

2026-02-23 17:48:58.093 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Rollo_WZ_links_Window_Covering_Lift' received command 50 (source: org.openhab.ui=>org.openhab.core.io.rest$meph)
2026-02-23 17:48:58.095 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Rollo_WZ_links_Window_Covering_Lift' predicted to become 50
2026-02-23 17:48:58.096 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Window_Covering_Lift' changed from 1 to 50 (source: org.openhab.core.autoupdate.optimistic)
2026-02-23 17:48:59.261 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Active_Power' changed from 0 W to 3 W (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:0#electricalpowermeasurement-activepower)
2026-02-23 17:49:00.280 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Active_Power' changed from 3 W to 0 W (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:0#electricalpowermeasurement-activepower)
2026-02-23 17:49:01.320 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Rollo_WZ_links_Window_Covering_Lift' changed from 50 to 0 (source: org.openhab.core.thing$matter:node:0e7486ecf4:17811946753991212479:1#windowcovering-lift)

I also already tried applying a “|(input*100)” transformation to the channel. It did not really change a thing (other than 0 and 1 being the only “valid” numbers to send - still not able to lower the blinds below 1%).

Problem does not seem to be about the hardware of the device itself (I thought that first), since a parallel HomeAssistant installation can operate the rollershutter fine.

OpenHAB is on version 5.1.1 (running within docker container)

Firmware on all devices is upgraded to the current version.

I am really running out of ideas what else I can try. If anybody would have any ideas about this, it would be greatly appreciated.

Just to eliminate some variables which might cause behavior like this. Are these Rollershutter Items or are they Number Items? If Number Items, are they Number:Dimesnaionless without a unit metadata?

Thankfully in 5.1+ we have the source for updates and commands. We see that it’s the binding that’s updating the Item to 1. That really narrows down where to look. We can follow the events:

  1. the Item is commanded through the REST API to 100
  2. autoupdate predicts the Item will become 100 and then updates the Item to 100
  3. the command eventually goes out to the device and the device reports back the new state of 1, the binding updates the Item to 1.

We see the same thing for 50. OH gets the command, predicts and updates the Item to 50 and later when the device has processed the command it reports 0.

There really isn’t anything you can do to these commands on the OH side to fix this. Either the Channel is linked to the wrong type of Item or there is a bug in the Matter binding for rollershutters.

Thanks for your quick answer.

Item is of type “Rollershutter”. Here is a screenshot, of the item configuration:

version: 1
items:
  Rollo_WZ_links_Window_Covering_Lift:
    type: Rollershutter
    label: Window Covering Lift
    icon: Blinds
    groups:
      - Rollo_WZ_links
    tags:
      - Point

So it is probably like you suggested, a bug in the Matter binding. I will try and raise an issue in the github project of the binding.

Thanks again for your input!

Edit: Replace screenshot with text as suggested.

When you have text please post text, not screen shots. Use code fences.

```
code goes here
```

Screen shots cannot be searched. Cannot be copyied and pasted. Often do not include everything. And often cannot be read easily on small screens.

Thanks for the advice - I removed the screenshot and inserted it as text.

I created an issue on the github project for this. Link for future reference: [matter] Rollershutter is dividing value by 100 when sending command to device · Issue #20290 · openhab/openhab-addons · GitHub