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

Here are my results:

openHAB2 Snapshot build #945, zwave snapshot binding 2.1.0.201706100753, node 11 (Fibaro FGRM222 Rollershutter, firmware version 25.25) is the testnode:

Debug logs:

zwave1.zip.xml (622.9 KB)
zwave2.zip.xml (539.9 KB)
zwave3.zip.xml (459.4 KB)
zwave4.zip.xml (439.9 KB)
zwave5.zip.xml (211.0 KB)

newly created xml after initialization:

<node>
  <deviceClass>
    <basicDeviceClass>ROUTING_SLAVE</basicDeviceClass>
    <genericDeviceClass>MULTILEVEL_SWITCH</genericDeviceClass>
    <specificDeviceClass>MOTOR_CONTROL_CLASS_B</specificDeviceClass>
  </deviceClass>
  <homeId>0xc239030a</homeId>
  <nodeId>11</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>
  <nodeInformationFrame>
    <commandClass>MULTI_INSTANCE_ASSOCIATION</commandClass>
    <commandClass>MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>VERSION</commandClass>
    <commandClass>CONFIGURATION</commandClass>
    <commandClass>ASSOCIATION</commandClass>
    <commandClass>POWERLEVEL</commandClass>
    <commandClass>METER</commandClass>
    <commandClass>SWITCH_MULTILEVEL</commandClass>
    <commandClass>SENSOR_MULTILEVEL</commandClass>
    <commandClass>SWITCH_BINARY</commandClass>
    <commandClass>MANUFACTURER_PROPRIETARY</commandClass>
    <commandClass>PROTECTION</commandClass>
  </nodeInformationFrame>
  <supportedCommandClasses>
    <entry>
      <commandClass>SWITCH_MULTILEVEL</commandClass>
      <multiLevelSwitchCommandClass>
        <version>3</version>
        <instances>1</instances>
        <versionSupported>3</versionSupported>
        <switchTypePrimary>CLOSE_OPEN</switchTypePrimary>
        <switchTypeSecondary>CLOSE_OPEN</switchTypeSecondary>
        <isGetSupported>true</isGetSupported>
      </multiLevelSwitchCommandClass>
    </entry>
    <entry>
      <commandClass>CONFIGURATION</commandClass>
      <configurationCommandClass>
        <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>0</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>1</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>150</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>0</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>1</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>0</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>
      </configurationCommandClass>
    </entry>
    <entry>
      <commandClass>PROTECTION</commandClass>
      <protectionCommandClass>
        <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>
      </protectionCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <maxGroups>3</maxGroups>
      </associationCommandClass>
    </entry>
    <entry>
      <commandClass>VERSION</commandClass>
      <versionCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <libraryType>LIB_SLAVE_ENHANCED</libraryType>
        <protocolVersion>3.52</protocolVersion>
        <applicationVersion>25.25</applicationVersion>
      </versionCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
    <entry>
      <commandClass>SWITCH_BINARY</commandClass>
      <binarySwitchCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <isGetSupported>true</isGetSupported>
      </binarySwitchCommandClass>
    </entry>
    <entry>
      <commandClass>POWERLEVEL</commandClass>
      <powerLevelCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <powerLevel>0</powerLevel>
        <powerTimeout>0</powerTimeout>
      </powerLevelCommandClass>
    </entry>
    <entry>
      <commandClass>SENSOR_MULTILEVEL</commandClass>
      <multiLevelSensorCommandClass>
        <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>
      </multiLevelSensorCommandClass>
    </entry>
    <entry>
      <commandClass>MANUFACTURER_SPECIFIC</commandClass>
      <manufacturerSpecificCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
        <initSerialNumber>false</initSerialNumber>
        <deviceManufacturer>271</deviceManufacturer>
        <deviceType>770</deviceType>
        <deviceId>4096</deviceId>
      </manufacturerSpecificCommandClass>
    </entry>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <versionSupported>1</versionSupported>
      </noOperationCommandClass>
    </entry>
    <entry>
      <commandClass>METER</commandClass>
      <meterCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <meterType>ELECTRIC</meterType>
        <meterScales>
          <meterScale>E_KWh</meterScale>
          <meterScale>E_W</meterScale>
        </meterScales>
        <canReset>true</canReset>
        <isGetSupported>true</isGetSupported>
        <isSupportRequestSupported>true</isSupportRequestSupported>
      </meterCommandClass>
    </entry>
    <entry>
      <commandClass>MULTI_INSTANCE_ASSOCIATION</commandClass>
      <multiAssociationCommandClass>
        <version>2</version>
        <instances>1</instances>
        <versionSupported>2</versionSupported>
        <maxGroups>2</maxGroups>
      </multiAssociationCommandClass>
    </entry>
  </supportedCommandClasses>
  <securedCommandClasses/>
  <associationGroups>
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>0</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>0</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>3</int>
      <associationGroup>
        <index>3</index>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <nodeNeighbors>
    <int>1</int>
    <int>3</int>
    <int>4</int>
    <int>8</int>
    <int>10</int>
    <int>12</int>
    <int>13</int>
    <int>23</int>
    <int>26</int>
    <int>28</int>
    <int>30</int>
    <int>31</int>
    <int>32</int>
    <int>33</int>
    <int>34</int>
    <int>35</int>
  </nodeNeighbors>
  <lastSent>2017-06-16 08:07:52.99 UTC</lastSent>
  <lastReceived>2017-06-16 08:07:52.168 UTC</lastReceived>
