Anyone have the Qubino Z-Wave Plus Weather Station (US version)


#1

There’s a US version now available, and my OCD for gadgets is kicking in…

Anyone in the community try this yet? They’ve even published a DTH for it:


#2

Hello, i’ve got a handler for this device below. Note that for automating things i heavily suggest using CoRE with this DH due to using custom attributes. I also plan to update it to use the new child device concept so more automation options can be supported in the future.

https://github.com/kjamsek/SmartThings/blob/master/DeviceHandlers/Qubino/Weatherstation/QubinoWeatherstationDeviceHandler.groovy


(Robert J) #3

Awesome work, I only wish I could truly grasp to scripting here in the DH. I have the setup up and running, but reading metric might as well be geek. any chance you have a start or guidance teaching me how I could convert and display Wind/Gust in MPH and Rain to Inches? Here in the U.S. I nor any of my friend could glance at anything using the metric system an grasp actual meaning… :slight_smile:

Thanks again,
Robert


#4

I’m already trying to make this work via some workarounds due to ST’s inability to actually change the unit property of tiles.

If i can’t manage to make it work from a unified DH in regards to unit labelling, i’ll split the DH into 2 versions, one for the metric system and one for imperial units.


#5

Here’s a sample of code I’m using to do this on another DTH I wrote. Have you tried something like this:

if (getTemperatureScale() != "C") {
    deviceTemp = fahrenheitToCelsius(device.currentValue('temperature'))
} else {
	deviceTemp = device.currentValue('temperature')
}

In the example above, the code checks the hub’s Location scale, and if it’s not Celsius it will convert it using built in services


#6

Thanks for the snippet. I’ve already been using this approach to find out what temperature scale the user selected and convert it. The return values of the following function are then passed to an event call below.

def convertDegrees(encapCmd){
	switch (location.temperatureScale) {
		default:
				break;
		case "F":
				if(encapCmd.scale == 1){
					return encapCmd.scaledSensorValue.toString()
				}else{
					return (encapCmd.scaledSensorValue * 9 / 5 + 32).toString()
				}
				break;
		case "C":
				if(encapCmd.scale == 0){
					return encapCmd.scaledSensorValue.toString()
				}else{
					return (encapCmd.scaledSensorValue * 9 / 5 + 32).toString()
				}
				break;
	}
}

The above function is then called from within a createEvent call:

createEvent(name:"temperatureCh1", value: convertDegrees(,encapsulatedCommand), unit:"°"+location.temperatureScale, descriptionText: "Temperature Ch1: "+convertDegrees(encapsulatedCommand)+"°"+location.temperatureScale)

Seeing as changing the unit property didn’t work to update the unit presented on tiles i first opted for just the ° symbol being displayed on the tiles. So now i’ll change the events to insert the measured unit directly into the value prop in the createEvent call, as in value: “23° F” , which should work seeing as the automation smartApps are responsible for parsing the numerical value.


(Duwayn) #7

Great work, Kjamsek, and Thank You!! Any interest in converting the remaining values from metric to imperial (IE: wind speed and rain rate)?

Thanks!!


(Duwayn) #8

Also any interest in converting wind direction (degrees) to text? I found the following method that could be applied (https://www.campbellsci.com/blog/convert-wind-directions).

I’ll be the first to admit that I am not a “coder” and am just pitching ideas to make the UI more usable for those of us in the US.

Thank you again!!

Duwayn


#9

Work has been a bit hectic the past few weeks so i haven’t finished this yet, but yes, wind speed and rain rate will be transformed to imperial or metric units, this will be needed since my attempts to shoehorn unit conversion on the fly broke some automation options.

So i will create two handlers, one for imperial and one for metric units, so end users can pick whatever handler they need. No reinclusion (after changing the DH file) should be needed either i think, but to be sure a couple of tests will be needed. I’ll keep you guys posted about the changes.

Ps: Thanks for the wind direction link. I’ll see about converting those values also, but the same caveat applies, it might break automation apps since the z-wave defined data scale is in degrees. Therefore, testing!


(Duwayn) #10

Understood and Thank you!!!


(Larry) #11

Device driver missing , just use theirs now?


(Larry) #12

i am usiong this now… modified the stock driver to add colors to individual temps, humidity, wind etc, also modified primary to be a multitiled attribute with window chill underneath as i am primarily using it for outdor