<Product Revision="6" xmlns="https://github.com/OpenZWave/open-zwave">
  <MetaData>
    <MetaDataItem name="OzwInfoPage">http://www.openzwave.com/device-database/010F:1001:0800</MetaDataItem>
    <MetaDataItem name="ProductPic">images/fibaro/fgms.png</MetaDataItem>
    <MetaDataItem id="1001" name="ZWProductPage" type="0800">https://products.z-wavealliance.org/products/1048/</MetaDataItem>
    <MetaDataItem name="Name">FIBARO Motion Sensor</MetaDataItem>
    <MetaDataItem id="1001" name="FrequencyName" type="0800">CEPT (Europe)</MetaDataItem>
    <MetaDataItem name="Description">Motion Sensor</MetaDataItem>
    <MetaDataItem id="1001" name="Identifier" type="0800">FGMS-001 (EU)</MetaDataItem>
    <ChangeLog>
      <Entry author="Justin Hammond - Justin@dynam.ac" date="03 May 2019" revision="5">Initial Metadata Import from Z-Wave Alliance Database - https://products.z-wavealliance.org/products/1048/xml</Entry>
      <Entry author="Justin Hammond - Justin@dynam.ac" date="03 May 2019" revision="6">Updated Metadata Import from Z-Wave Alliance Database - https://products.z-wavealliance.org/products/1076/xml</Entry>
    </ChangeLog>
    <MetaDataItem id="2001" name="ZWProductPage" type="0800">https://products.z-wavealliance.org/products/1076/</MetaDataItem>
    <MetaDataItem id="2001" name="FrequencyName" type="0800">U.S. / Canada / Mexico</MetaDataItem>
    <MetaDataItem id="2001" name="Identifier" type="0800">FGMS-001</MetaDataItem>
  </MetaData>
  <!--
	Fibaro Motion Sensor FGMS-001
	http://www.fibaro.com/manuals/en/Motion-Sensor/Motion-Sensor_EN_5.3.14.pdf
	-->
  <!-- Configuration -->
  <CommandClass id="112">
    <Value genre="config" index="1" instance="1" label="Motion sensor's sensitivity" max="255" min="0" type="byte" value="10">
      <Help>
		The lower the value, the more sensitive the PIR sensor.
		Available settings: 8 - 255
		Default setting: 10
	</Help>
    </Value>
    <Value genre="config" index="2" instance="1" label="Motion sensor's blind time (insensitivity)" max="15" min="0" type="byte" value="15">
      <Help>
		Period of time through which the PIR sensor is "blind" (insensitive) to
		motion. After this time period the PIR sensor will be again able to
		detect motion. The longer the insensitivity period, the longer the
		battery life. If the sensor is required to detect motion quickly, the time
		period may be shortened. The time of insensitivity should be shorter
		that the time period set in parameter 6.
		Available settings: 0 - 15
		Formula to calculate the time: time [s] = 0.5 x (value + 1)
		Default setting: 15 (8 seconds)
	</Help>
    </Value>
    <Value genre="config" index="3" instance="1" label="PIR sensor's pulse counter" max="3" min="0" size="1" type="list" value="1">
      <Help>
		Sets the number of moves required for the PIR sensor to report
		motion. The lower the value, the less sensitive the PIR sensor. It's
		not recommended to modify this parameter settings.
		Available settings: 0 - 3
		Formula to calculate the number of pulses: pulses = (value + 1)
		Default setting: 1 (2 pulses)
	</Help>
      <Item label="1 pulse" value="0"/>
      <Item label="2 pulses" value="1"/>
      <Item label="3 pulses" value="2"/>
      <Item label="4 pulses" value="3"/>
    </Value>
    <Value genre="config" index="4" instance="1" label="PIR sensor's window time" max="3" min="0" size="1" type="list" value="2">
      <Help>
		Period of time during which the number of moves set in parameter 3
		must be detected in order for the PIR sensor to report motion. The
		higher the value, the more sensitive the PIR sensor. It's not
		recommended to modify this parameter setting.
		Available settings: 0 - 3
		Formula to calculate the time: time [s] = 4 x (value + 1)
		Default setting: 2 (12 seconds)
	</Help>
      <Item label="4 seconds" value="0"/>
      <Item label="8 seconds" value="1"/>
      <Item label="12 seconds" value="2"/>
      <Item label="16 seconds" value="3"/>
    </Value>
    <Value genre="config" index="6" instance="1" label="Motion alarm cancellation delay" max="65535" min="0" type="short" value="30">
      <Help>
		Motion alarm will be cancelled in the main controller and the
		associated devices after the period of time set in this parameter. Any
		motion detected during the cancellation delay time countdown will
		result in the countdown being restarted. In case of small values,
		below 10 seconds, the value of parameter 2 must be modified (PIR
		sensor's "Blind Time").
		Available settings: 1 - 65535
		Default setting: 30 (30 seconds)
	</Help>
    </Value>
    <Value genre="config" index="8" instance="1" label="PIR sensor operating mode" max="2" min="0" size="1" type="list" value="0">
      <Help>
		The parameter determines the part of day in which the PIR sensor
		will be active. This parameter influences only the motion reports and
		associations. Tamper, light intensity and temperature measurements
		will be still active, regardless of this parameter settings.
		Default setting: 0 (always active)
	</Help>
      <Item label="PIR sensor always active" value="0"/>
      <Item label="PIR sensor active during the day only" value="1"/>
      <Item label="PIR sensor active during the night only" value="2"/>
    </Value>
    <Value genre="config" index="9" instance="1" label="Night / day" max="65535" min="0" type="short" value="200">
      <Help>
		The parameter defines the difference between night and day, in
		terms of light intensity, used in parameter 8.
		Available settings: 1 - 65535
		Default setting: 200 (200 lux)
	</Help>
    </Value>
    <Value genre="config" index="12" instance="1" label="Basic command class frames configuration" max="2" min="0" size="1" type="list" value="0">
      <Help>
		The parameter determines the command frames sent in 1-st
		association group, assigned to PIR sensor.
		Values of BASIC ON and BASIC OFF command frames may be
		modified by dedicated parameters.
		Default setting: 0 (ON and OFF)
	</Help>
      <Item label="BASIC ON and BASIC OFF command frames sent in Basic Command Class." value="0"/>
      <Item label="only the BASIC ON command frame sent in Basic Command Class." value="1"/>
      <Item label="only the BASIC OFF command frame sent in Basic Command Class." value="2"/>
    </Value>
    <Value genre="config" index="14" instance="1" label="BASIC ON command frame value" max="255" min="0" type="byte" value="255">
      <Help>
		The value of 255 allows to turn ON a device. In case of the Dimmer,
		the value of 255 means turning ON at the last memorized state, e.g.
		the Dimmer turned ON at 30% and turned OFF using the value of
		255, and then turned OFF, will be turned ON at 30%, i.e. the last
		memorized state.
		Available settings: 0 - 255
		Default setting: 255
	</Help>
    </Value>
    <Value genre="config" index="16" instance="1" label="BASIC OFF command frame value" max="255" min="0" type="byte" value="0">
      <Help>
		The command frame sent at the moment of motion alarm
		cancellation, after the cancellation delay time, specified in parameter
		6, has passed.
		The value of 0 allows to turn a device OFF while the value of 255
		allows to turn ON a device. In case of the Dimmer, the value of 255
		means turning ON at the last memorized state, e.g. the Dimmer
		turned ON at 30% and turned OFF using the value of 255, and then
		turned OFF, will be turned ON at 30%, i.e. the last memorized state.
		Available settings: 0 - 255
		Default setting: 0
	</Help>
    </Value>
    <Value genre="config" index="20" instance="1" label="Tamper sensitivity" max="122" min="0" type="byte" value="15">
      <Help>
		The parameter determines the changes in forces acting on the Fibaro
		Motion Sensor resulting in tamper alarm being reported - g-force
		acceleration.
		Available settings: 0 - 122 (0.08 - 2g; multiply by 0.016g; 0 = tamper inactive)
		Default setting: 15 (0.224g)
	</Help>
    </Value>
    <Value genre="config" index="22" instance="1" label="Tamper alarm cancellation delay" max="65535" min="0" type="short" value="30">
      <Help>
		Time period after which a tamper alarm will be cancelled. Another
		tampering detected during the countdown to cancellation will not
		extend the delay.
		Available settings: 1 - 65535
		Default setting: 30 (seconds)
	</Help>
    </Value>
    <Value genre="config" index="24" instance="1" label="Tamper operating modes" max="4" min="0" size="1" type="list" value="0">
      <Help>
		The parameter determines the behaviour of tamper and how it
		reports.
		Tamper: Tamper alarm is reported in Sensor Alarm command class.
		Cancellation: Cancellation is reported in Sensor Alarm command class after the time period set in parameter 22 (Tamper Alarm Cancellation Delay).
		Orientation: Sensor's orientation in space is reported in Fibaro Command Class after the time period set in parameter 22.
		Vibration: The maximum level of vibrations recorded in the time period set
		in parameter 22 is reported. Reports stop being sent when the
		vibrations cease. The reports are sent in Sensor Alarm command
		class. Value displayed in the "value" field (0 - 100) depends on the
		vibrations force. Reports to the association groups are sent using
		Sensor Alarm command class.
		Default setting: 0 (Tamper)
	</Help>
      <Item label="Tamper" value="0"/>
      <Item label="Tamper + Cancellation" value="1"/>
      <Item label="Tamper + Orientation" value="2"/>
      <Item label="Tamper + Cancellation + Orientation" value="3"/>
      <Item label="Vibration" value="4"/>
    </Value>
    <Value genre="config" index="26" instance="1" label="Tamper alarm broadcast mode" max="1" min="0" size="1" type="list" value="0">
      <Help>
		The parameter determines whether the tamper alarm frame will or
		will not be sent in broadcast mode. Alarm frames sent in broadcast
		mode may be received by all of the devices within communication
		range (if they accept such frames).
		Default setting: 0
	</Help>
      <Item label="Tamper alarm is not sent in broadcast mode." value="0"/>
      <Item label="Tamper alarm sent in broadcast mode." value="1"/>
    </Value>
    <Value genre="config" index="40" instance="1" label="Illumination report threshold" max="65535" min="0" type="short" value="200">
      <Help>
		The parameter determines the change in light intensity level
		resulting in illumination report being sent to the main controller.
		Available settings: 0 - 65535 (1 - 65535 lux; 0 = reports are not
		sent)
		Default setting: 200 (200 lux)
	</Help>
    </Value>
    <Value genre="config" index="42" instance="1" label="Illumination reports interval" max="65535" min="0" type="short" value="0">
      <Help>
		Time interval between consecutive illumination reports. The reports
		are sent even if there are no changes in the light intensity.
		Available settings: 0 - 65535 (1 - 65535 seconds; 0 = reports are
		not sent)
		Default setting: 0 (no reports)
		NOTE
		Frequent reports will shorten the battery life.
		Parameter value under 5 may result in blocking the
		temperature reports.
	</Help>
    </Value>
    <Value genre="config" index="60" instance="1" label="Temperature report threshold" max="255" min="0" type="byte" value="10">
      <Help>
		The parameter determines the change in level of temperature
		resulting in temperature report being sent to the main controller.
		Available settings: 0 - 255 (0.1 - 25.5C; 0 = reports are not sent)
		Default setting: 10 (1C)
	</Help>
    </Value>
    <Value genre="config" index="62" instance="1" label="Interval of temperature measuring" max="65535" min="0" type="short" value="900">
      <Help>
		The parameter determines how often the temperature will be
		measured. The shorter the time, the more frequently the temperature
		will be measured, but the battery life will shorten.
		Available settings: 0 - 65535 (1 - 65535 seconds; 0 = temperature
		will not be measured)
		Default setting: 900 (900 seconds)
		NOTE
		Frequent reports will shorten the battery life.
		Parameter value under 5 may result in blocking the
		illumination reports.
	</Help>
    </Value>
    <Value genre="config" index="64" instance="1" label="Temperature reports interval" max="65535" min="0" type="short" value="0">
      <Help>
		The parameter determines how often the temperature reports will be
		sent to the main controller.
		Available settings: 0 - 65535 (1 - 65535 seconds; 0 = reports are not
		sent)
		Default setting: 0
	</Help>
    </Value>
    <Value genre="config" index="66" instance="1" label="Temperature offset" max="65535" min="0" type="short" value="0">
      <Help>
		The value to be added to the actual temperature, measured by the
		sensor (temperature compensation).
		Available settings: 0 - 100 (0 to 100C) or 64536 - 65535 (-100 to -0.10C)
		Default setting: 0
	</Help>
    </Value>
    <Value genre="config" index="80" instance="1" label="LED signaling mode" max="26" min="0" size="1" type="list" value="10">
      <Help>
		The parameter determines the way in which LED behaves
		after motion has been detected.
		Values 1 and from 3 to 9 = single long blink at the moment of reporting
		motion. No other motion will be indicated until alarm is cancelled.
		Values from 10 to 18 = single long blink at the moment of reporting
		motion and one short blink each time the motion is detected again.
		Values from 19 to 26 = single long blink at the moment of reporting
		motion and two short blinks each time the motion is detected again.
		Default setting: 10 (flashlight)
	</Help>
      <Item label="LED inactive." value="0"/>
      <Item label="1 long blink, LED colour depends on the temperature. Set by parameters 86 and 87." value="1"/>
      <Item label="Flashlight mode - LED glows in white for 10 seconds." value="2"/>
      <Item label="Long blink White." value="3"/>
      <Item label="Long blink Red." value="4"/>
      <Item label="Long blink Green." value="5"/>
      <Item label="Long blink Blue." value="6"/>
      <Item label="Long blink Yellow." value="7"/>
      <Item label="Long blink Cyan." value="8"/>
      <Item label="Long blink Magenta." value="9"/>
      <Item label="Long blink, then short blink, LED colour depends on the temperature. Set by parameters 86 and 87." value="10"/>
      <Item label="Flashlight mode - LED glows in white through 10 seconds.  Each next detected motion extends the glowing by next 10 seconds." value="11"/>
      <Item label="Long blink, then short blinks White." value="12"/>
      <Item label="Long blink, then short blinks Red." value="13"/>
      <Item label="Long blink, then short blinks Green." value="14"/>
      <Item label="Long blink, then short blinks Blue." value="15"/>
      <Item label="Long blink, then short blinks Yellow." value="16"/>
      <Item label="Long blink, then short blinks Cyan" value="17"/>
      <Item label="Long blink, then short blinks Magenta" value="18"/>
      <Item label="Long blink, then 2 short blinks, LED colour depends on the temperature. Set by parameters 86 and 87." value="19"/>
      <Item label="Long blink, then 2 short blinks White" value="20"/>
      <Item label="Long blink, then 2 short blinks Red" value="21"/>
      <Item label="Long blink, then 2 short blinks Green" value="22"/>
      <Item label="Long blink, then 2 short blinks Blue" value="23"/>
      <Item label="Long blink, then 2 short blinks Yellow" value="24"/>
      <Item label="Long blink, then 2 short blinks Cyan" value="25"/>
      <Item label="Long blink, then 2 short blinks Magenta" value="26"/>
    </Value>
    <Value genre="config" index="81" instance="1" label="LED brightness" max="100" min="0" type="byte" value="50">
      <Help>
		The parameter determines the brightness of LED when indicating
		motion.
		Available settings: 0 - 100 (1 - 100%; 0 = brightness determined by
		the ambient lighting - see parameters 82 and 83)
		Default setting: 50
	</Help>
    </Value>
    <Value genre="config" index="82" instance="1" label="Ambient illumination level below which LED brightness is set to 1%" max="65535" min="0" type="short" value="100">
      <Help>
		The parameter is relevant only when the parameter 81 is set to 0.
		Available settings: 0 to parameter 83 value
		Default setting: 100 (100 lux)
	</Help>
    </Value>
    <Value genre="config" index="83" instance="1" label="Ambient illumination level above which LED brightness is set to 100%" max="65535" min="0" type="short" value="1000">
      <Help>
		The parameter is relevant only when the parameter 81 is set to 0.
		Available settings: parameter 82 value to 65535
		Default setting: 1000 (1000 lux)
		NOTE
		The value of the parameter 83 must be higher than
		the value of the parameter 82.
	</Help>
    </Value>
    <Value genre="config" index="86" instance="1" label="Minimum temperature resulting in blue LED illumination" max="255" min="0" type="byte" value="18">
      <Help>
		This parameter is relevant only when parameter 80 has been
		properly configured.
		Available settings: 0 to parameter 87 value (degrees Celsius)
		Default setting: 18 (18C)
	</Help>
    </Value>
    <Value genre="config" index="87" instance="1" label="Maximum temperature resulting in red LED illumination" max="255" min="0" type="byte" value="28">
      <Help>
		This parameter is relevant only when parameter 80 has been
		properly configured.
		Available settings: parameter 86 value to 255 (degrees Celsius)
		Default setting: 28 (28C)
	</Help>
    </Value>
    <Value genre="config" index="89" instance="1" label="LED indicating tamper alarm" max="1" min="0" size="1" type="list" value="1">
      <Help>
		Indicating mode resembles a police car (white, red and blue).
		Default setting: 1 (on)
	</Help>
      <Item label="LED does not indicate tamper alarm." value="0"/>
      <Item label="LED indicates tamper alarm." value="1"/>
    </Value>
  </CommandClass>
  <!-- Basic set as report -->
  <CommandClass id="32">
    <Compatibility>
      <SetAsReport>true</SetAsReport>
    </Compatibility>
  </CommandClass>
  <!-- Association Groups -->
  <CommandClass id="133">
    <Associations num_groups="3">
      <Group index="1" label="Basic Report" max_associations="5"/>
      <Group index="2" label="Tamper Alarm" max_associations="5"/>
      <Group auto="true" index="3" label="Lifeline" max_associations="1"/>
    </Associations>
  </CommandClass>
</Product>