</node>

Thanks - I’ll take a look tomorrow, but the first thing that I note is that your device shows the SWITCH_MULTILEVEL device class. Are you also able to provide the same thing for the development version (sorry to be a pain).

Sure, no problem at all (and no pain :grinning:):

Same prerequisites than above, except zwave binding is dev 201706122347, again node 11:

Debug log:

zwave.zip.xml (282.1 KB)

new xml:

<node>
  <homeId>0xc239030a</homeId>
  <nodeId>11</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>
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>0</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>0</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
    <entry>
      <int>3</int>
      <associationGroup>
        <index>3</index>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints>
    <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>
          <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_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_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_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_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_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_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>
          <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_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_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>0</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>1</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>150</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>0</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>1</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>0</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_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>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors>
    <int>1</int>
    <int>3</int>
    <int>4</int>
    <int>8</int>
    <int>10</int>
    <int>12</int>
    <int>13</int>
    <int>23</int>
    <int>26</int>
    <int>28</int>
    <int>30</int>
    <int>31</int>
    <int>32</int>
    <int>33</int>
    <int>34</int>
    <int>35</int>
  </nodeNeighbors>
  <lastReceived>2017-06-16 15:21:37.163 UTC</lastReceived>
</node>

Just as a sidenote while surfing the net about Fibaro rollershutters:

I found a (German language) zway blog entry where it’s stated that the FGRM222 with firmware version 22.22 (like @RobZe89 one) first needs to be enabled for SWITCH_MULTILEVEL, because on default it is set to false. Unfortunately the blog does not tell which parameter number:

https://www.net-fx2.de/razberry-fibaro-fgrm-222-rollladenaktor/

This is the command they are sending to the device to enable it:

http://<raspberrypi-ip>:8083/JS/Run/zway.devices[X].SwitchMultilevel.data.supported=true
#Response im Browser:   true
 
http://<raspberrypi-ip>:8083/JS/Run/zway.devices.SaveData()
#Response im Browser:   null

[20.09.2015] – kleiner Nachtrag: . Diese Codeausführung ist nur notwendig wenn die RollladenSchalter die Firmware Version 22.22 noch aufgespielt haben. Ab Firmware Version 24.24 ist dies nicht mehr nötig, die Schalter werden korrekt erkannt und eingebunden !

freely translated: enabling is only necessary for firmware versions 22.22. Beginning with firmware version 24.24 that is not necessary anymore.
So the issue is maybe just a wrong config parameter???

Interesting that you get the COMMAND_CLASS_SWITCH_MULTILEVEL. So you can control the blinds with up /down/stop?

Yes.

Line 27004: 2017-06-16 17:21:27.936 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_SUPPORTED_GET
	Line 31319: 2017-06-16 17:21:36.898 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_GET
	Line 32313: 2017-06-16 17:22:03.834 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_START_LEVEL_CHANGE
	Line 32435: 2017-06-16 17:22:10.478 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_STOP_LEVEL_CHANGE
	Line 32440: 2017-06-16 17:22:10.480 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_GET
	Line 32699: 2017-06-16 17:22:15.011 [DEBUG] [ss.ZWaveMultiLevelSwitchCommandClass] - NODE 11: Creating new message for command SWITCH_MULTILEVEL_START_LEVEL_CHANGE

