Fibaro motion sensor FGMS001 Gen5 (Zwaveplus)

I can confirm…
I always use HABmin to modify my Z-Wave nodes (things) configuration parameters…
PaperUI almost always gives me troubles (I have the same device: FGMS001)

Thanks, and totally agree… if I could get HABMin to load. It just sits there saying “Loading…” and never does.

Check the console log in the browser debugger to find out what’s happening then…

Just got a response in another thread, “delete browser cache” - instead I tried Firefox instead of Chrome, and it goes STRAIGHT in no issues! Here I was looking into the deep dark depths of configuration problems… gah! Thanks Chris!

I now have it to a stage where I can get alarm, tamper, temperature and LUX recording event changes in events.log file. In HABMin, Configuration/Things/FGMS001 Motion Sensor/Description, I can see these show “Alarm” (on the right side) against the channels if I pickup or “tamper with” the sensor (and they show “Ok” under normal use)

I can also see items related to the binary sensor that I created.

I have the .items file populated with the following entries:

// Sensor
Switch          masterWardrobeAlarm             "Alarm [%s]"                         <fire>                             { channel="zwave:device:fbcf2efa:node14:alarm_motion" }
Switch          masterWardrobeTamper            "Tamper [%s]"                        <tamper>                           { channel="zwave:device:fbcf2efa:node14:alarm_tamper" }
Switch          masterWardrobeSensor            "Movement [%s]"                      <sensor>                           { channel="zwave:device:fbcf2efa:node14:sensor_binary" }
Number          masterWardrobeLUX               "LUX [%.2f Lux]"                     <sun>                              { channel="zwave:device:fbcf2efa:node14:sensor_luminance" }
Number          masterWardrobeBattery           "Battery [%d %%]"                    <energy>                           { channel="zwave:device:fbcf2efa:node14:battery-level" }
Number          masterWardrobeTemp              "Temperature [%.1f C]"               <temperature>                      { channel="zwave:device:fbcf2efa:node14:sensor_temperature" }

I cannot get the sensor to provide any feedback on movement events.

I have spent 4 days trying to get this working and am at a complete loss as to why the channels appear to be properly linked to the items, but they do not respond.

Any ideas at all would be appreciated.

EDIT: I DID have it reporting LUX, after I clicked refresh items in HABmin, it now only responds to tamper and alarm. But I get this in the logs:

2017-07-12 10:43:43.320 [ItemCommandEvent ] - Item ‘masterWardrobeLUX’ received command REFRESH
2017-07-12 10:43:43.325 [ItemCommandEvent ] - Item ‘masterWardrobeSensor’ received command REFRESH
2017-07-12 10:43:43.423 [ItemCommandEvent ] - Item ‘masterWardrobeAlarm’ received command REFRESH
2017-07-12 10:43:43.448 [ItemCommandEvent ] - Item ‘masterWardrobeTemp’ received command REFRESH
2017-07-12 10:43:43.513 [ItemCommandEvent ] - Item ‘masterWardrobeTamper’ received command REFRESH
2017-07-12 10:43:43.555 [ItemCommandEvent ] - Item ‘masterWardrobeBattery’ received command REFRESH

Attached is the zwave node.xml file
node14.xml (22.2 KB)

Additionally, if I triple click the device it wakes up the device and I will get some feedback on LUX and temp. But then it goes back to sleep and I get nothing after that (LUX and temp won’t report changes)

2017-07-12 10:50:16.500 [ItemStateChangedEvent ] - masterWardrobeLUX changed from 23 to 36
2017-07-12 10:50:16.680 [ItemStateChangedEvent ] - masterWardrobeTemp changed from 19.9 to 19.8
2017-07-12 10:50:19.499 [ItemStateChangedEvent ] - masterWardrobeLUX changed from 36 to 283
2017-07-12 10:50:27.666 [ItemStateChangedEvent ] - Date changed from 2017-07-12T10:49:27.534+1200 to 2017-07-12T10:50:27.534+1200
2017-07-12 10:50:33.865 [ItemStateChangedEvent ] - masterWardrobeLUX changed from 283 to 3

And this is what I see in HABmin. Binary Sensor always says triggered no matter what.

Moving my hand in front of the sensor, the alarm motion gets triggered - not the binary sensor. Therefore would this most likely indicate an issue on the OpenHAB side??? If so, what?

Hmmm, when I declared my items, I never really revisited them when troubleshooting this… I’ve been looking at sensor binary all this time and trying to get events triggered on this.

I’ve just looked now and noticed the “alarm_motion” event, whereas others above do not seem to declare that and rely on sensor binary for movement. I’ve changed my items to the following, and will just use “masterWardrobeSensor” for ON/OFF events to trigger the wardrobe lights. I’ve removed sensor binary mapping to an item completely.

