Fibaro Roller Shutter FGRM-222 with Venetian Blinds - Lamellas Position

I try to control the lamella position of my venetian blinds with a fibaro fgm222 … but it just does not work. up and down is no problem, but changing the position of lamellas doesn’t work.

item-file:

Rollershutter EgWz_JalousieTV_Control "Jalousie TV [%s]" <rollershutter>  {channel="zwave:device:Razberry2:node17:blinds_control"}
Dimmer EgWz_JalousieTV_Control_Lamella "Jalousie TV Lamella [%s]" <rollershutter> {channel="zwave:device:Razberry2:node17:blinds_lamella"}

sitemap:

	Slider item=EgWz_JalousieTV_Control
	Slider item=EgWz_JalousieTV_Control_Lamella

parameters:
10 is set to 2 -> venetian blind mode with positioning
3 is set to 1 -> Blind position via fibar command

when i move the 1st slider, the blind goes up and down. when i move the second slider for lamella, nothing happens.

I just can not find the problem :frowning:

There’s at least two fundamentally different generations of the FGRM, I’ve got both of them working incl. lamella tilt.
For the older ones, I have param #10 set to venetian blind mode, but for newer ones, I have #10 set to 1 (“roller blind mode with positioning”).
And don’t set reports type (param #3) to Fibaro-proprietary but to standard ZWave. Fibaro-proprietary reports don’t work anyway (albeit IIRC positioning doesn’t work on older ones without this setting).

That would need to work purely locally, OH is not involved here.
I suggest you check your actuator’s parameters. #1 is ‘local protection’ which if enabled disables hardware switches.

That’s likely because reports sent in Fibaro proprietary format are not supported (properly decoded by OH). Set binding into debug mode to see the whole message in order to confirm this assumption.

Thank for your tipp … but my lamellas doesn’t work anymore. is the item and sitemap setting above ok?

i have test both parameters, but no luck. (venetian blind and roller blind)

Well, that must be a misunderstanding, I can control my blinds perfectly fine via the hardware switches, but the changed positions (percentages) don’t get reflected in OH. I know that is related to the Unsupported Z-Wave command class error.

I thought that is implemented in the current binding, like it has been in the OH 1 Z-Wave binding.

Try to be more precise in stating your problem and environment, please. Your explanation was misleading (reread it).

No it is not. Fibaro proprietary commands are implemented in the development version, but not in the regular OH snapshot version you use.
AFAIK reports in Fibaro format are not even implemented in the dev version I linked, so switching there won’t give you what you apparently want (correct representation of either blind or lamella tilt state, as said already, you didn’t properly state your problem).
And IIRC Fibaro style reports were not implemented in OH1 either (or @chris ? guess you would have forward-ported those if they ever were).

The reports should be implemented. It’s been a while since I looked at this so I just checked the source and there are 2 channels - blinds_lamella and blinds_shutter. These should be updated from the Fibaro class (I’m assuming that the database is configured appropriately of course).

I don’t really remember what was implemented in OH1 - it’s been too long. When this was added to OH2, I think I spent more time on the implementation so it’s possible it was only added for OH2…

great, thanks

At first thanks for you help Chris & Markus! :smiley:

I’m actually using the development version (2.3.0.201804022210) you linked, otherwise I wouldn’t be able to control the lamella tilt at all. :sweat_smile:

Is there a way for me to check if the database is configured appropriately?

Just for you information, my devices are actually FGR222 (device type = 302) with firmware version 25.25.
Is it possible that this implementation is only used for the FGRM222 (device type = 301)?

<node>
  <homeId>0xf23a4ce0</homeId>
  <nodeId>2</nodeId>
  <version>4</version>
  <manufacturer>0x10f</manufacturer>
  <deviceId>0x1000</deviceId>
  <deviceType>0x302</deviceType>
  <listening>true</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
    <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_METER</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_PROPRIETARY</commandClass>
    <commandClass>COMMAND_CLASS_PROTECTION</commandClass>
  </nodeInformationFrame>
  <associationGroups class="concurrent-hash-map">
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <associations/>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <associations/>
      </associationGroup>
    </entry>
    <entry>
      <int>3</int>
      <associationGroup>
        <index>3</index>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints class="concurrent-hash-map">
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_CLASS_B_MOTOR_CONTROL</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_PROTECTION</commandClass>
            <COMMAND__CLASS__PROTECTION>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <localModes>
                <localProtection>UNPROTECTED</localProtection>
                <localProtection>PROTECTED</localProtection>
              </localModes>
              <rfModes>
                <rfProtection>UNPROTECTED</rfProtection>
                <rfProtection>NORFCONTROL</rfProtection>
              </rfModes>
            </COMMAND__CLASS__PROTECTION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <maxGroups>2</maxGroups>
            </COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_MULTILEVEL</commandClass>
            <multiLevelSwitchCommandClass>
              <version>3</version>
              <instances>1</instances>
              <versionSupported>3</versionSupported>
              <switchTypePrimary>CLOSE_OPEN</switchTypePrimary>
              <switchTypeSecondary>DOWN_UP</switchTypeSecondary>
              <isGetSupported>true</isGetSupported>
            </multiLevelSwitchCommandClass>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>271</deviceManufacturer>
              <deviceType>770</deviceType>
              <deviceId>4096</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
            <COMMAND__CLASS__SWITCH__BINARY>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SWITCH__BINARY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <configParameters>
                <entry>
                  <int>32</int>
                  <configurationParameter>
                    <index>32</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>33</int>
                  <configurationParameter>
                    <index>33</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>3</int>
                  <configurationParameter>
                    <index>3</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>35</int>
                  <configurationParameter>
                    <index>35</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>40</int>
                  <configurationParameter>
                    <index>40</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>10</int>
                  <configurationParameter>
                    <index>10</index>
                    <size>1</size>
                    <value>2</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>42</int>
                  <configurationParameter>
                    <index>42</index>
                    <size>2</size>
                    <value>3600</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>43</int>
                  <configurationParameter>
                    <index>43</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>12</int>
                  <configurationParameter>
                    <index>12</index>
                    <size>2</size>
                    <value>210</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>44</int>
                  <configurationParameter>
                    <index>44</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>13</int>
                  <configurationParameter>
                    <index>13</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>14</int>
                  <configurationParameter>
                    <index>14</index>
                    <size>1</size>
                    <value>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>17</int>
                  <configurationParameter>
                    <index>17</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>18</int>
                  <configurationParameter>
                    <index>18</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>50</int>
                  <configurationParameter>
                    <index>50</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>22</int>
                  <configurationParameter>
                    <index>22</index>
                    <size>2</size>
                    <value>240</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>29</int>
                  <configurationParameter>
                    <index>29</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>30</int>
                  <configurationParameter>
                    <index>30</index>
                    <size>1</size>
                    <value>2</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>31</int>
                  <configurationParameter>
                    <index>31</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
              </configParameters>
            </COMMAND__CLASS__CONFIGURATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
            <COMMAND__CLASS__SENSOR__MULTILEVEL>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <sensors>
                <entry>
                  <multilevelSensorType>POWER</multilevelSensorType>
                  <multilevelSensor>
                    <sensorType>POWER</sensorType>
                    <initialised>true</initialised>
                  </multilevelSensor>
                </entry>
              </sensors>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SENSOR__MULTILEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <maxGroups>3</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_METER</commandClass>
            <COMMAND__CLASS__METER>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <meterType>ELECTRIC</meterType>
              <meterScales>
                <meterScale>E_W</meterScale>
                <meterScale>E_KWh</meterScale>
              </meterScales>
              <canReset>true</canReset>
              <isGetSupported>true</isGetSupported>
              <isSupportRequestSupported>true</isSupportRequestSupported>
            </COMMAND__CLASS__METER>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
            <COMMAND__CLASS__POWERLEVEL>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <powerLevel>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <libraryType>LIB_SLAVE_ENHANCED</libraryType>
              <protocolVersion>3.52</protocolVersion>
              <applicationVersion>25.25</applicationVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors>
    <int>1</int>
    <int>3</int>
  </nodeNeighbors>
  <lastReceived>2018-04-03 16:49:12.281 UTC</lastReceived>
</node>

I was using the OH 1 Z-Wave binding with the Fibaro proprietary reports (shutter position & lamella tilt values) since 2016.

Sure - check here (http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-database-guide).

Hi,

I’m planning to switch from ioBroker to openHab, made myself familiar with the concepts and am now checking if all my requirements can be served via openHab.

There are three Fibaro Roller Shuters 2 in my setup, getting them to work is a must to switch to openHab.

I read this thread, updated to the latest 2.3 version (1251) and can see my devices being recognized.
I cannot see any channel related to the lamellas in Paper UI, I can see a “manufacturer_specific” entry in the node XML file.

Can anyone help me how I can set the lamella positions?

I’m happy to start a new thread, if preferred or handle it via direct messages, to not spam this thread.

Any help is highly appreciated.

Best
Daniel

You need to install the zwave development binding, that would give you a blinds_lamella channel in PaperUI.

Thanks a lot. I thought by upgrading openahb to 2.3.0-Snapshot, I would have this one already.
I can see the lamella now and will take it from there.

Appreciate the fast help :slight_smile:

Thanks for the information about development version … now it works fine.

My idea now is the use of rollershutter item (up/stop/down) AND the two sliders shutter and lamella.
It is possible to automatic refresh the position of the dimmers, if i move with up/stop/down?

Is there an update available, which enables the reports sent to OH in case the HW switches are used to change the position/tilt of the venetian blinds?
I am on OH2.3 release build with zwave dev build 2.3.0.201806262322 and I am not receiving any updates on OH

1 Like

is it possible to use “blinds control” and “shutter position” in the same system?
since I do this, the blinds are partially opened when i send a closing command.

or what could that be, if the shutter is opened with a closing command?

z-wave binding: development binding 2.3.0 (date end of june 2018)
openhab version: 2.3.0

what is the best way to set shutter to 70% and open lamella to 50% at the same time? can i do this with one movement, or is it required to program two movements?

my actually solution is not so beautiful:
sendCommand(Lamella_xy, 50)
sendCommand(Shutter_xy,70)

is there a better way to program this function?

Any chance to put this feature into snapshot? I’ve upgraded now to ON 2.3 and surprised, that it’s still in development.

Once the current issue with the development version is resolved, this will be merged, but it won’t (cant) be added into the current master.

@chris

When to expect the next master, which does support both Venetian Blinds as well as enables the reports sent to OH2 in case the HW switches are used to change the position/tilt of the venetian blinds?

I am on development version to enable venetian blinds ever since the binding was released and would like to see both features merged to main branch.