My though is, that with OH1 there was a function to enable SWITCH_MULTILEVEL, because it defenetly worked fine on OH1. After updating to OH2 the SWITCH_MULTILEVEL was still enabled. After deleting the node xml the SWITCH_MULTILEVEL got lost and came not back to the node xml. So we have to force SWITCH_MULTILEVEL on this device on OH2. That would be great!

I don’t think so. Certainly there was nothing automatic in OH1 to enable this. OH1 had a very similar initialisation as OH2.

I guess the question is how to enable this? It seems a pretty strange thing for Fibaro to remove it.

I’ll also look to add this to the database to force this class - I’ll probably add that tomorrow when I’m home.

@sihui so everything is working ok for you or are there still some issues?

That would be great!

Unfortunately there is one small issue left:

I’m using the “invert percent” option for my FGRM222 and the actual percent value in the GUI is constantly changing although the rollershutters are not moving … it’s doing this for all six FGRM222 I have, below I concentrated on node 33 (item name=FibFGR222_Living_West_L):

events.log:

2017-06-18 22:03:54.816 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 82 to 83
2017-06-18 22:07:10.511 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-18 22:37:10.187 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 83
2017-06-19 00:51:45.613 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-19 01:31:48.493 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 83
2017-06-19 01:31:48.550 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-19 02:51:50.625 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 83
2017-06-19 02:51:50.680 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-19 07:37:21.814 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 83
2017-06-19 07:37:21.871 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-19 08:07:10.433 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 83
2017-06-19 08:37:26.747 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 83 to 17
2017-06-19 08:45:20.161 [ItemCommandEvent          ] - Item 'FibFGR222_Living_West_L' received command 0
2017-06-19 08:45:20.165 [ItemStateChangedEvent     ] - FibFGR222_Living_West_L changed from 17 to 0

I grabbed the debug log from around 08:15 to 08:46 to catch the last events:

-file deleted -

or

zwave.zip.xml (179.6 KB)

I have no idea if one of my rollershutter rules is causing this issue, but because the shutters are not physically moving I expect the percent value not to change.

rollershutter.rules (excerpt):

...
//shading positions
val Number ShadingLivingWest_L_Position = 70
val Number ShadingLivingWest_R_Position = 70

//closing positions
val Number ClosedLivingWest_L_Position = 70
val Number ClosedLivingWest_R_Position = 70

...

    rule "move shutters living west to shading position = main execution"
    	when
    		Item Shading_Shutter_LivingWest_Autoshade received update
    	then
    		if (Shading_Shutter_LivingWest_Autoshade.state==ON && ShutterOverrideTimerLiving_West.state==OFF && ShutterAutoOpenCloseLiving_Lock.state==OFF) {
      			if (FibFGR222_Living_West_L.state != ShadingLivingWest_L_Position) {
    			Thread::sleep(20000)
    			FibFGR222_Living_West_L.sendCommand(ShadingLivingWest_L_Position)
    			}
    			if (FibFGR222_Living_West_R.state != ShadingLivingWest_R_Position) {
    			Thread::sleep(20000)
    			FibFGR222_Living_West_R.sendCommand(ShadingLivingWest_R_Position)
    			logInfo("SHUTTER", "shutter living west in shading position")
    			}
    		}
    		else if (Shading_Shutter_LivingWest_Autoshade.state==OFF && ShutterOverrideTimerLiving_West.state==OFF && ShutterAutoOpenCloseLiving_Lock.state==OFF && ShutterDelayTimerLiving_West.state==OFF) {
    		  	if (FibFGR222_Living_West_L.state > 3) {
    		  	Thread::sleep(20000)
    		  	FibFGR222_Living_West_L.sendCommand(0)
    		  	logInfo("SHUTTER", "shutter living west left in 0 position")
    		  	}
    		  	if (FibFGR222_Living_West_R.state > 3) {
    			Thread::sleep(20000)
    			FibFGR222_Living_West_R.sendCommand(0)
    			logInfo("SHUTTER", "shutter living west right in 0 position")
    			}
    		}
