DaveL
(David Loberg)
February 13, 2019, 2:55am
1
Hardware: Intel Q9650 on Dell 0G261D motherboard
OS: Ubuntu 18.04.1 LTS
JRE: OpenJDK 1.8.0_192
OpenHAB 2.4
Issue: Is my Qubino Thermostat working?
I just connected my new widgit
And it connected and is showing as online. I intend to use two of its channels:
Number Garage_Temp_Setpoint "Garage Temperature Setpoint [%.0c °C]" {channel="zwave:device:4408043a:node6:thermostat_setpoint_heating"}
Number Garage_Temp "Garage Temperature [%.0c °C]" {channel="zwave:device:4408043a:node6:sensor_temperature"}
but when I map the sensor temp to a sitemap there is no output (NULL) and the setpoint shows as ERR. Do I have an issue with my setup or the Thermostat? Only thing in the log I can see is when I added the thermostat
vzorglub
(Vincent Regaud)
February 13, 2019, 7:49am
2
You may need to use the UoM:
Number:Temperature Garage_Temp_Setpoint "Garage Temperature Setpoint [%.0c °C]" {channel="zwave:device:4408043a:node6:thermostat_setpoint_heating"}
Number:Temperature Garage_Temp "Garage Temperature [%.0c °C]" {channel="zwave:device:4408043a:node6:sensor_temperature"}
DaveL
(David Loberg)
February 13, 2019, 11:36am
3
Thanks, I did notice that UoM is stated for both sensor and setpoint channels
But it doesn’t work even if I change the item to Number:Temperature. Unless I have to change something else, somewhere else to make that work. I haven’t used UoMs anywhere else before
chris4789
(Christian)
February 13, 2019, 11:54am
4
I guess I cannot really help, but as far as I know this device have a temp sensor and a switch only?
I am wondering from where the “setpoint” is comming.
This device should send a switch command ON or OFF to a heating device, or am I wrong?
sihui
(SiHui)
February 13, 2019, 6:10pm
5
Did you set your measurement system (-> Regional Settings -> Show more) accordingly?
DaveL
(David Loberg)
February 15, 2019, 12:15am
6
I had not considered that. So I made that change, and with some other tweaking sure enough it works.
But I don’t want my system on SI units, that would be a pain. In looking at the product manual it suggests a parameter number 78 to set the units on the thermostat, but it doesn’t show up in the thing settings. Is this potentially something missing in the binding?
DaveL
(David Loberg)
February 15, 2019, 12:23am
7
@chris , your thoughts? I’ve seen you discuss this device in other posts…
sihui
(SiHui)
February 15, 2019, 6:51am
8
It’s not in the database, so it cannot show up:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/358
But it is also not in the product manual which was used to generate the configuration parameters:
That could mean you have a different firmware version of that device so it needs to be added as a separate database entry.
I would suggest you post your xml file and also please compare the other configuration parameters and association groups if those are also different between your device and the device in the database.
If you want to do this all yourself, please read:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-database-guide
chris
(Chris Jackson)
February 15, 2019, 7:49am
9
This will effectively be negated by the UoM conversions. When the binding receives a temperature update, it passes it into the system with a flag that says what units it’s in, and the system converts this to whatever units you have selected to display on your system. So it doesn’t matter if the temperature coming from the device is in C or F, you will get the units that your system is configured to.
There’s really very little to go on here - I don’t really know what’s not working at the moment. Have you looked at the debug logs to see if the device is communicating, and if so, what is happening?
DaveL
(David Loberg)
February 15, 2019, 2:04pm
10
Thanks Chris, I’ll look at that this weekend. I had already reached out to the goap team and received the following response early this morning:
Hi David,
On OpenHab 2 we cannot grantee full workmode for the device due integration tests were not finished yet. We are currently preparing new version of thermostat (new Z-wave standards) where these issue is resolved. I hope I was able to help you, if you have any additional questions please don’t hesitate to ask.
Best regards / Lep pozdrav,
Tomaž Ličen
Quality engineer
No timeline on those changes, hopefully they at least noted my question and are including that in the forthcoming firmware update (whenever that happens).
DaveL
(David Loberg)
February 17, 2019, 4:09am
11
My XML file for the device is below. I tried connecting a GoControl thermostat this morning, and am getting exactly the same response (effectively none) from it.
<?xml version="1.0"?>
-<node>
<homeId>0xc845e541</homeId>
<nodeId>6</nodeId>
<version>4</version>
<manufacturer>0x159</manufacturer>
<deviceId>0x51</deviceId>
<deviceType>0x5</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_ZWAVEPLUS_INFO</commandClass>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
<commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
<commandClass>COMMAND_CLASS_THERMOSTAT_MODE</commandClass>
<commandClass>COMMAND_CLASS_THERMOSTAT_SETPOINT</commandClass>
<commandClass>COMMAND_CLASS_METER</commandClass>
<commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
<commandClass>COMMAND_CLASS_MARK</commandClass>
</nodeInformationFrame>
-<associationGroups class="concurrent-hash-map">
-<entry>
<int>1</int>
-<associationGroup>
<index>1</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>2</int>
-<associationGroup>
<index>2</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>3</int>
-<associationGroup>
<index>3</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>4</int>
-<associationGroup>
<index>4</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>5</int>
-<associationGroup>
<index>5</index>
<maxNodes>0</maxNodes>
-<associations>
-<associationMember>
<node>1</node>
</associationMember>
</associations>
</associationGroup>
</entry>
-<entry>
<int>6</int>
-<associationGroup>
<index>6</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>7</int>
-<associationGroup>
<index>7</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>8</int>
-<associationGroup>
<index>8</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>9</int>
-<associationGroup>
<index>9</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
-<entry>
<int>10</int>
-<associationGroup>
<index>10</index>
<maxNodes>0</maxNodes>
<associations/>
</associationGroup>
</entry>
</associationGroups>
-<endpoints class="concurrent-hash-map">
-<entry>
<int>0</int>
-<endPoint>
-<deviceClass>
<basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
<genericDeviceClass>GENERIC_TYPE_THERMOSTAT</genericDeviceClass>
<specificDeviceClass>SPECIFIC_TYPE_THERMOSTAT_GENERAL_V2</specificDeviceClass>
</deviceClass>
<endpointId>0</endpointId>
<secureCommandClasses/>
-<supportedCommandClasses class="concurrent-hash-map">
-<entry>
<commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
-<COMMAND__CLASS__CONFIGURATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
-<configParameters>
-<entry>
<int>1</int>
-<configurationParameter>
<index>1</index>
<size>1</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>2</int>
-<configurationParameter>
<index>2</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>4</int>
-<configurationParameter>
<index>4</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>5</int>
-<configurationParameter>
<index>5</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>6</int>
-<configurationParameter>
<index>6</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>70</int>
-<configurationParameter>
<index>70</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>71</int>
-<configurationParameter>
<index>71</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>72</int>
-<configurationParameter>
<index>72</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>73</int>
-<configurationParameter>
<index>73</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>10</int>
-<configurationParameter>
<index>10</index>
<size>2</size>
<value>255</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>74</int>
-<configurationParameter>
<index>74</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>11</int>
-<configurationParameter>
<index>11</index>
<size>2</size>
<value>1</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>75</int>
-<configurationParameter>
<index>75</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>12</int>
-<configurationParameter>
<index>12</index>
<size>2</size>
<value>32767</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>13</int>
-<configurationParameter>
<index>13</index>
<size>2</size>
<value>32767</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>100</int>
-<configurationParameter>
<index>100</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>101</int>
-<configurationParameter>
<index>101</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>102</int>
-<configurationParameter>
<index>102</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>40</int>
-<configurationParameter>
<index>40</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>42</int>
-<configurationParameter>
<index>42</index>
<size>2</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>43</int>
-<configurationParameter>
<index>43</index>
<size>2</size>
<value>1005</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>44</int>
-<configurationParameter>
<index>44</index>
<size>2</size>
<value>5</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>45</int>
-<configurationParameter>
<index>45</index>
<size>2</size>
<value>50</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>110</int>
-<configurationParameter>
<index>110</index>
<size>2</size>
<value>32536</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>120</int>
-<configurationParameter>
<index>120</index>
<size>1</size>
<value>5</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>121</int>
-<configurationParameter>
<index>121</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>122</int>
-<configurationParameter>
<index>122</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>59</int>
-<configurationParameter>
<index>59</index>
<size>1</size>
<value>0</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>60</int>
-<configurationParameter>
<index>60</index>
<size>2</size>
<value>50</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>61</int>
-<configurationParameter>
<index>61</index>
<size>2</size>
<value>700</value>
<readOnly>false</readOnly>
<writeOnly>false</writeOnly>
</configurationParameter>
</entry>
-<entry>
<int>63</int>
-<configurationParameter>
<index>63</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>3</version>
<instances>1</instances>
<control>false</control>
<versionSupported>3</versionSupported>
<maxGroups>10</maxGroups>
</COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_THERMOSTAT_SETPOINT</commandClass>
-<COMMAND__CLASS__THERMOSTAT__SETPOINT>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
-<setpoints>
-<entry>
<setpointType>HEATING</setpointType>
-<setpoint>
<setpointType>HEATING</setpointType>
<initialised>true</initialised>
<initCount>2</initCount>
<outer-class reference="../../../.."/>
</setpoint>
</entry>
</setpoints>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__THERMOSTAT__SETPOINT>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
-<COMMAND__CLASS__SENSOR__MULTILEVEL>
<version>7</version>
<instances>1</instances>
<control>false</control>
<versionSupported>7</versionSupported>
-<sensors>
-<entry>
<multilevelSensorType>TEMPERATURE</multilevelSensorType>
-<multilevelSensor>
<sensorType>TEMPERATURE</sensorType>
<initialised>false</initialised>
</multilevelSensor>
</entry>
</sensors>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__SENSOR__MULTILEVEL>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
-<COMMAND__CLASS__DEVICE__RESET__LOCALLY>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__DEVICE__RESET__LOCALLY>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
-<COMMAND__CLASS__ASSOCIATION__GRP__INFO>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<autoSubscribeGroups/>
</COMMAND__CLASS__ASSOCIATION__GRP__INFO>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_VERSION</commandClass>
-<COMMAND__CLASS__VERSION>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<libraryType>LIB_SLAVE_ENHANCED</libraryType>
<protocolVersion>4.5</protocolVersion>
<applicationVersion>5.2</applicationVersion>
<hardwareVersion>2</hardwareVersion>
</COMMAND__CLASS__VERSION>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_THERMOSTAT_MODE</commandClass>
-<COMMAND__CLASS__THERMOSTAT__MODE>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
-<modeTypes>
<modeType>OFF</modeType>
<modeType>HEAT</modeType>
</modeTypes>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__THERMOSTAT__MODE>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
-<COMMAND__CLASS__NO__OPERATION>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
</COMMAND__CLASS__NO__OPERATION>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_METER</commandClass>
-<COMMAND__CLASS__METER>
<version>3</version>
<instances>1</instances>
<control>false</control>
<versionSupported>4</versionSupported>
<meterType>ELECTRIC</meterType>
-<meterScales>
<meterScale>E_KWh</meterScale>
<meterScale>E_W</meterScale>
</meterScales>
<canReset>true</canReset>
<isGetSupported>true</isGetSupported>
<isSupportRequestSupported>true</isSupportRequestSupported>
</COMMAND__CLASS__METER>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
-<COMMAND__CLASS__ASSOCIATION>
<version>2</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<maxGroups>10</maxGroups>
</COMMAND__CLASS__ASSOCIATION>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_BASIC</commandClass>
-<COMMAND__CLASS__BASIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__BASIC>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
-<COMMAND__CLASS__POWERLEVEL>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<powerLevel>0</powerLevel>
<powerTimeout>0</powerTimeout>
</COMMAND__CLASS__POWERLEVEL>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
-<COMMAND__CLASS__MANUFACTURER__SPECIFIC>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<initSerialNumber>false</initSerialNumber>
<deviceManufacturer>345</deviceManufacturer>
<deviceType>5</deviceType>
<deviceId>81</deviceId>
</COMMAND__CLASS__MANUFACTURER__SPECIFIC>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_SWITCH_ALL</commandClass>
-<COMMAND__CLASS__SWITCH__ALL>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>1</versionSupported>
<isGetSupported>true</isGetSupported>
<mode>SWITCH_ALL_INCLUDE_ON_OFF</mode>
</COMMAND__CLASS__SWITCH__ALL>
</entry>
-<entry>
<commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
-<COMMAND__CLASS__ZWAVEPLUS__INFO>
<version>1</version>
<instances>1</instances>
<control>false</control>
<versionSupported>2</versionSupported>
<zwPlusVersion>1</zwPlusVersion>
<zwPlusRole>ROLE_TYPE_SLAVE_ALWAYS_ON</zwPlusRole>
<zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
<isGetSupported>true</isGetSupported>
</COMMAND__CLASS__ZWAVEPLUS__INFO>
</entry>
</supportedCommandClasses>
</endPoint>
</entry>
</endpoints>
-<nodeNeighbors>
<int>1</int>
<int>2</int>
<int>3</int>
<int>4</int>
</nodeNeighbors>
<lastReceived>2019-02-15 14:27:51.361 UTC</lastReceived>
</node>