Has anbody a working setup of the Fibaro Motion Sensor FGMS001?

So I am going to summarize my findings:

The new Fibaro Motion Sensor with software version 3.2 is a new device. It supports zwave+ and behaves differently than the motion sensors until version 2.6. The versions until 2.6 are the old zwave version without the +. The important difference between the new and the old version is the mechanism to report motion and tampering. The old version used a binary switch to report changes. This is supported by Home Assistant and so it was possible to use the entity binary_sensor.fibaro_system_fgms001_motion_sensor_sensor.
The new version behaves differently. It uses a basic command that uses the value 255 for state ‘on’ and the value 0 for the state ‘off’. By the way those values can be changed in OZWCP. But this basic command seems not to be supported by Home Assistant. Check this link.
The only way to find out what the new sensor reports is the entity sensor.fibaro_system_fgms001_motion_sensor_burglar. This entity switches from value 0 to 8 in case of a motion detection and from 0 to 3 for tampering. I don’t know the reason why the entity burglar is used for both. But nevertheless we can use this to react on it.
Motion:

alias: Unexpected motion
trigger:

  • platform: state
    entity_id:
    • sensor.fibaro_system_fgms001_motion_sensor_burglar_33
      state: ‘8’
      condition:

      action:

Tampering:

alias: Burglar alarm
trigger:

  • platform: state
    entity_id:
    • sensor.fibaro_system_fgms001_motion_sensor_burglar_33
      state: ‘3’
      action:

You can also setup two binary sensors that show the state motion and tampering separately. The entities binary_sensor.motion and binary_sensor.tampering:

binary_sensor:
platform: template
sensors:
motion:
value_template: ‘{{ is_state(“sensor.fibaro_system_fgms001_motion_sensor_burglar_33”, “8”) }}’
tampering:
value_template: ‘{{ is_state(“sensor.fibaro_system_fgms001_motion_sensor_burglar_33”, “3”) }}’

The z-wave configuration that is part of openZWave is outdated and does not support the new zwave+ device completely. Somebody from the fhem forum created a new configuration that is part of this.
I have extracted the fibaro fgms configuration and attached the file “fgms-zw5.xml”. If you like to use this configuration you have to do the following steps (my installation is a raspberry pi 3 with the all-in-one-installer):

  1. Remove the sensor from your z-wave network with OZWCP
  2. Copy the file “fgms-zw5.xml” to /srv/hass/hass_venv/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config/fibaro
  3. Open the file “manufacturer_specific.xml” at “/srv/hass/hass_venv/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config” and change the following two lines:

Product type=“0801” id=“1001” name=“FGMS001 Motion Sensor” config=“fibaro/fgms.xml”
Product type=“0801” id=“2001” name=“FGMS001 Motion Sensor” config=“fibaro/fgms.xml”

to

Product type=“0801” id=“1001” name=“FGMS001 Motion Sensor” config=“fibaro/fgms-zw5.xml”
Product type=“0801” id=“2001” name=“FGMS001 Motion Sensor” config=“fibaro/fgms-zw5.xml”

Start OZWCP and integrate the sensor again into your z-wave network. You will notice that the new configuration has 5 association groups instead of three.

  1. Lifeline
  2. Motion Alarm
  3. Tamper Alarm
  4. Motion Backward Compatibility Alarm
    5, Tamper Backward Compatibility Alarm

If you use a secure z-wave+ network you must associate the group 1,2 and 3 with the controller (my controller has the node id 1) and you must not associate group 4 and 5.
With this setup you can use the scripts that I have shown at the beginning of this post.
For setting up a secured network you have to generate also a network key. Check “Generate Security Key” at this link. And add it to the file options.xml.
It is located at /srv/hass/hass_venv/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config
See Adding Security Devices from the Home Assistant documentation.

If you don’t care you can assign only the group 1,4 and 5 with the controller and now the sensor behaves like the old version sensor. It uses a binary sensor so that you can use the entity binary_sensor.fibaro_system_fgms001_motion_sensor_sensor that is supported by Home Assistant.
fgms-zw5.xml (18.8 KB)

6 Likes