end

rule "shutter livingroom auto close west"
when
	Channel 'astro:sun:shutterlivingroom:set#event' triggered END
then
	if (AutoOpenClose_Shutter_Proxy.state==ON) {
	ShutterAutoOpenCloseLiving_Lock.sendCommand(ON)
    FibFGR222_Living_West_L.sendCommand(ClosedLivingWest_L_Position)
	Thread::sleep(20000)
	FibFGR222_Living_West_R.sendCommand(ClosedLivingWest_R_Position)
	}
	else if (AutoOpenClose_Shutter_Proxy.state==OFF) {
		ShutterAutoOpenCloseLiving_Lock.sendCommand(OFF)
		}
end

...

Apart from this the migration from the snapshot to the development branch was pretty straight forward, all devices were initialized quickly, even the battery devices and also including one new device did work well.

There is no information at all in the log regarding node 33 :confused: . Did you use a different node?

Yes, I see. Very strange, maybe a copy and paste error. Let’s try it again:

https://gist.githubusercontent.com/sihui62/7cbe987807684a2687f6cbc2a50eca03/raw/72b458cd4bc4a32c2c037f80b796651a204c7543/zwave_node33.log

Sorry about that.

Here is another example for node 32 with some more “changing” events:

2017-06-19 11:13:33.966 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 65 to 35
2017-06-19 11:13:34.228 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 35 to 65
2017-06-19 11:44:04.374 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 65 to 35
2017-06-19 11:44:04.492 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 35 to 65
2017-06-19 12:45:04.537 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 65 to 35
2017-06-19 12:45:05.331 [ItemStateChangedEvent     ] - FibFGR222_Living_South changed from 35 to 65

debug:

zwave_node32.zip.xml (261.6 KB)

or

https://gist.githubusercontent.com/sihui62/8173f08da9335c36a66c9fe6023157df/raw/d0790a1fd1d166934e31f34eb9721d6071664695/zwave_node32.log

Got it. One is coming through the BASIC command class - this is not being inverted. The other is then coming through the MULTILEVEL command class, and this is being inverted…

I’ll take a look…

1 Like

Hi Chris,

Finally managed to try out new binding as well, but with rather limited success.
I did upgrade to the latest openhab 2.1 snapshot in combination with zwave binding 2.1.0.20170618203.

I am able to add my test fibaro FGRM-222 Rev.25.25 with no issue - adding in paper UI.
I am able to control the blinds just fine - again from paperUI BlindsControl (UP/STOP/DOWN) as well as Switch are working just fine.

But Lamella position slider/dimmer has no impact - it seems that no command is sent to FGRM-222.
In openhab.log I am getting loads of “[ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while calling handler: java.lang.NullPointerException java.util.concurrent.ExecutionException: java.lang.NullPointerException” whenever I am moving the lamella slider in paperUI

Attached in logs.zip.xml
bundle_list.txt
event.log
openhab.log with INFO
openhab_debug.log with DEBUG

logs.zip.xml (4.4 KB)

Hi guys,

I tried openHAB 2.1.0 Build #961 with the corresponding 2.1.0.SNAPSHOT Z-Wave Binding today, but there is no lamella channel on any of the two FGRM222.

Controlling the blinds works fine.

Node XML & Log:
node2.xml (12.6 KB)
node3.xml (12.6 KB)

openhab.log prints this all over:

2017-06-22 08:59:33.091 [WARN ] [tocol.commandclass.ZWaveCommandClass] - NODE 3: Unknown command class 0x91
2017-06-22 08:59:40.284 [WARN ] [tocol.commandclass.ZWaveCommandClass] - NODE 2: Unknown command class 0x91

Am I doing something wrong?
Any hints?

Thanks for your work btw!

This doesn’t have these changes for the FGRM222. The changes described here are only available in the development binding which needs to be manually installed.

Ah, thanks Chris, it works now! :smiley:

1 Like

Hi Lukas,

are you able to actually control lamella positioning with your setup?
I am not :frowning: - see my previous post.

@chris: any hint on how to fix my issue?

Hi Christian,

yes, works perfectly fine.