[SOLVED] Constant motion issues with FIbaro Motion Sensor FGMS0001

Hi Guys

Running 2.4 snapshot with the binding within in, 2.4.0

This has been driving me mental for weeks - the Timer which turns on/off the lights keeps resetting, despite no motion at all. I know this is not a rule issue because it works for many other users without a drama - it has worked for me on and off, which makes me think its a ZWave/Fibaro issue.

Ive recently upgraded to 2.4 OH2 in a hope to fix it. All other zwave devices (which are powered, work fine)


18:36:07.783 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes
18:36:15.050 [INFO ] [smarthome.event.ItemStateChangedEvent] - zwave_device_0a604f67_node12_meter_watts changed from 18 to 11.1
18:36:26.472 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Memory_Used_Percent changed from 8.8 to 8.9
18:36:26.478 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load5 changed from 0.2 to 0.1
18:36:26.483 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Network_DataSent changed from 35 to 36
18:36:34.176 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticVoltage changed from 236 to 233
18:36:34.179 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticCurrent changed from 0.948 to 0.946
18:36:34.181 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticWatts changed from 270 to 273
18:36:34.183 [INFO ] [smarthome.event.ItemStateChangedEvent] - AttickWhToday changed from 2.42 to 2.443
18:36:34.186 [INFO ] [smarthome.event.ItemStateChangedEvent] - AttickWhTotal changed from 208.227 to 208.25
18:36:34.187 [INFO ] [home.event.GroupItemStateChangedEvent] - gPowerUsage changed from 256.857 to 256.88 through AttickWhTotal
18:37:09.945 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticTemp changed from 16.0 to 15.9
18:37:09.947 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticHumidity changed from 46.4 to 47.0
18:37:26.488 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Memory_Used_Percent changed from 8.9 to 8.8
18:37:26.498 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 0.6 to 0.8
18:38:07.789 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes
18:38:26.502 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Memory_Used_Percent changed from 8.8 to 8.9
18:38:26.507 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Network_DataRecevied changed from 6 to 7
18:38:26.512 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Network_DataSent changed from 36 to 38
18:39:26.529 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 0.8 to 0.4
18:39:26.531 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load15 changed from 0.3 to 0.2
18:40:07.794 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes

I dont know if its the device or the binding. It has a brand new battery and is a Fibaro Motion Sensor FGMS0001. It’s about 1meter away from an Aeon Plug in Power Point socket, so there is NO issues with Zwave reception.

Any thoughts to work out why this is occuring? I’m about to throw the thing in the bin!

RULE:

rule "FibaroEye1 motion detection turns ON Living Room Lights when Lux is less than 20, with a 2 Minute Inactivity Timer"
when
        Item FibaroEye1Alarm changed to ON
then
        if (FibaroEye1Lux.state < 20) {
                if (Eye1_Timer !== null) {
                        LivingRoomDim1.sendCommand("5")
                        logInfo("FibaroEye1Motion","Eye1 Timer rescheduled for " + Eye1_TimeOut + " minutes")
                        Eye1_Timer.reschedule(now.plusMinutes(Eye1_TimeOut))
                } else {
                        logInfo("FibaroEye1Motion", "Eye1 Motion Detected! Turning ON Living Room Lights")
                        LivingRoomDim1.sendCommand("5")
                        logInfo("FibaroEye1Motion","Eye1 Timer created with " + Eye1_TimeOut + " minutes")
                        Eye1_Timer = createTimer(now.plusMinutes(Eye1_TimeOut))
                        [ |
                                if (FibaroEye1Alarm.state ==  ON) {
                                        logInfo("FibaroEye1Motion","Eye1 Timer triggered, but rescheduled again for " + Eye1_TimeOut + " minutes")
                                        Eye1_Timer.reschedule(now.plusMinutes(Eye1_TimeOut))
                                } else {
                                        logInfo("FibaroEye1Motion", "Eye1 No Motion Detected! Turning OFF Living Room Lights")
                                        LivingRoomSw1.sendCommand("OFF")
                                        Eye1_Timer = null
                                }
                        ]
                }
        }
end


Im running OH2.4 Snapshot and the 2.4.0 Snapshot Zwave Binding with Firmware 3.2 on the Motion sensor

