sihui
(SiHui)
June 16, 2017, 9:44am
121
chris:
@sihui can you also try this on the master version that I think you are using?
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>
chris
(Chris Jackson)
June 16, 2017, 10:07am
122
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).
sihui
(SiHui)
June 16, 2017, 3:29pm
123
chris:
the same thing for the development version
Sure, no problem at all (and no pain ):
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>
sihui
(SiHui)
June 16, 2017, 4:03pm
124
chris:
your device shows the SWITCH_MULTILEVEL device class.
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:
Fibaro FGRM-222, zwave, z-wave, switchMultiLevel,true, prozentual positionieren, positioning, razberry, firmware 22.22
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???
RobZe89
(RobZe89)
June 16, 2017, 4:04pm
125
Interesting that you get the COMMAND_CLASS_SWITCH_MULTILEVEL. So you can control the blinds with up /down/stop?
sihui
(SiHui)
June 16, 2017, 4:07pm
126
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
RobZe89
(RobZe89)
June 16, 2017, 7:23pm
127
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!
chris
(Chris Jackson)
June 17, 2017, 9:19pm
128
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?
sihui
(SiHui)
June 19, 2017, 7:44am
130
chris:
@sihui so everything is working ok for you or are there still some issues?
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.
chris
(Chris Jackson)
June 19, 2017, 10:22am
131
There is no information at all in the log regarding node 33 . Did you use a different node?
sihui
(SiHui)
June 19, 2017, 10:43am
132
chris:
There is no information at all in the log regarding node 33
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.
sihui
(SiHui)
June 19, 2017, 10:56am
133
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
chris
(Chris Jackson)
June 19, 2017, 11:03am
134
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
Chri46
(Christian Berndt)
June 21, 2017, 11:10am
135
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)
steinerl
(Lukas)
June 22, 2017, 9:38am
136
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!
chris
(Chris Jackson)
June 22, 2017, 9:45am
137
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.
steinerl
(Lukas)
June 22, 2017, 10:46am
138
Ah, thanks Chris, it works now!
1 Like
Chri46
(Christian Berndt)
June 22, 2017, 11:21am
139
Hi Lukas,
are you able to actually control lamella positioning with your setup?
I am not - see my previous post.
@chris : any hint on how to fix my issue?
steinerl
(Lukas)
June 22, 2017, 11:30am
140
Hi Christian,
yes, works perfectly fine.