Page 1 of 1

How do i add a new type device in zwave?

Posted: Monday 24 July 2017 19:25
by tlpeter
I bought a Fibaro FGCD-001 (CO sensor)
This device is not recognized as it is brand new.

How can i (try to) add it with the openzwave part of Domoticz?

I have added in the manufactures_specific.xml and created a fgcd001.xml which ifcourse is not filled.
What do i need to enter there?

I have a ZC17055584.xml which has all kind of info about command classes but i have no clue what and how to add.

This is what i see in the Domoticz logs:

Code: Select all

2017-07-24 19:23:38.699 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: SENSOR BINARY, Label: Sensor, Instance: 0
2017-07-24 19:23:38.700 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: SENSOR MULTILEVEL, Label: Temperature, Instance: 1
2017-07-24 19:23:38.700 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Alarm Type, Instance: 1
2017-07-24 19:23:38.701 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Alarm Level, Instance: 1
2017-07-24 19:23:38.702 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: SourceNodeId, Instance: 1
2017-07-24 19:23:38.702 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Carbon Monoxide, Instance: 1
2017-07-24 19:23:38.703 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Heat, Instance: 1
2017-07-24 19:23:38.704 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Burglar, Instance: 1
2017-07-24 19:23:38.705 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: Power Management, Instance: 1
2017-07-24 19:23:38.708 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: ALARM, Label: System, Instance: 1
2017-07-24 19:23:38.709 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: BATTERY, Label: Battery Level, Instance: 1
2017-07-24 19:23:38.710 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: SENSOR ALARM, Label: General, Instance: 1
2017-07-24 19:23:38.711 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: SENSOR ALARM, Label: Carbon Monoxide, Instance: 1
2017-07-24 19:23:38.712 OpenZWave: Value_Added: Node: 16 (0x10), CommandClass: SENSOR ALARM, Label: Heat, Instance: 1

Re: How do i add a new type device in zwave?

Posted: Tuesday 25 July 2017 7:54
by tlpeter
Ok figured it out more.
I filled up the fgcd001.xml and now i can configure all the settings and change them o the CO sensor.
I do have switches for burglar, heat, and CO and a temperature sensor.
What i do not have is a PPM which the sensor can give.
Is there a CO sensor within Domoticz which can be used for this?
I think this will be a popular sensor soon.

This is what i added in the manufacture_specific.xml:

Code: Select all

<Product type="1201" id="1000" name="FGSD001 CO Sensor" config="fibaro/fgcd001.xml" />
This is the homemade fgcd001.xml:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>