You don’t explain your problem well enough.
What timer do you talk about ? Eye1_Timer ? And what do you mean by “it is getting reset” ? It isn’t.
Do you instead mean to say that your light turns off and you don’t know why?
If so that’s probably because FGMS will send Alarm OFF after a fixed number of seconds without motion.
It’ll do that no matter what you do in your rules.
And you likely have another rule to trigger on that.
You can change that timeout as a zwave parameter of the FGMS.
Or you might have a direct association from the Eye to you light actuator.

To find out, I suggest you enable debugging on zwave.

No, the lights DONT turn off. Thats the issue - they remain ON, despite no motion.

I have no direct associations, only to the Controller under LifeLine.

I have two of these devices (both with firmware version 3.2).

Your device looks like it’s triggering every two minutes. Is the Motion Detection Alarm Cancellation Delay set to 120 seconds?

I’ve seen this behavior with both of my devices, and I’m convinced it’s a device issue. My Alarm Cancellation Delay is set to 240 seconds, and without fail it would trigger motion every 4 minutes, even if there was absolutely no motion.

In both cases, pulling the battery for a few minutes, then replacing it with a new one solved it for me. I know you said you replaced the battery, but maybe that battery was not fresh?

Hi Mark, i think they are just rubbish these things. Yes, battery is fresh and new, even the previous one was only 1 month old - i replaced it anyway.

The Fibaro forums suggest many people with the same issue. I think ill try Aeotec

I can’t argue with that. :wink:

Your other option would be to exclude it from your network, do a factory reset (manual should say how to do that), then include back into the network. Have you tried to do that?

That I have not, I’ll give it a go!

Again: what Timer do you mean ? And what do you mean by “it is getting reset” ?
You log does not show anything about that.

Enable zwave debugging to find out if FGMS sends ALARM ON (resulting in EyeTimer1 being rescheduled so sendCommand(OFF) is never reached).

If so (although there’s no motion) then you have possibly set its sensitivity to be too high.

Hi Markus

When theres no motion, the system creates a 2 minute timer (Eye1_Timer). Its reset of theres motion, if it expires due to no motion it turns the lights off. But what happens, is the timer keeps getting reset (because theres motion, apparently)

OK, ill set debugging on, thank you

Find out what’s causing your problem first before pointing somewhere.
If you haven’t even enabled zwave debugging, you are not even close to understanding what the problem is.

Many people use FGMS without problems. I have many of them in use, of different firmware, and never encountered false positives. And if there ever were problems, they have been there right from the beginning.
I believe you never properly completed installation of yours.
Yes you might need to factory reset them, reincludeand carefully adjust sensitivity and other parameters afterwards.

I think he’s saying that his FGMS001 is reporting motion constantly even when there’s no motion. At least that’s what I saw in the log snippet.

18:36:07.783 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes
18:38:07.789 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes
18:40:07.794 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes

Maybe so. Mine work pretty well. Mostly.

But I’ve experienced the issue I described in my post above on multiple devices. Personally, I think these things are junk.

So I’ve performed the exclusion/inclusion.

It seems now that the channels have changed, previously as per my items file they were:


/*ZWave Motion Sensor Near Bifolds*/
Group FibaroEye1                    "Motion Sensor"                                         (Zwave)
Number FibaroEye1Lux                 "Motion Sensor [%.2f Lux]"   <sun>       (FibaroEye1)      { channel="zwave:device:512:node14:sensor_luminance" }
Number FibaroEye1Battery             "Motion Sensor [%.1f %%]"      <battery>    (FibaroEye1)     { channel="zwave:device:512:node14:battery-level" }
Number FibaroEye1Temp                "Motion Sensor [%.1f C]"     <temperature>(FibaroEye1)     { channel="zwave:device:512:node14:sensor_temperature" }
Number FibaroEye1Motion              "Motion Sensor Motion [%s]"               (FibaroEye1)     { channel="zwave:device:512:node14:sensor_binary" }
Switch FibaroEye1Alarm               "Motion Sensor Alarm [%s]"   <fire>   (FibaroEye1)         { channel="zwave:device:512:node14:alarm_general" }
Switch FibaroEye1AlarmBurglar        "Motion Sensor Alarm b [%s]" <fire>   (FibaroEye1)         { channel="zwave:device:512:node14:alarm_burglar" }
Number FibaroEye1Seismic             "Motion Sensor Seismic [%f]"                (FibaroEye1)   { channel="zwave:device:512:node14:sensor_seismicintensity" }

