Page 1 of 1

(Solved) Danfoss Devolo Connect Z 014G0801

Posted: 25 Jan 2017 19:52
by b.it
Hi all,

I got nine of these Devolo Radiator Valves, three of them don't report the Multilevelsensor in the NIF (i tried multiple times to exclude, firmware reset, include to no avail)

Below is a zddx file I compiled for these devices (after the interview initially all of the devices reported different command classes, i compiled them into this xml based on another Danfoss radiator thermostat (426-0002-0005-0003-06-02-43-02-33.xml))

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<ZWaveDevice xmlns="http://www.pepper1.net/zwavedb/xml-schemata/z-wave" schemaVersion="2">

  <descriptorVersion>1</descriptorVersion>

  <deviceData>
    <manufacturerId value="0002"/>
    <productType value="0005"/>
    <productId value="0175"/>
    <libType value="06"/>
    <protoVersion value="03"/>
    <protoSubVersion value="43"/>
    <appVersion value="01"/>
    <appSubVersion value="00"/>
    <basicClass value="04"/>
    <genericClass value="08"/>
    <specificClass value="04"/>
    <optional value="true"/>
    <listening value="false"/>
    <routing value="true"/>
    <beamSensor>0</beamSensor>
                    
  </deviceData>

  <deviceDescription>
                <description>
            <lang xml:lang="de">steuerbarer Heizungsthermostat</lang>
            <lang xml:lang="en">Radiator Thermostat</lang>
          </description>
            <wakeupNote>
            <lang xml:lang="de">Kurzer Druck Mitteltaste</lang>
            <lang xml:lang="en">Short push middle button</lang>
          </wakeupNote>
            <inclusionNote>
            <lang xml:lang="de">Kurzer Druck Mitteltaste</lang>
            <lang xml:lang="en">Short push middle button</lang>
          </inclusionNote>
            <productName>Devolo Radiator Thermostat MT:2650 014G0801</productName>
            <brandName>Danfoss</brandName>
            <productLine>Radiator Thermostat</productLine>
                    <batteryType>AA</batteryType>
            <batteryCount>2</batteryCount>
            </deviceDescription>

    <commandClasses>
    <commandClass id="0020" version="0" controlled="false" secure="false"/>
    <commandClass id="0043" version="2" controlled="false" secure="false"/>
    <commandClass id="0046" version="1" controlled="true" secure="false"/>
    <commandClass id="0072" version="1" controlled="false" secure="false"/>
    <commandClass id="0075" version="2" controlled="false" secure="false"/>
    <commandClass id="0080" version="1" controlled="false" secure="false"/>
    <commandClass id="0081" version="1" controlled="true" secure="false"/>
    <commandClass id="0084" version="2" controlled="false" secure="false"/>
    <commandClass id="0086" version="1" controlled="false" secure="false"/>
    <commandClass id="008f" version="1" controlled="true" secure="false"/>
    <commandClass id="0031" version="6" controlled="false" secure="false"/>
    <commandClass id="0044" version="1" controlled="true" secure="false"/>
    <commandClass id="0042" version="1" controlled="true" secure="false"/>
    <commandClass id="004c" version="1" controlled="true" secure="false"/>
  </commandClasses>
  
    <assocGroups>
        <assocGroup number="1" maxNodes="1">
            <description>
                <lang xml:lang="de">Ziel für alle Nachrichten des Gerätes</lang>
                <lang xml:lang="en">Target for Wakeup and Override Notifications</lang>
              </description>
          </assocGroup>
      </assocGroups>
 
    <resourceLinks>
     
    <deviceImage url="http://www.pepper1.net/zwavedb/uploads/resources/589a0b04e3efa72e45846296793e1e8ab50f2e3f.gif" />
      </resourceLinks>
    
  </ZWaveDevice>
(to use this file copy it to /opt/z-way-server/ZDDX/426-0002-0005-0175-06-03-43-01-00.xml, run "sudo python ./MakeIndex.py" and restart z-way)

The devices no get identified correctly on inclusion but the Multilevelsensor is still not available

As a comparison, this is the zddx output of a fully working thermostat:

Code: Select all

