For capabilities why does it list sensor and motion sensor?
capability "Battery"
capability "Motion Sensor"
capability "Temperature Measurement"
capability "Sensor"
For capabilities why does it list sensor and motion sensor?
capability "Battery"
capability "Motion Sensor"
capability "Temperature Measurement"
capability "Sensor"
Sensor is because its a generic sensor. Thatās all I know though. Not really an expert.
Thanks for the reply, thatās a good enough response/reason for me, lol.
Iām considering buying a couple of these, is it still the case that battery level is being initially reported but may not be updating as time goes on?
Yes 1234556789101112
Door Sensors are on sale today for under $20.
http://www.monoprice.com/Product?c_id=122&cp_id=12212&cs_id=1221201&p_id=10795&seq=1&format=2
@kranasian @florianz Iām using @kranasianās latest version of this device type and have a couple questions.
Thanks.
That snippet of code doesnāt seem change it so celsius is outputted, When I apply that code all it does is keep the temp in F but add the C label and adjust the colour scheme.
It looks as though the device type originally send temp in celsius and @florianz added code to handle F.
For example I see the following code in his device type
def c2f(value) {
// Given a value in degrees centigrade, return degrees Fahrenheit
(value * 9/5 + 32) as Integer
}
andā¦
def zwaveEvent(physicalgraph.zwave.commands.sensormultilevelv2.SensorMultilevelReport cmd) {
def map = [:]
if (cmd.sensorType == 1) {
map.name = "temperature"
// If the sensor returns the temperature value in degrees centigrade,
// convert to degrees Fahrenheit. Also, apply a basic low-pass filter
// to the scaled sensor value input.
def filteredSensorValue = filterSensorValue(cmd.scaledSensorValue)
if (cmd.scale == 1) {
map.value = filteredSensorValue as String
map.unit = "F"
} else {
map.value = c2f(filteredSensorValue) as String
map.unit = "F"
}
map.descriptionText = "${device.displayName} temperature is ${map.value} ${map.unit}."
}
return map
}
I was able to get it to output to Celsius by changing the code of the temp event to:
def zwaveEvent(physicalgraph.zwave.commands.sensormultilevelv2.SensorMultilevelReport cmd)
{
def map = [:]
if (cmd.sensorType == 1) {
// temperature
def cmdScale = cmd.scale == 1 ? "F" : "C"
map.value = convertTemperatureIfNeeded(cmd.scaledSensorValue, cmdScale, cmd.precision)
map.unit = getTemperatureScale()
map.name = "temperature"
map.descriptionText = "${device.displayName} temperature is ${map.value} ${map.unit}."
}
map
}
So far I think itās working, only Temp doesnāt update frequently in the activities section of the deviceType so I donāt know if it works 100%. When I run the simulator I get C readings. Also changed the colour scale and label in the tile definition as well.
@kranasian Question I have now is how often is temp updated in these devices? So if I used it for a virtual thermostat will it update frequently enough to turn on a heater plugged into a smart plug and turn it off at a set temp. Iām concerned that it doesnāt update frequently enough so it would take too long to turn on the heater or it would turn it on and take to long to turn it off.
For any of those in Canada using the monoprice zwave motion/temperature devices Iāve updated @florianz monoprice motion device type and added temperature offset and C/F unit changes to the preferences. Iām not a super coder by any means but I got it to work for me and tested to the best I can
It defaults to F when you add a new device, just go to preferences in the device tile and type āCā no quotes in the unit settings.
Also seems that temp tile is only updated if temp changes by a couple degrees, if you want want to make the preference take place immediately simply change the preferences then open the device, pullout the battery and then replace the battery. This should wakeup the device and the temp tile will get updated. The zigbee smartthings multi sensors seem to update temperature a lot more frequently than these wave devices.
Hello need some help, please pardon my ignorance. I am trying to add this into my add-on however I keep getting the following error:
No signature of method: script1443384018793637088962.metadata() is applicable for argument types: (script1443384018793637088962$_run_closure2) values: [script1443384018793637088962$_run_closure2@6ac30642] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure
First I goto My SmartApps ā New Smart App ā From Code. I then copy the code from 2015-03-17 to the code box and hit create. I get the error message above.
I have three of the monoprice 10796 motion sensor. They are showing up as Aeon Multisensor. Any help would be greatly appreciated (step by step would be awsome). BTW I am on Hub V2 with latest IOS app of smartthings.
This is for a device type. I would suggest trying this one anyway - I just found it today.
https://github.com/constjs/SmartThings-Devices/blob/master/monoprice_motion_sensor.device.groovy
Thanks Greg, I will try it out and let the team know.
Anybody know of a way to force the sensor to send the temp in certain intervals {10 minutes maybe?}? I bought a couple just to try for cheap temp sensors for HVAC control kind of like Ecobee. I really donāt care much about the motion and donāt mind batteries only lasting a couple months.
I have 4 of the motion sensors and they seem to be pretty delayed in regards to detecting motion. I also have a 1st Gen aeon multi sensor and that sensor is overly sensitive, even with the sensitivity turned all the way down.
Is there a good zwave motion sensor? Not a battery hog, pet friendly and actually able to detect human motion rather quickly? If I move fast enough past the monoprice sensors, Iām undetected. I wonder if I mounted these things to high, causing the delay in detection?
Celsius. Not Celcius.