Accelerometer in the SmartThings/Samsung Multipurpose Sensor too sensitive?

I have two ST Multipurpose Sensors. In theory I love how sensitive the accelerometer is; much better than the anti-tamper sensor on the Aeon gen5 Multisensor 6.

But one of my MP sensors has become too sensitive, to the point of practically giving spurious readings. It’s so bad that it’s borderline randomly spurious, but it is clearly simply very sensitive too (if that’s what’s happening).


Is there a way to decrease its sensitivity?

I don’t see anything in its IDE settings:

endpointId: 01
manufacturer: CentraLite
model: 3321-S
Raw Description	01 0104 0402 00 08 0000 0001 0003 0020 0402 0500 0B05 FC02 01 0019
Current Version: 0x11015310
Target Version: 0x1F015310
Last Updated: N/A
Last Checked: 2016-12-22 2:23 AM EST

Current States	
temperature: 68 F
battery: 89
contact: open
threeAxis: -1007,82,-14
acceleration: inactive
checkInterval: 7260
status: open

Preferences (edit)	
Name	Type	Value
garageSensor	enum	No
tempOffset	number	2

I have taken it off my hub and put it back on. (In fact, I had to switch to a new v2 hub, and it’s still as sensitive.)

Thanks if you know a way to adjust sensitivity!

It’s not the DEVICE, it’s how you are “using it”… Well… how the SmartApps may be using it.

I presume the various SmartApps that it is triggering are just looking for “Activity”.

What you really should be looking for is a delta (change) in the vector of threeAxis, then you can determine what magnitude of change is not “spurious”.

threeAxis: -1007,82,-14

Thanks tgauchat but… not sure what to do with that…

what setting do I change to decrease sensitivity? do you know of one?

I’ll just send it back for a replacement before trying to code my own “less sensitive handler”

If I’m referencing the correct Device Type Handler for this sensor, then it does not contain any code to set the sensitivity of the “Acceleration Detected” (i.e., Activity Detected) message. Perhaps it is an option in the firmware, but it is not something that SmartThings has published.

By using the Three-Axis instead (by customizing the DTH or by using CoRE to check for alternative vectors), you workaround the problem. It is worth trying a hardware exchange first, of course.

1 Like

I see. Thank you for showing me that, Terry… I’m not in a position to work on device code now, but it is still interesting to see. Especially when it applies to the device I’m trying to figure out.

Slowly but surely I am seeing how things work. You showed me that there doesn’t seem to be a sensitivity setting, as well as what code does apply. But also I now know what code to look at if I have future questions on that sensor. Plus you gave me a clue on finding info on other sensors in the future. (If I can’t find it readily enough by other means.)

Thank you for taking the time! Happy holidays!

1 Like

So there isn’t a device handler at this moment that makes it possible to change the sensitivity of the vibration sensor of the Multi purpose sensor at this moment? I’m not capable of making one, i’m just interested :slight_smile:

1 Like

I don’t know anything about changing the sensitivity, so I waited to see if others would reply. Since nobody did, let me add some related stuff, even if not a direct answer,

I found since my OP that @krlaframboise’s Simple Event Logger shows you actual accelerometer data, the only app I personally know that will do that. Here is actual data for yesterday and today:

