Page 1 of 1

Update manufacturer_specific.xml without exclude/include?

Posted: Wednesday 18 November 2015 20:14
by ErFr
Have a ZP3102 EU PIR Motion Sensor which lacks three configuration parameters. Changed the file vision/zp3102 to the following and want to test if it works. (config index parameters 2, 3, and 4 are added).

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<!-- Vision ZP3102 PIR Motion Sensor -->
<Product xmlns='http://code.google.com/p/open-zwave/'>
        <!-- COMMAND_CLASS_CONFIGURATION -->
        <!--    IMPORTANT: Controllers may only allow to configure signed values.
                In order to set values in the range 128...255 the value sent in the application shall be the desired value minus 256.
                For example: to set a parameter to 200? it may be needed to set a value of 200 minus 256 = minus 56.
                In case of two byte value the same logic applies: Values greater than 32768 may needed to be given as negative values too.-->
        <CommandClass id="112">
                <Value type="byte" genre="config" index="1" label="Re-Trigger Waiting Time" units="minutes" min="1" max="255" value="3">
                        <Help>Time until an associated device will turn off if no new movement is detected</Help>
                </Value>
                <Value type="list" genre="config" index="2" label="Celcius/Fahrenheit" size="1" min="0" max="1" value="0">
                        <Help>Report temperature in Celcius or Fahrenheit</Help>
						<Item label="Celcius" value="0" />
						<Item label="Fahrenheit" value="1" />
                </Value>
                <Value type="byte" genre="config" index="3" label="Sensitivity" units="" min="1" max="7" value="4">
                        <Help>Sensitivity 1-7 (1 = most sensitive, 7 = most insensitive)</Help>
                </Value>
                <Value type="byte" genre="config" index="4" label="Temperature adjustment" units="" min="0" max="255" value="0">
                        <Help>-10 to -1, 0 to 10 (Signed decimal in Celsius: 0xF6 to OxFF,0x0 to 0xA)</Help>
                </Value>
        </CommandClass>

        <!-- COMMAND_CLASS_BASIC -->
        <CommandClass id="32" setasreport="true"/>

        <!-- COMMAND_CLASS_ASSOCIATION -->
        <CommandClass id="133">
                <Associations num_groups="1">
                        <Group index="1" max_associations="5" label="Basic on/off group for detecting movements" auto="true"/>
                </Associations>
        </CommandClass>

</Product>
Is it possible to update manufacturer_specific.xml and its subfiles without excluding and reinclude a zwave device for the change to take effect?

Re: Update manufacturer_specific.xml without exclude/include

Posted: Thursday 19 November 2015 14:48
by Domosapiens
ErFr,

Open a log window
Stop Z-wave
Copy zwcfg_0xnnnnn.xml to a safe location
Edit the zwcfg_0xnnnnn.xml
Remove the zp3102 concerned part (be careful where the code starts and stops)
Save zwcfg_0xnnnnn.xml
Start Z-wave
Take a look at the log window and see how the zp3102 is re-included

Success
Domosapiens

Re: Update manufacturer_specific.xml without exclude/include

Posted: Thursday 19 November 2015 16:58
by ErFr
Thank you!

I didn't removed anything in the xml file, inserted my additions for the affected nodes, also added the Instance="1" element

Re: Update manufacturer_specific.xml without exclude/include

Posted: Thursday 19 November 2015 21:58
by Domosapiens
ErFr,

what xml file you are talking about ?

zwcfg_0xnnnnn.xml is a file constructed by Domoticz
(the nnnnn in the file name is your specific Z-Wave number)
At start-up it uses as source the manufacturer_specific.xml
Adaptation of the zwcfg_0xnnnnn.xml does not work.
Only removing parts out it, will do

Domosapiens

Re: Update manufacturer_specific.xml without exclude/include

Posted: Thursday 19 November 2015 22:39
by ErFr
I did as follows
  1. Disabled the Razberry hardware in Domoticz
  2. Backuped my instance of zwcfg_0xnnnnn.xml file (with my specific specific Z-Wave number)
  3. Opened the file and changed the node according to below
  4. Re-enabled the Razberry hardware in Domoticz
  5. Watched the log. The node was added (not included) again
  6. Waited for all nodes to be quired
  7. Went to the hardware page in Domoticz, selected my PIR node
  8. The new parameters were there. Changed them and applied the parameters.
  9. No error message
  10. Requested current stored values from device, and the node in Domoticz were populated with the new values
Changing the zwcfg_0xnnnnn.xml file was a bit tricky, I had to analyze and put some more information in it compared to above.

From this:

Code: Select all

			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" issecured="true" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="config" instance="1" index="1" label="Re-Trigger Waiting Time" units="minutes" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
					<Help>Time until an associated device will turn off if no new movement is detected</Help>
				</Value>
			</CommandClass>
To this:

Code: Select all

			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" issecured="true" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="config" instance="1" index="1" label="Re-Trigger Waiting Time" units="minutes" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="3">
					<Help>Time until an associated device will turn off if no new movement is detected</Help>
				</Value>
				<Value type="list" genre="config" instance="1" index="2" label="Celcius/Fahrenheit" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
					<Help>Report temperature in Celcius or Fahrenheit</Help>
					<Item label="Celcius" value="0" />
					<Item label="Fahrenheit" value="1" />
				</Value>
				<Value type="byte" genre="config" instance="1" index="3" label="Sensitivity" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="7" value="5">
					<Help>Sensitivity 1-7 (1 = most sensitive, 7 = most insensitive. 4 is default)</Help>
				</Value>
				<Value type="byte" genre="config" instance="1" index="4" label="Temperature adjustment" units="Degrees Celsius" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">
					<Help>-10 to -1, 0 to 10 (Signed decimal: 246 to 255, 0 to 10)</Help>
				</Value>
			</CommandClass>

Re: Update manufacturer_specific.xml without exclude/include

Posted: Friday 20 November 2015 0:47
by Domosapiens
ErFr,

Success ? No Success?
Not sure if I understand you.

Changing the zwcfg_0xnnnnn.xml file does not work.
That file is a result of the activity of Domoticz, its not an input file.

There is no need to adapt the manufacturer_specific.xml because the ZP3102 EU is there (if you use V2.3608)
Adapt the vision/zp3102.xml according to your needs (be aware that with the next release you adaptation will be overwritten!)

Stop Z-wave.
Remove in the zwcfg_0xnnnnn.xml the whole section concerning your id number of the ZP3102 EU.
Then restart Z-Wave.
Domoticz will act like there is a new node and will read the vision/zp3102.xml.
The results of that are stored in the zwcfg_0xnnnnn.xml

Hope this helps
Domosapiens

Re: Update manufacturer_specific.xml without exclude/include

Posted: Friday 20 November 2015 9:06
by ErFr
I have not sufficient knowledge about how it works in detail, I have only my experience and made some conclusions from it, which of course can be wrong.

When I inserted my additions in zwcfg_0xnnnnn.xml they appeared in Domoticz web gui after zwave controller was enabled in Domoticz. Since my added parameters are only configuration parameters, member of the zwave command class, they are not involved in any zwave handshaking with the device and therefore it works to just put them into zwcfg_0xnnnnn.xml?
My conclusion could be wrong. But It seems to work. I have just lowered the sensitivity on my PIR and my cats at home will verify if the setting took affect. :)

Re: Update manufacturer_specific.xml without exclude/include

Posted: Friday 20 November 2015 11:08
by Domosapiens
ErFr,

That surprised me !
It means that you have met the topic title.
I'll wait for your cat ..

Domosapiens