Switch masterWardrobeTamper “Tamper [%s]” { channel=“zwave:device:fbcf2efa:node14:alarm_tamper” }
Switch masterWardrobeSensor “Movement [%s]” { channel=“zwave:device:fbcf2efa:node14:alarm_motion” }
Number masterWardrobeLUX “LUX [%.2f Lux]” { channel=“zwave:device:fbcf2efa:node14:sensor_luminance” }
Number masterWardrobeBattery “Battery [%d %%]” { channel=“zwave:device:fbcf2efa:node14:battery-level” }
Number masterWardrobeTemp “Temperature [%.1f C]” { channel=“zwave:device:fbcf2efa:node14:sensor_temperature” }

In firmware version 2.8 of the FGMS001 (node2.xml) I don’t have this channel (sensor_binary). It seems that this exists only in version >3.2

Anyway, I use the alarm_motion channel to get movement events and it works fine.
I personally, use a Number item and then define my rule as:

ZWave.items:

/* Fibaro Sensors */
Number	FibEye01_Movement	"FE01 Movement: [%s]"			<present>		(gZWave)	{channel="zwave:device:ZW090C:node2:alarm_motion"}
Number	FibEye01_Temp		"FE01 Temperature: [%.2f °C]"	<temperature>	(gZWave)	{channel="zwave:device:ZW090C:node2:sensor_temperature"}
Number	FibEye01_Lux		"FE01 Lux: [%.2f Lux]"			<sun>			(gZWave)	{channel="zwave:device:ZW090C:node2:sensor_luminance"}
Number	FibEye01_Bat		"FE01 Battery [%d %%]"			<battery>		(gZWave)	{channel="zwave:device:ZW090C:node2:battery-level"}
Number	FibEye01_Alarm		"FE01 Alarm: [%s]"				<fire>			(gZWave)	{channel="zwave:device:ZW090C:node2:alarm_tamper"}

example rule:

var	Timer	FE01_Timer = null
val	Integer	FE01_TimeOut = 5

rule "FE01_ON" // FibEye01 motion detection turns ON Staircase LEDs when dark
when
	Item FibEye01_Movement changed from 0 to 1
then
	if (FibEye01_Lux.state < 80 ) {
		if (FE01_Timer != null) {
			WDim01_Dim.sendCommand(100)
			logInfo("FE01","FE01 Timer rescheduled for " + FE01_TimeOut + " minutes")
			FE01_Timer.reschedule(now.plusMinutes(FE01_TimeOut))
		} else {
			logInfo("FE01", "FE01 Motion Detected! Turn ON Staircase LEDs")
			WDim01_Dim.sendCommand(100)
			logInfo("FE01","FE01 Timer created with " + FE01_TimeOut + " minutes")
			FE01_Timer = createTimer(now.plusMinutes(FE01_TimeOut))
			[|
				if (FibEye01_Movement.state ==  1) {
					logInfo("FE01","FE01 Timer triggered, but rescheduled again for " + FE01_TimeOut + " minutes")
					FE01_Timer.reschedule(now.plusMinutes(FE01_TimeOut))
				} else {
					logInfo("FE01", "FE01 No Motion Detected! Turn OFF Staircase LEDs")
					WDim01_Dim.sendCommand(0)
					FE01_Timer = null
				}
			]
		}
	}
end

Of course, you can use a Switch type for alarm_motion and then use changed from OFF to ON

Thanks, yeah I just setup this similar - in my case its simply a sensor in the wardrobe that switches on the lights… because I’m too lazy to reach 0.5m away and flick a switch… :sunglasses:

I did my rule similar, although used switches and did separate rules. It uses the configuration parameter 6 (“motion detection - alarm cancellation delay”) which I set to 40 (seconds) - which is when it automatically switches back to OFF triggering the 2nd rule, which simply turns off the light (don’t like timers had issues with them, it doesn’t give me the reschedule option you have but eh, its only a wardrobe)

//
// Wardrobe SENSOR - activation
//

rule "Master Wardrobe Movement activated"
when
    	Item masterWardrobeSensor changed from OFF to ON
then
	if (swSystemBootUp.state == OFF) {
		if (masterWardrobeLight.state == OFF) 	{
			if (masterWardrobeLUX.state <= 100) {
				logInfo("wardrobe sensor", "Turning Wardrobe Light ON")
				sendCommand(masterWardrobeLight, ON)
			}
			else {
				logInfo("wardrobe sensor", "Not turning on, sufficient light detected")
			}
		}
		else {
			logInfo("wardrobe sensor", "Not turning on, wardrobe light already on")
		}
	}
	else {
		logInfo("wardrobe sensor", "Wardrobe sensor got triggered, doing nothing because booting up")
	}
