Aeotech Multisensor 6 (gen 5 zwave plus, model ZW100-A)


i would like to be able to display in the tiles the current values + offset values in one number.
Ex: 76 current value + 3 offset value = 79 should be displayed in tiles.

i tried the following but it is not doing what i want and ${tempoffset} is showing “NULL”.

valueTile(“temperature”,“device.temperature”,inactiveLabel: false)
state “temperature”,label:’${currentValue} + ${tempoffset}°’,backgroundColors:[
[value: 32, color: “#153591”],
[value: 44, color: “#1e9cbb”],
[value: 59, color: “#90d2a7”],
[value: 74, color: “#44b621”],
[value: 84, color: “#f1d801”],
[value: 92, color: “#d04e00”],
[value: 98, color: “#bc2323”]

Let me know if i can help to fix the issue with offsets…

Best regards,



it is me again, Arnaud.
I found a solution to impute negative offsets, you need to include the following parameter:

range: “”,

Please review below and let me know.

preferences {
input “tempoffset”,
title: “Temperature offset”,
description: “negative values reduce the monitored value positive ones add to it”,
range: “”,
defaultValue: 0,
required: false,
displayDuringSetup: false

Thank you!
Best regards,


There was probably just a miscommunication. When you “remove” a device using the SmartThings mobile app, that process combines a “delete” and an “exclude.”

Zwave is unusual in that taking a node off the network permanently requires physically doing something with the device, usually pressing a button, while receiving a controller command. And these two events have to happen at the same time. That’s “exclusion.”

Typically just doing a factory reset on a zwave device does not clear the network relationship stored in the device, so it still thinks it’s owned by the same controller. This allows you to reset all the reporting parameters without requiring a re-join.

In contrast, factory resetting a zigbee device usually does clear its network relationship information, so it then has to be officially re-joined.

There are pros and cons with both approaches.

Anyway, my guess is support told you to “remove” a zwave device, not “delete” it. Deleting a device from the IDE does not exclude it. The remove process includes the exclude step as part of the removal. :wink:

BTW, there’s no official zwave definition for “delete,” “remove,” “detach,” or “drop” when it comes to nodes attached to the network, and you’ll find different controller manufacturers use those terms differently. Some use “delete” as ST uses “remove,” for example. But “exclude” does have a specific technical meaning.

The main thing to know is it never hurts to do an exclude before you do an include, and if you’re having pairing problems, the usual recommendation is to try a general exclude before moving forward. (I know the following is not the same sensor model, it’s just an example of the “exclude before including” troubleshooting process.)

1 Like

Hi Robert,

Pardon my ignorance. I purchased the Aeotec multisensor 6 like you have but I have no idea how to upload your code for the app to recognize it. Any helpful suggestions?


My college major was Computer Information Systems, then I worked as a network engineer for IBM. So I had literally years of formal training.

I’ve added a FAQ topic on learning more about Z-Wave specifically:

I’m actually falling a bit behind with regard to zwave plus, as I no longer have that access nor work with this stuff every day. I tripped up on explorer frames the other day, although @duncan kindly corrected my error.

So I’ll likely be back to discussing topology generalities by the next generation of zwave in another few years. I’m definitely not paying for a personal developer’s license! :wink:

In terms of programming for SmartThings specifically, it uses a Groovy variant. But documentation is a long way from being finished, although they’re working on it. @tgauchat or @slagle could probably make suggestions on a learning path to become an ST coder. :wink:

1 Like

This FAQ may help:


Thanks for posting…

Hey all - thanks for everyone’s help in getting a custom device type up for this. I was able to use v. 1.2 of @Robert_Vandervoort 's Git code to set the custom device type. It still paired as a Moisture Sensor, but I was able to change it.

My question now is - the manual says to use your gateway (IE SmartThings) to adjust the sensitivity, since there is no on-board manual adjustment like there was on the old version of this sensor.

I don’t see any way currently to do that either in the App or in the IDE.


Hmm… If you added the device type, and then did a “publish” > “for me” then when you added it it should automatically notice it is the multisensor 6… if you don’t publish it for you it will not but you can change it manually… that’s probably what happened.

As far as the adjustments go you are correct. The multi gen 5 had a knob for sensitivity and the rest you did via the configuration command class. This new one is ALL code based configuration. I added the options into the preferences but they do not seem to have any effect.

@amegn1000 that’s right… I had done that on a version I didn’t publish trying to get them to work because I thought I had it backwards and needed to put negative values to go positive… ran into that issue then found that code… I blew it all away though because the code was complete hackery in my experimentation. I can and will add it so you can do negatives.

@JDRoberts, I just heard back from Aeon labs support… He asked is there a way I can debug the configuration values… I know the configuration command class has a get, so can I use that to pull config values from the sensor and then log.debug those values so I can see what the sensor is currently set to? I had tried several times but couldn’t figure out the correct syntax or whatever to make that work. or configuration report? I know there’s a way to do it…

Thanks for all the feedback and help guys!

Hey, look at fibaro motion device type code for pointers to get the current parameters…See if this helps… Substitute with your parameters…This is what I was trying for the Aeon Smart Switch 6 (5th gen)

def listCurrentParams() {
	log.debug "Listing of current parameter settings of ${device.displayName}"
    def cmds = []
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 2).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 20).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 33).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 80).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 81).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 83).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 84).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 90).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 91).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 92).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 101).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 102).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 103).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 111).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 112).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 113).format()
    cmds << zwave.configurationV1.configurationGet(parameterNumber: 200).format()

    cmds << response(zwave.versionV1.versionGet().format())
    cmds << response(zwave.manufacturerSpecificV2.manufacturerSpecificGet().format())
    cmds << response(zwave.firmwareUpdateMdV2.firmwareMdGet().format())
    log.debug cmds;
	//delayBetween(cmds, 500)