>    **Put item in mailbox 3/14**
>    03/14/2017 10:58:46   init    acceleration    active
>    03/14/2017 10:58:46     0     threeAxis      -821,60,273
>    03/14/2017 10:58:47     1     threeAxis      -671,-1121,238
>    03/14/2017 10:58:48     2     threeAxis      -1017,46,-35
>    03/14/2017 10:58:49     3     threeAxis      -1020,34,-34
>    03/14/2017 10:58:50    end    acceleration    inactive
>    03/14/2017 10:58:50     0     threeAxis      -1010,37,-36
>    **Mailman comes 3/14**
>    03/14/2017 12:12:07   init    acceleration    active
>    03/14/2017 12:12:07     0     threeAxis      -1243,-101,-71
>    03/14/2017 12:12:08     1     threeAxis      -1019,29,-84
>    03/14/2017 12:12:09     2     threeAxis      -1018,32,-37
>    03/14/2017 12:12:10     3     threeAxis      -1013,39,-32
>    03/14/2017 12:12:11    end    acceleration    inactive
>    03/14/2017 12:12:11     0     threeAxis      -1016,37,-31
>    **Mailman comes 3/15**
>    03/15/2017 11:25:57   init    acceleration    active
>    03/15/2017 11:25:57     0     threeAxis      -1153,99,-111
>    03/15/2017 11:25:58     1     threeAxis      -1012,35,-15
>    03/15/2017 11:25:59     2     threeAxis      -1016,28,-35
>    03/15/2017 11:26:00    end    acceleration    inactive
>    03/15/2017 11:26:00     0     threeAxis      -1020,32,-36
>    03/15/2017 11:26:02   init    acceleration    active
>    03/15/2017 11:26:02     0     threeAxis      -1046,79,-172
>    03/15/2017 11:26:02     1     threeAxis      -1285,70,-408
>    03/15/2017 11:26:03     2     threeAxis      -1021,28,-41
>    03/15/2017 11:26:05    end    acceleration    inactive
>    03/15/2017 11:26:05     0     threeAxis      -1016,34,-41
>    03/15/2017 11:26:06     1     threeAxis      -1017,33,-29

It’s all straight from Simple Event Logger except I made the column with Init / End / elapsed seconds, as an attempt to explain what’s happening.

This is the first time I’ve looked at it much and it’s kind of interesting. Looks like you’re getting one reading a second for four seconds (including initial state reading) every time there is an Event. It appears to return to the same approximate location for the end of event; not sure why there were two Inactive rows at the very last. Might be interesting to plot… is the excursion from centerpoint tamping down over the three seconds, to zero?

Maybe I am indirectly helping you by showing that there are values that can be intercepted, and you might be able to do further action based on the size of the excursion from accelerometer resting position. (The one perhaps shown by Inactive coords.)

Of course, this is if you are able to and care to do all the heavy lifting. I think you said you’re not, eh? :slight_smile: But maybe others can profit from this.

The data above is only what I just grabbed. Maybe Activity can last for an hour if somebody kept shaking it, etc. I have no idea. I have about 500 threeAxis records from the past two months, if anyone wants to see more data, or what someone else’s looks like.

I am paging @joshua_lyon of SharpTools because that is one nifty app for working with ST. Maybe he can comment on whether the accelerometer can be worked with, with SharpTools or otherwise.

I also just made a very long post about using acclerometers for sensing mailbox mail delivery here, if anyone is interested.

Hope this helps!

I don’t know about sensitivity but in my experience this sensor gives random movement readings when there is absolutely no movement whatsoever. Not very frequent but enough to make it useless for my use case.

One of mine did that (I have four). I sent it back and they replaced it. I talk about it a little in my other mailbox thread. It is possible that they start to act up after a while. I have only had 2 for a year; it’s one of those that went bad after half a year. For the record, the rest of the functionality was fine. Just the accelerometer was acting up; spurious readings 2-6 times a day. It probably didn’t help the battery though.

If it works with SmartThings, it should work with SharpTools / Tasker… I have a few multipurpose sensors, but haven’t really used them for anything, so I can’t speak to their intricacies.

For SharpTools (or really any other SmartApp), you could either subscribe to the acceleration state to determine if the device is active or inactive as reported by the device or as Terry and Mike both alluded to, you could subscribe to the threeAxis attribute and then parse out the X, Y, Z values and add your own logic for determining active motion.

With SharpTools, this would most likely be achieved in Tasker. I suppose you could subscribe to the threeAxis and then use the Thing State event plugin to react anytime a new data value came in. You could do some simple math to get the difference in value between the current value and the last value to determine if it went over your threshold.

1 Like

Has anyone created a ST SmartApp to send an alert from an active\inactive acceleration state from a multipurpose sensor? Thanks!

You mean a Samsung/SmartThings Multipurpose Sensor, right?

You don’t need an app for that, just use the SmartThings (ST) app. Go to

  1. Dashboard
  2. Home Solutions / Smart Home Monitor (tap to go right)
  3. Settings (upper right cog) brings you to Configure
  4. Custom
  5. New monitoring rule
  6. “What kind of device” = Vibration sensor

You should then see all your MPSs on next step. Also anything else, like Aeon gen5 Multisensor 6 with acclerometer or “tamper” device (although you may need Robert Vandervoorts device type handler to expose the Aeon accelerometer first).

