[DEPRECATED] Fibaro Motion Detector v3.2 (Alpha Release)

See my post 109 above.

1 Like

I will try it thanks.

Thank u i will try!

Hi all, I’m about to pull my hair out trying to figure out how to modify the lux settings of this sensor. I have the newest version of this sensor (v3.2). I simply want to have the sensor report lux every 5 mins. I’ve read through this thread closely and I’m using the default device handler and I added the following two config lines, I then initiate simulator, wake up the sensor by hitting the button 3 times and waiting for the LED to turn blue, then I hit the configure button and log shows a bunch of commands being sent. But my sensor is still constantly reporting lux about once or twice a minute.

cmds += zwave.configurationV2.configurationSet(parameterNumber: 40, size: 2, configurationValue: [0,200])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 42, size: 2, configurationValue: [0,300])

What could I be possibly doing wrong? When I look at the history tab on my iPhone I see constant lux updates even with small changes like 2-3 lux. and couple of times a min. I thought parameter 40 is only supposed to send an update if there is variance in lux greater than 200 or parameter 42 is supposed to send updates every 300 seconds or 5 minutes.

Trying to get this sensor to behave the way I want it is sooo frustrating.

Edit: Is there a way to read the current parameter values from the sensor to confirm if in fact it’s taking my updates?

I tried all the parameter combinations but couldn’t get the sensor to calm down, it had false motion detections (too sensitive, I guess) and the lux readings were sent 3-4 times a minute. After two weeks, my motion sensor battery was already reduced to 70%. I’ve reverted back to the stock handler that ST published and put the lux readings onto another sensor in the house until this is fixed. I’m not sure why Fibaro messed with the firmware, the previous sensor was faultless, I have five of them. This new 3.2 version is a pain. Hopefully someone with better coding skills steps in to help.

I’ve been trading emails with Fibaro support over the last couple of days. They have escalated to one of their programmers to see why the parameter values aren’t behaving as expected. I suggest you guys should contact them as well so they realize this is having a wider effect. support-usa@fibaro.com

I just contacted Fibaro, thanks for the recommendation.

Ok banging my head against the wall…
So followed instructions as you did it … but none of the settings takes hold…
downloaded code from link…
changed to the following: (all other sections remained untouched).

def configure() {
log.debug “Executing ‘configure’”

def cmds = []

cmds += zwave.wakeUpV2.wakeUpIntervalSet(seconds: 7200, nodeid: zwaveHubNodeId)//FGMS' default wake up interval
cmds += zwave.configurationV2.configurationSet(parameterNumber: 20, size: 1, configurationValue: [0])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 40, size: 2, configurationValue: [0,10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 42, size: 2, configurationValue: [0,60])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 80, size: 1, configurationValue: [19])
cmds += zwave.manufacturerSpecificV2.manufacturerSpecificGet()
cmds += zwave.manufacturerSpecificV2.deviceSpecificGet()
cmds += zwave.versionV1.versionGet()
cmds += zwave.associationV2.associationSet(groupingIdentifier:1, nodeId:[zwaveHubNodeId])
cmds += zwave.batteryV1.batteryGet()
cmds += zwave.sensorMultilevelV5.sensorMultilevelGet(sensorType: 1, scale: 0)
cmds += zwave.sensorMultilevelV5.sensorMultilevelGet(sensorType: 3, scale: 1)
cmds += zwave.wakeUpV2.wakeUpNoMoreInformation()

encapSequence(cmds, 500)

}

Then i saved/published as a different name to my device handlers.
opened Device in IDE device list changed handler associated with my sensor to the new one.
opened up the simulator selected my device - triple clicked the button on the sensor… and pressed configure in the simulator…
What am i missing folks?

Any help would be appreciated.
Cheers
ROfu

Did you get any further with fibaro support? I I’m having very similar issues I think, would be great to somehow read its current values to know what’s being changed if any :confused:

I’m trying to merge the official device handler + the handler from Cyril + handler from Ronald Gouldner . I got the front-end working for now but the configure setup in testing stage.

This device handler will show the motion status on the “Things” listing, when no motion it’s white, and when there’s motion it’s blue. The default green for no motion & amber for motion are confusing to me as other motion sensor show blue when there’s motion. The color schema is set to similar for vibration.

code removed, to release an updated version later

Hi, I’m willing to test your code once ready. I’ve had nothing but frustration trying to modify the default parameters with no success. I opened a case with Fibaro but after several emails back & forth they referred back to ST. They also confirmed to me that there is currently no way to read the parameters from the sensor using ST.

I’ve tried following earlier instructions in this thread to modify a couple of parameters and every time I push a new config the sensor doesn’t behave as expected. I have to perform a factory reset every time and go back to the default settings.

I really wish I could modify the motion sensitivity since the default settings just aren’t sensitive enough for my use case. If I’m standing more than 6-8 feet away from it and wave my hands like a monkey it will not trigger motion at all.

I too wouldn’t have purchased this sensor knowing all these limitations.

I really am wondering what the limitation is with parameters. If the device conforms to the zwave protocol then surely this should work. Unless these commands need encapsulated. Out of curiosity has anyone tried adding a secure function and adding secure encapsulation to the parameters?

Hey MPulse,
I seem to have mine working very well at the moment (motion and lux)… can i ask which version you have if it’s UK(EU) or US and where you put the parameters? and can you paste the parameters you’ve used.

The only thing i am Unsure about currently is the 2byte parameters.
If i want 10 seconds from a 0-65535 range, is it (0,10) or (10,65535) ? what does the first number represent compared to the second? If anyone could answer that, would be appreciated (i am currently using the (0,10) which seems to work for the most part but just want to confirm the relationship between them).