It was the sensor_binary that tripped under motion, but these logs of me walking into the room now indicate its alarm_motion, not even defined in my items file as seen here:

21:11:44.727 [INFO ] [smarthome.event.ItemStateChangedEvent] - zwave_device_512_node14_alarm_motion changed from OFF to ON
21:12:28.625 [INFO ] [smarthome.event.ItemStateChangedEvent] - zwave_device_512_node14_alarm_motion changed from ON to OFF

You can see how this kinda becomes crazy! I assume now that I will need to change binary_sensor to alarm_motion

Yeah, but it was a misleading description (it is not getting reset but he’s actively rescheduling it because the rule gets called again and again).
Strictly speaking that log is just proving the rule is being called every 120 secs and we cannot be sure that’s because the FGMS sends alarm ON. I admit that’s the most likely reason but there’s other potential reasons (other rules).

Not at all. FGMS have been using the alarm channel for a long time (starting with OH2 I believe).

Now since you named your item to be …alarm…, I expected you had mapped that to the alarm channel.

Yes

Agreed. I made a bit of a leap in assuming the behavior he was seeing was similar to mine. What I saw in his event log had the same signature as mine (although as you point out the root cause certainly could be different). In my case, I could see the binding receiving the motion alarm (ON) every 240 seconds, immediately after the binding received the cancellation (OFF).

The zwave debug log will definitely show if it’s the device.

My wife almost crushed one of my FGMS001. Whenever she turned off the light, it would come right back on a couple minutes later. :astonished: She thought I was messing with her, when it was just the FGMS001 gone rogue. LOL

It is for a beginner Markus, I find this very complex.Forgive me if I dont follow you as easy as you follow others.

I have change the item file. I just find it odd it worked before on the old name, and now its suddenly different.

Well mine blamed me for evil following her (they look like Sauron :slight_smile: does).

So i enabled the debug as suggested and I see this:

So far, no lights turning on (or off! :slight_smile: )