end


//
// Wardrobe SENSOR - deactivation
//

rule "Master Wardrobe Movement deactivated - after 30 seconds"
when
    	Item masterWardrobeSensor changed from ON to OFF
then
	if (swSystemBootUp.state == OFF) {
		sendCommand(masterWardrobeLight, OFF)
	}
end
2 Likes

For me it works with alarm_motion but doesn’t work with sensor_binary!

The sensor_binary doesn’t change the status ?

  • Also what is the difference between sensor_binary and alarm_motion ?

  • In addition, whenever I go to I still find couple of motion sensor nodes, can you tell me is it normal ?

Zwave devices can send commands through different command classes, so you may freely use the one you like more: :grinning:

Also regarding the FGMS, older versions don’t have the sensor_binary configured in the database:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/115
Newer version do have it configured:
https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/328

If you did not exclude your devices properly before (for example) reincluding those will be still on your controller and are always rediscovered.

Hi Guys,

Ive managed to get a basic rule working with motion detection using alarm_motion with Lux. Can anyone point me in the direction of some logic to turn my lights OFF after 5minutes of no movement?
Thanks!

The sensor seems to work great!

var Timer FE01_Timer = null
val Integer FE01_TimeOut = 5

rule "FE01_ON" // FibEye01 motion detection turns ON Staircase LEDs when dark
when
	Item FibEye01_Movement changed from 0 to 1
then
	if (FibEye01_Lux.state < 80 ) {
		if (FE01_Timer !== null) {
			WDim01_Dim.sendCommand(100)
			logInfo("FE01","FE01 Timer rescheduled for " + FE01_TimeOut + " minutes")
			FE01_Timer.reschedule(now.plusMinutes(FE01_TimeOut))
		} else {
			logInfo("FE01", "FE01 Motion Detected! Turn ON Staircase LEDs")
			WDim01_Dim.sendCommand(100)
			logInfo("FE01","FE01 Timer created with " + FE01_TimeOut + " minutes")
			FE01_Timer = createTimer(now.plusMinutes(FE01_TimeOut))
			[|
				if (FibEye01_Movement.state ==  1) {
					logInfo("FE01","FE01 Timer triggered, but rescheduled again for " + FE01_TimeOut + " minutes")
					FE01_Timer.reschedule(now.plusMinutes(FE01_TimeOut))
				} else {
					logInfo("FE01", "FE01 No Motion Detected! Turn OFF Staircase LEDs")
					WDim01_Dim.sendCommand(0)
					FE01_Timer = null
				}
			]
		}
	}
end

edit: not exactly what you asked for, but you can customize it :slight_smile:

1 Like

I used the above as a template but the motion sensor keeps tripping, despite no motion.

Thoughts?

need more info :slight_smile:
what do you mean “keeps tripping” ? :stuck_out_tongue:
does the FGMS001 send motion events over the Z-Wave protocol without any actual motion and as a result the bound Item state gets updated?

Thats right! Just now i deleted the rule and the motion keeps tripping and the lights keep coming on! im restarting OpenHab2.

This is very odd! How can it trip without the rule!

21:21:18.144 [INFO ] [smarthome.event.ItemStateChangedEvent] - FibaroEye1Alarm changed from ON to OFF
21:21:19.134 [INFO ] [smarthome.event.ItemStateChangedEvent] - FibaroEye1Alarm changed from OFF to ON

!!! this is freaky.

Same issue. Cant turn the darn lights off! Unbelievable. What the f!

easy, easy :slight_smile:
if you have removed the rule, then the logic cannot be executed.

restart the OH2 service just in case (not really needed) after you remove the rule (to make sure that no timers are running)

If the FGMS001 is sending motion events without actual motion, that’s another issue altogether (independent of the rule)

I saw this once with an FGMS001. Was driving my wife crazy. Just as soon as she would turn the light off, it would be back on a few minutes later. LOL

I seem to recall that I took out the battery for a few seconds, after which it went back to normal operation.

1 Like

I have 2 units running for more than 1 year now and they work perfectly. I changed batteries only once so far.
They report info just fine (motion, temp, etc) and my rules are executed based on this data.

Even if the unit is problematic, the rule logic (to control the lights) cannot (should not) fire when the rule file contents have been removed. Something strange is happening with Kris’ setup :slight_smile:

1 Like

Mine have run flawlessly, as well (except for that one incident). I seem to recall I was testing with multiple versions of the zwave binding, and I think the device got into a funky state. I actually prefer these devices over the Aeon ZW100. The only downside is that the FGMS001 doesn’t report humidity.

I don’t disagree with this at all. Was just pointing out that it’s not impossible for an FGMS001 to go off the reservation… :grinning:

1 Like