Fibaro Roller Shutter 3 (FGR-223) Lamellas Position "Venetian Blind Tilt Position" is not working

Hello Home Assistant Community!

I have a problem with the setting of the Fibaro Roller Shutter 3 and my blinds, I have no possibility to control the tilting of the slats, to open or close them. The manually control over wall switch is working fine. The manual control via the wall switch works perfectly. The Home Assistant shows me under "cover.fibaro_system_fgr223_roller_shutter_controller_3_level" the current position for the UP/DOWN, which I can control.
The entity "cover.fibaro_system_fgr223_roller_shutter_shutter_controller_3_switch" has no function.


Raspberry Pi 3 B+
Aeotec Zwave W090 Z-Stick Gen5 EU
Fibaro Roller Shutter 3 (FGR-223)
Switch for Roller Shutter Merten 3715 with mechanical reverse lock-out and electrical interlock.
Raspbian GNU/Linux 9 (stretch) with docker-compose version 1.23.2
Home Assistant 0.87.0 and python_version 3.6.6

Settings for Roller Shutter over Z-Wave Management Panel:
[20] Switch type set to [1] toggle switches.
[151] Operating mode set to [2] Venetian blind (with positioning).
[153] Set slats back to previous position set to [0] slats return to previously set position only in case of the main controller operation.
And then [150] Force calibration set to [2] force device calibration.

In the file fgr223.xml under /usr/local/lib/python3.6/site-packages/python_openzwave/ozw_config/fibaro/ (inside the docker container) is the Tilt and Slat Position defined.

zwcfg_0xddddddb9.xml (30,0 KB)
OZW_Log.txt.xml (94,3 KB)

The roller shutter 2 had non-standard support for venetian blinds, and OZW (and hence HA) did not support it. Not sure about RS 3, but very possible that’s still the case.
If you look around in the forum you’ll see some people who’ve tried to solve it through code changes to both OZW and HA. Not sure if they managed to get it to work.

Personally I’m using the Qubino shutter model, which exposes two separate entities - one for up/down and one for tilt.

you mean this one Qubino ZMNHCD1? This will be my third shutter, which I install. Homematic too thick, Fibaro does not work :sob:

That’s the one. Fibaro modules seem to have more features than Qubino, but when it comes to Venetian blinds, they seem to be behind.

Hi any updates on this? as discuessed here RS3 should have the capabilities on opening/closing slats.

Did anyone find a solution? I’m missing some of the channels of the Fibaro Roller Shutter 3 in the entities list and would be really happy if someone of you found a workaround …

1 Like

Does anyone know of a solution for lamella tilt control with FGR223 ?
Thanks guys!

Now this may work with new ozw 1.6

Did anyone try it with new OpenZWave integration? Would like some confirmation (or at least a lead), before I migrate everything over.

The cover entity in the new integration was just recently developed, and I don’t think it was released in any version yet, not even beta.

I have 4x FGR222 Modules (the v2 Shutter) and they work really good with Homee System. I like to migrate to Home Assistant but i am afraid the integration is the problem. Tilting and Automation in Homee works without any problems most times.

Still an ongoing topic after two years! :slight_smile:

It appears Z-Wave JS has integrated it:

I have put in a feature request to ZWaveJS2MQTT asking Daniel Lando if this was possible:

Quick turn-around thanks to help from @robertsLando and AlCalzone of Z-Wave JS:

It is already possible to set slat position on the FGR-223 by using Z-Wave JS with the new Z-Wave integration. I’ve tested it with ZWaveJS2MQTT (but not using MQTT), it should work the same with the official Z-Wave JS server add-on.

  1. (Reset the device) - possibly not necessary…
  2. Set it to Venetian blind mode
  3. Calibarate up / down again (important: device loses calibration info!)
  4. Calibrate / Set slat movement time in 1/100s

After that the slat positions are correctly reported and can be set (from the ZWaveJS2MQTT GUI as well as HA via web sockets). HA integates it as two different Multilevel Switches that can be set between 0-100 for up / down position and slat position. You can use the cover.set_position service to roll the slats.

You can find more details on the Github issue I linked in the post before.

Hi @NamCisum,

Glad it’s working :slight_smile: I’m using Qubino Flush Shutter, and the commands are working pretty good with Z-Wave JS.
The only thing which is pretty annoying at the moment, is that when you’re sending the “UP” command to blind, the state of this blind directly goes to “OPENED”.
With the OLD OZW1.4 integration, the state was updated at end of the blind move action, once the Z-Wave module sends the “acknowledge”.

The problem is that for venetian blinds, you need to wait till the blind move is finished, and then set the TILT. With the actual behavior, all my current script become pretty much unusable…
If someone has a tip there, it would be awesome. :slight_smile:

I don’t have Qubino devices but would guess that the device instantly reports the movement. HA interprets every cover not fully closed as open.

I would guess that it is not important to set the slat position precisely at the end of the movement - so just set a delay for roughly the max runtime of the cover and then set slats?

Mmmm…that’s not very clean and efficient. It would be a big step backward for me, coming from OZW 1.4. I wrote a fair amount of scripts that are relying on these states to automatically move the venetian blinds…
If it’s not implemented correctly with Z-Wave JS, then I think it’s not really mature yet and I’ll wait a bit.

Two questions on your comment:

  • Does this work also with FGR-222 (Roller Shutter 2)
  • Does ZWaveJS2MQTT is needed ? I’m not using MQTT for now

At the moment, I can just open (full) or close (full) my blinds, HA doesn’t get back the real position of the blind (0 if fully closed, 100 in any other position) and cannot set tilt position.


I do not own the FGR-222, so I don’t know, but I read somewhere that for this one there used to be hack to control the lamellas.

The Roller Shutters on OZW 1.4 seem to only (but not consistently…) report position when they reach end position. Have you tried running it to a position and refresh the entity showing the position manually? That is still necessarry on the FGR 223 on OW 1.4

Also, did you you calibrate the device and does it show the state “calibrated” in the configuration of the device?

IMO ZWaveJS2MQTT is currently superior to the ZWaveJS server in HA as it has a very helpful UI. You can integrate it with HA using the Z-Wave JS integration (via web sockets). See here:

→ No MQTT required.

Yeah I just found a script to do that. Need to configure the device “Report type” to “Fibaro”. Don’t know what’s difference between “Zwave” and “Fibaro” mode… but it’s working!

Calibration is done.
On OZW the position was updated live in my case.
But I tried the refresh service, can see the actual position! Thanks! :+1: :+1: :+1: :clap: :clap:

I’ll give a try to ZWaveJS2MQTT.
And I’ll look for a way to auto update position. Long time ago (before OZW) I was using an automation running every x minutes… but I never found that very clean.

And I’ll look for a way to auto update position. Long time ago (before OZW) I was using an automation running every x minutes… but I never found that very clean.

It’s not - it’s a dirty hack that should not be necessary and is not anymore with Z-Wave JS (and probably was not with OZW 1.6, but I don’t know for sure…).

Here’s the autmation I used to check for position:

- alias: zw_cover_update
  - below: '1'
    entity_id: sensor.fibaro_system_fgrm223_roller_shutter_controller_3_power_46
    for: 00:00:02
    platform: numeric_state
  - data:
      entity_id: cover.fibaro_system_fgrm223_roller_shutter_controller_3_level_24
    service: zwave.refresh_entity