Then follow the usual steps to cause a Notification to be sent to your phone. Know how?

Is that what you meant?

I’ve been using an ST MPS on my mailbox for months now, it’s very sensitive and gets maybe 90-95% of mailbox. (Attached under post to rear of mailbox.) I had to use a ST Outlet as a repeater in an outlet inside my house about as close to the mailbox as I could get.

Edit 6/18/17: Changed #2 for new Dashboard layout

That’s perfect!
Thanks so much!

However I am not really getting much sensitivity out of it.

Has anyone tried putting the SM MPS on the seat of a chair to receive an alert when someone gets up?

I guess there’s sensitive and there’s sensitive. The MPS is definitely more sensitive than the Aeon gen5 Multisensor 6.

I found that if I had an MPS flat in the desk in front of me, and tapped it with my finger, it would go off. I don’t mean smack it like a puck, I just mean bringing my finger down on it. Not hardly any discernible movement to speak of. That’s pretty sensitive, in my eyes.

If attaching it to a chair, make sure it’s attached to something moving as stiffly as possible. Can you hide it right in the springs, or under a seat cushion? If the micro enviroment is damping movement just before it reaches the MPS, you’re out of luck. I took all my MPSs off of their little mounts and mount them directly to surfaces with 3M VHB #4920. This isn’t perfect (very strong tape, but very slightly spring itself). Anyway, do what you can.

Let me repeat the @krlaframboise’s Simple Event Logger (message 7 above) will show actual acclerometer readings. @joshua_lyon says his SharpTools does too (#10 above). Maybe it can help you diagnose the situation. Or maybe not… I don’t know what it sends back. If it’s not the maxima of a given movement instance, it may be hard to work with. (How do you know if you’re only seeing a third of a given movement, etc.)

I want to try SharpTools some day but I’ve reached my limited of all the time I want to sink into new things for smart homes for a while. If I could have about 10,000 hours back that were sunk down the drain I’d feel good about trying new things, laugh.

1 Like

I’ve submitted a patch to ST to adjust the acceleration values to make it less (or more) sensitive. Hopefully it’ll be accepted and put into production in the next month.

That’s optimistic.

Do we know if that was ever done? And if so, @RBoy, you mean to the device firmware or the driver?

Today, 4th of July, my Samsung Multi Purpose Sensor’s acceleration would change to Active everytime someone in the neigborhood would shoot off fireworks. In the past, it would also go to Active whenever my kids would jump around on the floor in the same soon as the front door sensor. Is there any fix to make the acceleration not switch to Active so often?

1 Like

HI Scott, I have four of them, and I too found they can become hyper-reactive. Sometimes to the point of giving what seem to be completely spurious accelerations. I don’t know of any easy way to damp it down. Since only one of mine’s in a place where I actually want those readings, I just turned it off for the others.

Maybe you can use something like @krlaframboise’s Simple Event Logger (message 7 above) that shows actual accelerometer readings. @joshua_lyon says his SharpTools does too (#10 above). Or make your own code, if you know how. In theory, it’s easy to add code that intercepts and acts on your incoming data… if you know how to code like that, of course.

Honestly, many of the sensor-type of smart home devices seem like “builder grade” to me. For example, you never hear of a smart-home temperature sensor calibrated to a national standard. And many of them will only let you adjust the temperate reading by a full degree instead of a tenth of a degree, if they let you adjust it at all. But that’s not good enough. If you ever buy several of them and test them side by side initially, you’ll see that they always differ from each other by a degree or two. And though you want to calibrate one by, say, +1.6 degrees, you can’t … you have to choose +1 or +2, period. Even then, you’re unsure what the true temperature is, though you can get the average. You’d have to do it with an external, calibrated sensor. (Which won’t be a smart-home sensor!)

Most of them give very little or no info on how accurate or sensitive to drift their sensors are, or any expected change over time. It’s a shame because the bulk of smart-home sensor cost probably went into making it smart-home, not into the sensors. They all take a very bottom-budget approach, instead of a certifiably or demonstrated quality sensor. If you bought it for the sensors, don’t you always want good sensors? Or at least a choice between budget and quality sensors… some variety on the marketplace.