Mine is US version. I used the commands recommended by others earlier in this thread. Here are a couple of parameters I was trying to change without any success:

cmds += zwave.configurationV2.configurationSet(parameterNumber: 40, size: 2, configurationValue: [0,200])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 42, size: 2, configurationValue: [0,300])

cmds += zwave.configurationV2.configurationSet(parameterNumber: 40, size: 2, configurationValue: [0,10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 42, size: 2, configurationValue: [0,10])

The above i use, so every 10 change in lux gives a reading and its forced update every 10 seconds
from what i can tell, only the actual change in lux value shows a report on SmartThings “Recently” list.
Even though your telling it via param42 to inform SmartThings every 10 seconds anyway.

yours is set for every 200 lux change (which is pretty substantial change) and every 5 min forced? what does it seem to actually do?

as far as motion sensing
cmds += zwave.configurationV2.configurationSet(parameterNumber: 6, size: 2, configurationValue: [0,10])
this is what made the proper difference for me. and i didn’t need to change param1 lower when using the above (its running on its default) lifting my hand at 12ft is enough to trigger it.

one thing i have done is set param60 to 0 so its disabled the temperature sensor reports entirely - as both lux and temp reports if to high in volume will cause the other to misread or not report.
I have also disabled the Tamper alarm entirely, as mine is mounted it has no need of this, and i don’t want it affecting the motion sensor if its alarmed from something random.

cmds += zwave.configurationV2.configurationSet(parameterNumber: 1, size: 1, configurationValue: [10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 6, size: 2, configurationValue: [0,10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 20, size: 1, configurationValue: [0])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 40, size: 2, configurationValue: [0,10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 42, size: 2, configurationValue: [0,10])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 80, size: 1, configurationValue: [21])
cmds += zwave.configurationV2.configurationSet(parameterNumber: 60, size: 1, configurationValue: [0])

These are my current settings all others were left at default. I use param80 as my sanity check, every time i update the device i change its motion sensor color so i know the settings have taken correctly.

hope any of this helps. The only thing i am unsure about is the 2bytes setup, for every 10 lux… should it be (10,65535) rather than (0,10)… i don’t know if its a range or a two part attribute relating to something else.

so from a few experiments using (10,200) on the lux … does nothing, just doesn’t work (0,10) works but every lux value is reported.
So after further testing it seems like the following works.
param40 = this is the range of lux changes that forces an update no matter what param42 says… so (0,200) would mean ANY lux change from 1 lux to 200lux would force a report. to minimise reports you can use (100,200) so only changes of between 100 and 200 force a report.
param42 is a timer, so (0,60) counts from 0 - 60 seconds then reports any updates. (it seems as though if there are no lux value changes no report will register on the smart things app).
If on the other hand there has been a few lux change during the 60 seconds, then a report will be sent/updated in smart things.
To expand:
my params (for testing were
param40 = (100,200)
param42 = (0,60)
I put a cloth on the sensor so when it was initially configured with these settings it read as 0 lux,
then i removed the cloth (with all lights off just my monitor kicking out about 10 lux) nothing happened for 1 min… and then i got a 10 lux update report. putting the cloth back on does the same … you wait a min and then the update report showing 0 lux again… as my monitor is no where near 100 lux, the (100,200) param40 never forced a report.

As far as the motion sensor is concerned it makes sense (0,10) after trying a few other values i released it needed to be 0 to another number as thats the time scale for the alarm between 0second and 10 seconds - any motion between this time would be ignored.trying (10,10) would stop detection for 10 seconds… but then any motion it detected for the first 9 seconds seemed to register and therefore it would fall into a loop of showing motion… after 10 second none and then right away motion.

excuse the random rambling and edits - hopefully this makes sense… it seems consistent in my tests, but if anyone sees any issues with my logic please respond.

This is what I noticed when I was doing some testing. I would attempt to disable parameter 40 by setting the value to [0,0] then I simply wanted the sensor to report lux updates every 5 mins by setting parameter 42 to [0,300]. Once I would push this config to the sensor I would get constant lux updates about once or twice a min, even with minor lux changes down to 1. I even tried sticking the sensor in a closed kitchen cabinet and I would still get constant lux updates.

I tried increasing the frequency from 300 seconds to 600 and 900 based on Fibaro tech support recommendation but I would still get updates about every other min. In my testing and based on reading other people’s posts in this thread I was only modifying the second value for 2 digit parameters.

To this day I have not been able to figure out why some parameters are a single byte vs two. But then again I’m not a developer so I don’t have a full grasp of the difference.

,I can confirm that my updates have now been totally consistent,
Using
Param40 = (100,200)
Param42 = (0,60)
The above gives me reports every 1 min, if there are small changes under the 100,200 param40 threshold.

If you want reports every 5 min try below
Param40 = (100,200)
Param42 = (0,300)

This should report changes every 5min unless there is a big change of light above 100lux, which it should report right away.

Hope this helps
Cheers
ROfu

On a side note, I noticed if you don’t have correctly working values for user set parameters then it can affect the Sensors ability to correctly report anything including normal motion.

It’s ready for testing now :slight_smile:

1 Like

Chan,

Thanks for the work here but I cannot seem to get your handler to work. It doesn’t seem to take my input around sensitivity and regular LUX readings (every 300 seconds). Additionally, I cannot seem to get it to sync or it shows that it’s synced but the parameters are not being followed. I’m using the v3.2 sensor with the v2 ST Hub. I’ve tried a couple of sensor resets but receive the same results.

In my conversations with Fibaro, it seems as if they don’t want ST users to be able to change parameters. I’m not sure why this is but I’m wondering if their firmware is meant to block our inputs.

Have you been able to replicate success on the v2 ST hub?

Thanks again for your work here.

Jason