Robert, I was able to adjust the temp offset manually via IDE. Obviously the app won’t let me input the “-” but it does in IDE.

@Robert_Vandervoort first, thanks for the device type! i ordered 5 of these by knowing you made a device type.
Good work, only i got 2 questions:

i got it working, devicetype is correct after pairing (nice job). But the activity update is only once every 59 minutes, nomather what i put in preferences (so the illuminance, humidity and temperature only gets logged every 59 minutes in the activity feed of the multisensor)

Also why is the standard “update” for motion 60 seconds? now it looks like 60 seconds of movement.
The standard motion sensor which i got with smartthings updates way quicker the status. I changed it in the ide, but still i wonder if there’s a reason why you choose 60 seconds (better battery level or?)

Did you just edit the device type or to change the configuration parameters or do you know of somewhere in the IDE to easily change device types?

I have a secondary controller that I use for easy association and config parameter updates.

To calibrate the temperature I can subtract the adjustment from 255 for parameter 201. So if I want to reduce the reported temperature by 5.1 it would be 255 - 51 = 204. So I would set parameter 201 to 204. If I want to adjust the other way I would add the adjustment to 0. So if I wanted to increase the reported value by 3.2 I would do 0 + 32 = 32. The value of parameter 201 would then be 32. I have verified that this is working.

As for the tamper functionality I find that mine is way too sensitive. It goes off all the time (several times a minute). If it were on battery it would probably die after a few days. To make matters worse the parameter to turn off the tamper notification doesn’t seem to work. My controller is reporting that the parameter doesn’t exist.

I have the device up and working, however, I’m not able to get humidity or temp to read correctly. I don’t understand why the offsets do not work properly. Anyone care to explain what I need to do to calibrate the sensor?

Thanks guys.

Also, has anyone been able to get temp, humidity and lux to report more that every hour?

@Robert_Vandervoort this is off to a great start! Have you considered setting up something for folks to donate to the cause? At least so we can cover your cost of beer and snacks?

A couple things with v1.2 I have questions about. Are the offset fields and reporting intervals something we should set within the ST app and be visible after saving, or hard coded within the DeviceType code (followed with a save/republish)?

I am having a weird issue with these sensors. I have ordered two of them and both of them turn on fine with USB power. The moment I insert batteries they do not show up power. I have tried changing 3 different pair of new batteries to be sure. With multimeter the batteries show ~2.94 V each. I am in general disappointed with the quality of build (for $50 , when compared with Fibaro) and with this issue… I dont know what to do. Did anyone else have this issue?

I figured the problem… The battery leads are very deep. Take a screw driver and pull those suckers out. There was no contact with the negative end of the battery (on both the sensors). Confirms the poor build quality.


Been there, Ashutosh. I had the same problem.

So I created the new device you created and published it for myself - but can’t get the thing to be found by ST (using USB power).

Seems like an issue I face every so often when adding something - not sure what I’m doing wrong? Should powercycle’ing ST help?

Also the ‘action’ button on the Multisensor 6 hardly feels like a button - seems like I’m just bending plastic in the corner.