<commandClasses>
<commandClass id="0020" version="0" supported="true" controlled="false" secure="false" inNIF="false"/>
<commandClass id="0043" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0046" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0072" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0075" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0080" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0081" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0084" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0086" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="008f" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0031" version="6" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0044" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
<commandClass id="0042" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
<commandClass id="004c" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
</commandClasses>
This one is from a failing one (missing 0031):

Code: Select all

<commandClasses>
<commandClass id="0020" version="0" supported="true" controlled="false" secure="false" inNIF="false"/>
<commandClass id="0043" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0046" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0072" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0075" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0080" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0081" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0084" version="2" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="0086" version="1" supported="true" controlled="false" secure="false" inNIF="true"/>
<commandClass id="008f" version="1" supported="true" controlled="true" secure="false" inNIF="true"/>
<commandClass id="0042" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
<commandClass id="0044" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
<commandClass id="004c" version="1" supported="false" controlled="true" secure="false" inNIF="false"/>
</commandClasses>
So, before I return them to the vendor: is there anything that could be done in postfix to force the missing entry for debugging purposes? I'd like to test how the devices react if I try to read the missing sensor even though it's not advertised in the NIF.

Best regards,
Johannes

Re: Danfoss Devolo Connect Z 014G0801

Posted: 26 Jan 2017 00:51
by PoltoS
Looks like you have two different versions. Check the App Version. You should see those with SensorML to be more recent

Re: Danfoss Devolo Connect Z 014G0801

Posted: 26 Jan 2017 19:22
by b.it
Device information is the 100% same for all nine. The only differences in the zddx are the reported command classes.

When I reviewed the originally created zddx information yesterday evening I notice that the three failing devices reported cc 31 version 1 instead of 6. I removed my zddx for the device type and added the following code to the postfix:

Code: Select all

{"p_id":"2.5.373","product":"","preInterview":[],"postInterview":["if (commandClassId==0x31 && self.zway.devices[nodeId].SensorMultilevel.data.version!=6) { self.zway.devices[nodeId].SensorMultilevel.data.version = 6; self.zway.devices[nodeId].SensorMultilevel.data.supported = true; self.zway.devices[nodeId].SensorMultilevel.Interview(); }"],"last_update":"2017-01-26 15:32:55","tester":"b.it","commentary":"Fix command class for SensorMultilevel on devices reporting 0031 version 1","id":78}
I guess these thermostats qualify for the problematic devices list: here's what I found reported in addition to the wrong version for cc 31:
0044 (2 devices)
0042 (2 devices)
004c (1 device)
0063 (1 device)
0030 (1 device)
0094 (1 device)

Also, if you use own these thermostats I urge you to check/replace the batteries included with the product (SONY branded). I had three cases of leaking batteries on devices installed on the end of October. Fun quote from the operations manual:"Always keep batteries away from open flame and high temperatures. Avoid direct
sunlight and heat radiation!" Doh!

Re: (Solved) Danfoss Devolo Connect Z 014G0801

Posted: 05 Mar 2017 20:16
by sgbirch
I also have about nine of these devices, they seem to be working ok but I have run into a problem. In my system the reported temperature is being used to call for heat from the boiler.

But, when the TRVs get close to the set temperature the valve starts to close, this is the proportional control feature at work.. This is fine except the last TRV to reach the correct temperature is slowly starved of heat, leaving the boiler running for too long.

I have experimented with setting higher temperatures on some TRVs but it gets messy.

I'd really like to disable that feature. Do you know if the Devolo has a "quick" mode which disabled the proportional control and leaves the valve fully open until it reaches the target temperature?

Z-Wave documentation confuses me to death, I tried to find a full explanation of the different command the device responds to but got nowhere.

Steve

Re: (Solved) Danfoss Devolo Connect Z 014G0801

Posted: 06 Mar 2017 23:59
by PoltoS
I don't think it can do what you want. This device is originally made by Danfoss and Danfoss are sure they know better than you (and in most cases they are right), so they do not allow users to change settings.

At least when we propose to their developer to make config params the answer was easy: "if user mess up hist tubes (get water freeze for example), they will blame us - so we do not provide any control by user and use professional [sometimes oldschool and outdated] algorithms to keep everything safe". And I do understand them - they care about their brand a lot!