<Product xmlns='http://code.google.com/p/open-zwave/'>

	<!-- Configuration -->
	<CommandClass id="112">

		<!--<Value type="list" genre="config" instance="1" index="1" label="Fibaro CO Sensor sensitivity" min="1" max="3" value="2" size="1">
			<Help>There are 3 levels of sensitivity to smoke presence. Level 1 means the highest sensitivity. Rising the parameter value lowers the sensitivity to smoke presence.</Help>
			<Item label="HIGH Sensitivity" value="1" />
			<Item label="MEDIUM Sensitivity" value="2" />
			<Item label="LOW Sensitivity" value="3" />
		</Value-->

		<Value type="list" genre="config" instance="1" index="2" label="Z-Wave notifications status" min="0" max="3" value="0"  size="1">
			<Help>This parameter allows to set the actions which result in sending notifications to the Z-Wave network controller. </Help>
			<Item label="all notifications disabled" value="0" />
			<Item label="enclosure opening notification enabled" value="1" />
			<Item label="exceeding temperature threshold notification enabled" value="2" />
			<Item label="all notifications enabled" value="3" />
		</Value>

		<Value type="list" genre="config" instance="1" index="3" label="LED diode indications" min="0" max="7" value="0"  size="1">
			<Help>This parameter allows to set the actions which result in LED diode indications. This parameter does not apply to the most important actions, such as CO Alarm, Malfunction Alarm and Low Battery Alarm. </Help>
			<Item label="all notifications disabled" value="0" />
			<Item label="enclosure opening notification enabled" value="1" />
			<Item label="exceeding temperature threshold notification enabled" value="2" />
		 	<Item label="enclosure opening and exceeding temperature threshold notifications enabled" value="3" />
			<Item label="lack of Z-Wave range notification" value="4" />
			<Item label="enclosure opening and lack of Z-Wave range notifications enabled" value="5" />
			<Item label="exceeding temperature threshold and lack of Z-Wave range notifications enabled" value="6" />
			<Item label="all notifications enabled" value="7" />
		</Value>

		<Value type="list" genre="config" instance="1" index="4" label="Acoustic signals" min="0" max="7" value="0"  size="1">
			<Help>This parameter allows to set the actions which result in acoustic signals. This parameter does not apply to the most important actions, such as CO Alarm, Malfunction Alarm and Low Battery Alarm.</Help>
			<Item label="all notifications disabled" value="0" />
			<Item label="enclosure opening notification enabled" value="1" />
			<Item label="exceeding temperature threshold notification enabled" value="2" />
			<Item label="enclosure opening and exceeding temperature threshold notifications enabled" value="3" />
			<Item label="lack of Z-Wave range notification" value="4" />
			<Item label="enclosure opening and lack of Z-Wave range notifications enabled" value="5" />
			<Item label="exceeding temperature threshold and lack of Z-Wave range notifications enabled" value="6" />
			<Item label="all notifications enabled" value="7" />
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="7" label="Associations in Z-Wave network security mode" min="1" max="63" value="63"  size="1">
			<Help>Parameter defines how commands are sent in specified association groups: as secure or non-secure. Parameter is active only in Z-Wave network security mode. It does not apply to 1st “Lifeline” association group.
			Available settings: 1 - 2nd group sent as secure
			2 - 3rd group sent as secure
			4 - 4th group sent as secure
			8 - 5th group sent as secure
			16 - 6th group sent as secure
			32 - 7th group sent as secure
			Default setting: 63
			NOTE Parameter 7 values may be combined, e.g. 1+2=3 means that 2nd & 3rd group are sent as secure.</Help>
		</Value>

		<Value type="list" genre="config" instance="1" index="10" label="Commands sent to 2nd association group (CO Alarm)" min="0" max="2" value="0" size="1">
			<Help>This parameter defines which frames will be sent in the 2-nd Association Group (CO ALARM).</Help>
			<Item label="BASIC ON" value="1" />
			<Item label="BASIC OFF" value="2" />
			<Item label="BASIC ON BASIC OFF enabled" value="3" />
		</Value>

		<Value type="byte" genre="config" instance="1" index="11" label="Value of BASIC ON command sent to 2nd association group" min="0" max="255" value="255">
			<Help>This parameter defines the value of BASIC ON command sent to devices in 2nd association group after the CO Alarm activation.</Help>
		</Value>

		<Value type="byte" genre="config" instance="1" index="12" label="Value of BASIC OFF command sent to 2nd association group" min="0" max="255" value="0">
			<Help>This parameter defines the value of BASIC OFF command sent to devices in 2nd association group after the CO Alarm cancellation.</Help>
		</Value>

		<Value type="list" genre="config" instance="1" index="13" label=" Commands sent to 4th association group (CO Level)" min="1" max="3" value="3" size="1">
			<Help>This parameter defines commands sent to devices associated in 4th association group (CO Level). Values of specified commands may be set in parameters 16 and 19.
			Available settings: 1 - BASIC ON
			2 - BASIC OFF
			3 - BASIC ON & BASIC OFF
			Default setting: 3 (ON & OFF)</Help>
			<Item label="BASIC ON" value="1" />
			<Item label="BASIC OFF" value="2" />
			<Item label="BASIC ON BASIC OFF enabled" value="3" />
		</Value>

		<Value type="byte" genre="config" instance="1" index="14" label="CO level required for sending BASIC ON command to 4th association group" min="25" max="400" value="40" size="2">
			<Help>This parameter defines the minimum level of CO concentration whichexceeding will result in starting the timer set in parameter 15. 
				Available settings: 25 - 400  CO concentration level in ppm</Help>
		</Value>

		<Value type="byte" genre="config" instance="1" index="15" label="Time required for sending BASIC ON command to 4th association group" min="0" max="2880" value="0" size="2">
			<Help>This parameter defines the time during which the level of CO concentration should remain above the value set in parameter 14 to send the BASIC ON command to 4th association group.
			Available settings: 0 - immediate sending of BASIC ON command 1-2880 (30s - 24h, in 30s steps
			Default setting: 0</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="16" label="Value of BASIC ON command sent to 4th association group" min="0" max="255" value="255" size="2">
			<Help>This parameter defines the value of BASIC ON command sent to devices in 4th association group after exceeding the CO level set in parameter 14 through the time set in parameter 15.
			Available settings: 0-99 or 255
			Default setting: 255 (turn on)</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="17" label="CO Level required for sending BASIC OFF command to 4th association group" min="10" max="400" value="25" size="2">
			<Help>This parameter defines the level of CO concentration below which falling will result in sending the BASIC OFF command to 4th association group.
			Available settings: 10-400 - CO concentration level in ppm
			Default setting: 25 (25 ppm)</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="19" label="Value of BASIC OFF command sent to 4th association group" min="0" max="255" value="0" size="2">
			<Help>This parameter defines the value of BASIC OFF command sent to devices in 4th association group after falling below the CO level set in parameter 17.
			Available settings: 0-99 or 255
			Default setting: 0 (turn off)</Help>
		</Value>
		
		<Value type="short" genre="config" instance="1" index="20" label="Temperature report interval"  value="0" min="0" max="1440" >
			<Help>Time interval (in seconds) between consecutive reports of temperature (done by built-in temperature sensor). Short time interval means more frequent communication, which results in shortened battery life.
			Available settings: 0 - no periodical reports
			10-1440 (5min - 12h, in 30s steps)
			Default setting: 0</Help>
		</Value>

		<Value type="byte" genre="config" instance="1" index="21" label="Temperature report hysteresis"  value="2" min="1" max="20" size="1">
			<Help>This parameter defines a minimum change in temperature resulting in a report being sent to the main Z-Wave controller.
			Available settings: 1-20 (0.5°C - 10°C, each 0.5°C)
			Default setting: 2 (1°C) P</Help>
		</Value>

		<Value type="byte" genre="config" instance="1" index="22" label="Threshold of exceeding the temperature"  value="55" min="1" max="85" size="1">
			<Help>This parameter defines the temperature level, which exceeding will result in sending actions set in parameters 2, 3 and 4.
			Available settings: 1-85 (1°C - 85°C, each 1°C)
			Default setting: 55 (55°C)</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="23" label="CO meter activation"  value="1" min="0" max="1" size="1">
			<Help>This parameter activates reporting the value of CO concentration level to the main Z-Wave controller.</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="25" label=" CO level reporting hysteresis"  value="2" min="2" max="6" size="1">
			<Help>This parameter defines a minimum change in CO concentration level
			which results in sending a new value to the main Z-Wave controller.
			Available settings: 2-6 (10 ppm - 30 ppm, each 5 ppm)
			Default setting: 2 (10 ppm)</Help>
		</Value>
		
		<Value type="byte" genre="config" instance="1" index="26" label="Threshold of CO meter activation"  value="30" min="10" max="255" size="2">
			<Help>This parameter defines the CO concentration level, which exceeding will result in sending a new value to the main Z-Wave controller, according to parameter 25 settings. Adjusting the value allows to get the accurate data in case of danger and helps to save the battery in normal conditions.
			Available settings: 10-255 (ppm)
			Default setting: 30 (30 ppm)</Help>
		</Value>
		
	</CommandClass>

	 <!-- Basic set as report -->
	 <CommandClass id="32" setasreport="true"/>

	<!-- Association Groups -->
	<CommandClass id="133">
		<Associations num_groups="7">
			<Group index="1" max_associations="1" label="Lifeline" />
			<Group index="2" max_associations="5" label="CO Alarm" />
			<Group index="3" max_associations="5" label="CO Alarm" />
			<Group index="4" max_associations="5" label="CO Level" />
			<Group index="5" max_associations="5" label="Tamper Alarm" />
			<Group index="6" max_associations="5" label="CO Alarm" />
			<Group index="7" max_associations="5" label="Tamper Alarm BC" />
		</Associations>
	</CommandClass>

</Product>

Re: How do i add a new type device in zwave?

Posted: Thursday 27 July 2017 11:33
by ittie
I agree about the PPM missing.

Re: How do i add a new type device in zwave?

Posted: Thursday 27 July 2017 11:55
by tlpeter
It should be possible if i read the specs:

Code: Select all

<Name>CO meter activation</Name>
      <Description>This parameter activates reporting the value of CO concentration level
to the main Z-Wave controller.</Description>
      <ParameterNumber>23</ParameterNumber>
      <Size>1</Size>
      <DefaultValue>1</DefaultValue>
      <pType>0</pType>
      <flagReadOnly>false</flagReadOnly>
      <flagReInclude>false</flagReInclude>
      <flagAdvanced>false</flagAdvanced>
      <v3plus>false</v3plus>
      <minValue>0</minValue>
      <maxValue>0</maxValue>
      <ConfigurationParameterValues>
        <ConfigurationParameterValueExport>
          <From>0</From>
          <To>0</To>
          <Description>disabled</Description>
        </ConfigurationParameterValueExport>
        <ConfigurationParameterValueExport>
          <From>1</From>
          <To>1</To>
          <Description>enabled</Description>
        </ConfigurationParameterValueExport>
      </ConfigurationParameterValues>
    </ConfigurationParameterExport>
    <ConfigurationParameterExport>
      <Name>CO level reporting hysteresis</Name>
      <Description>This parameter defines a minimum change in CO concentration level
which results in sending a new value to the main Z-Wave controller.</Description>
So i wonder if Domoticz is able to read it or that it is not send to Domoticz.