21:30:30.400 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Application Command Request (ALIVE:DONE)
21:30:30.402 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: resetResendCount initComplete=true isDead=false
21:30:30.403 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
21:30:30.405 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: SECURITY NOT required on COMMAND_CLASS_ALARM
21:30:30.406 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 14: Received COMMAND_CLASS_ALARM V5 NOTIFICATION_REPORT
21:30:30.407 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 14: NOTIFICATION report - 0 = 0, event=8, status=255, plen=0
21:30:30.408 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 14: Alarm Type = BURGLAR (0)
21:30:30.410 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Got an event from Z-Wave network: ZWaveAlarmValueEvent
21:30:30.411 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ALARM, value = 255
21:30:30.412 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter processing NOTIFICATION
21:30:30.414 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter NOTIFICATION event is 8, type OnOffType
21:30:30.415 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Updating channel state zwave:device:512:node14:alarm_motion to ON [OnOffType]
21:30:30.417 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter processing NOTIFICATION
21:30:30.418 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter NOTIFICATION event is 8, type OnOffType
21:30:30.419 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Commands processed 1.
21:30:30.419 [INFO ] [smarthome.event.ItemStateChangedEvent] - FibaroEye1Motion changed from 0 to 1
21:30:30.420 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@33a50033.
21:30:30.421 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
21:30:30.422 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
21:30:30.424 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
21:30:30.425 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
21:30:52.997 [INFO ] [smarthome.event.ItemStateChangedEvent] - C3945_UpTime changed from 3 days, 3:53:19.93 to 3 days, 4:01:40.07
21:30:53.003 [INFO ] [smarthome.event.ItemStateChangedEvent] - C3945_CPUTemp changed from 45 to 44
21:31:11.784 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load1 changed from 1.1 to 0.5
21:31:11.790 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 1.5 to 0.9
21:31:18.471 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 0E 0A 71 05 00 00 00 FF 07 00 01 08 6A
21:31:18.474 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=14, callback=0, payload=00 0E 0A 71 05 00 00 00 FF 07 00 01 08
21:31:18.485 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage past lock Message: class=ApplicationCommandHandler[4], type=Request[0], dest=14, callback=0, payload=00 0E 0A 71 05 00 00 00 FF 07 00 01 08
21:31:18.486 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=14, callback=0, payload=00 0E 0A 71 05 00 00 00 FF 07 00 01 08
21:31:18.488 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
21:31:18.489 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Application Command Request (ALIVE:DONE)
21:31:18.490 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: resetResendCount initComplete=true isDead=false
21:31:18.491 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: Incoming command class COMMAND_CLASS_ALARM, endpoint 0
21:31:18.492 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 14: SECURITY NOT required on COMMAND_CLASS_ALARM
21:31:18.493 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 14: Received COMMAND_CLASS_ALARM V5 NOTIFICATION_REPORT
21:31:18.494 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 14: NOTIFICATION report - 0 = 0, event=0, status=255, plen=1
21:31:18.495 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 14: Alarm Type = BURGLAR (0)
21:31:18.497 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Got an event from Z-Wave network: ZWaveAlarmValueEvent
21:31:18.498 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_ALARM, value = 255
21:31:18.499 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter processing NOTIFICATION
21:31:18.500 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter NOTIFICATION event is 0, type OnOffType
21:31:18.502 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Updating channel state zwave:device:512:node14:alarm_motion to OFF [OnOffType]
21:31:18.503 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter processing NOTIFICATION
21:31:18.505 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 14: Alarm converter NOTIFICATION event is 0, type OnOffType
21:31:18.506 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 14: Updating channel state zwave:device:512:node14:alarm_tamper to OFF [OnOffType]
21:31:18.506 [INFO ] [smarthome.event.ItemStateChangedEvent] - FibaroEye1Motion changed from 1 to 0
21:31:18.507 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Commands processed 1.
21:31:18.508 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 14: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@3079e5aa.

So after updating the items file, the motion triggered and the lights turned on. I left the room over 2 minutes ago and then the log updates with:

21:50:39.885 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes

The lights are still on and theres no motion for over 2 minutes now. All options are default on the Fibaro sensor

update: and a bit later…

21:50:12.067 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load1 changed from 0.1 to 0.0
21:50:12.074 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 1.0 to 0.5
21:50:12.076 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load15 changed from 0.2 to 0.1
21:50:39.885 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes
21:51:12.086 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 0.5 to 0.9
21:52:12.098 [INFO ] [smarthome.event.ItemStateChangedEvent] - OpenHAB_Cpu_Load changed from 0.9 to 0.4
21:52:26.610 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticVoltage changed from 234 to 236
21:52:26.612 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticCurrent changed from 0.902 to 0.949
21:52:26.615 [INFO ] [smarthome.event.ItemStateChangedEvent] - AtticWatts changed from 272 to 280
21:52:26.616 [INFO ] [smarthome.event.ItemStateChangedEvent] - AttickWhToday changed from 3.308 to 3.332
21:52:26.618 [INFO ] [smarthome.event.ItemStateChangedEvent] - AttickWhTotal changed from 209.115 to 209.138
21:52:26.619 [INFO ] [home.event.GroupItemStateChangedEvent] - gPowerUsage changed from 258.325 to 258.348 through AttickWhTotal
21:52:33.292 [INFO ] [smarthome.event.ItemStateChangedEvent] - C3945_CPU5Min changed from 2 to 3
21:52:39.889 [INFO ] [arthome.model.script.FibaroEye1Motion] - Eye1 Timer triggered, but rescheduled again for 2 minutes

This section of the rule triggers it, checking the console the alarm is still ON. Even after much time, this is still ON in the console.

   if (FibaroEye1Alarm.state ==  ON) {
                                        logInfo("FibaroEye1Motion","Eye1 Timer triggered, but rescheduled again for " + Eye1_TimeOut + " minutes")
                                        Eye1_Timer.reschedule(now.plusMinutes(Eye1_TimeOut))
openhab> smarthome:status FibaroEye1Alarm
ON
openhab>