Danfoss Roomsensor (014G0160) Setpoint not showing in HA

Hi,

I am trying to set up above Zwave Device (Danfoss Roomsensor) in Homeassistant. It is correctly showing in OZWCP with all configuration options and current room temperature sensor reading as well as setpoints. The plan is to use it together with a generic thermostat (mapping the current temperature to target_sensor and the setpoint to target_temp) to switch an outlet where an infrared heating element is installed.

In HA however it only shows the current temperature reading and not the setpoint item. Iā€™ve included

climate:
platform: zwave

in my configuration.yaml but no luck getting the setpoint to show.

Any pointers on how to get this to work?

Thanks, help much appreciated

Alex

Hello Everybody,
I am facing the same issue as the OP with a Danfoss / Devolo 09361 (MT2649).
After inclusion to the Z-Wave Network, I can see the current temperature, heating and cooling setpoints in OZWCP but in HA only the current temperature sensor will appear. Also, there is only one entity and one value (Temperature) visible in the Z-Wave device configuration inside HA.

The climate zwave platform is loaded in my config file. Is any further configuration necessary?

When changing the setpoint, the following appears in OZW log:

2017-08-04 17:09:16.253 Info, Node020, Received thermostat setpoint report: Setpoint Heating 1 = 19.5C
2017-08-04 17:09:16.253 Detail, Node020,   Expected reply and command class was received
2017-08-04 17:09:16.253 Detail, Node020,   Message transaction complete
2017-08-04 17:09:16.253 Detail, 
2017-08-04 17:09:16.253 Detail, Node020, Removing current message
2017-08-04 17:09:16.253 Detail, Node020, Notification: ValueChanged

Any help is greatly appreciated.

Thanks!

This is the section from the zwcfg.xml:

        <Node id="20" name="" location="" basic="4" generic="33" specific="1" type="Routing Multilevel Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
                <Manufacturer id="2" name="Danfoss">
                        <Product type="3" id="8010" name="RS Room Sensor" />                                                                                                                                                                                  </Manufacturer>
                <CommandClasses>
                        <CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" after_mark="true" innif="true" mapping="49">
                                <Instance index="1" />                                                                                                                                                                                                                </CommandClass>
                        <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="6" innif="true">
                                <Instance index="1" />
                                <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="28.14" />
                        </CommandClass>
                        <CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="0">
                                <Instance index="1" />
                                <Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="19.5" />
                                <Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="21.0" />
                                <Value type="decimal" genre="user" instance="1" index="6" label="Unused 6" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
                        </CommandClass>
                        <CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
                                <Instance index="1" />
                                <Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
                        </CommandClass>
                        <CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">                                                                                                                 
...

Hello Everybody,

let me reply to myself to let you know how I could fix the problem with the device.

After reading through the various source files of the zwave component I figured out how the device discovery actually works. While comparing some of the constant values, I discovered that in the zwcfg.xml file the value 33 for the attribute ā€œgenericā€ on the Node element of the device was in fact the code for a GENERIC_TYPE_SENSOR_MULTILEVEL. The correct value for a thermostat would need to be GENERIC_TYPE_THERMOSTAT = 8. For the specific type I guessed that SPECIFIC_TYPE_SETPOINT_THERMOSTAT = 4 would be a good choice.

After having made this change in the zwcfg.xml the discovery works correctly and three defined setpoints appear. The third setpoint is actually ā€œunusedā€ but I guess this is good enough for a start. I played around with changing the discovery_schema.py file, but the benefit of getting rid of the unused setpoint did not seem worth the effort of losing upgradability.

Best regards,
janb

Here is the XML for anyone interested:

        <Node id="20" name="" location="" basic="4" generic="8" specific="4" type="Routing Multilevel Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">                                     
                <Manufacturer id="2" name="Danfoss">
                        <Product type="3" id="8010" name="RS Room Sensor" />
                </Manufacturer>                                                                                                                                                                                                               
...
1 Like

Hi @janbster - thanks for posting this fix, worked for me too. I wonder which z-wave wizards we could notify to incorporate this fix in the Openzwave/HA codebase?

and by the way, based on this post Detect Z-Wave thermostat SetPoint change I can now change setpoint of the radiators with the RS, great!

Hello, I have 10 danfoss zuave connected to the house attendant. I can set the set point manually through the dashboard. But I canā€™t set a scene that changes the temperature. For example, ā€˜the bathtub heater is set to 24ā€™. I created this scene but it doesnā€™t workā€¦:

- id: '1677275949826'
  name: Riscaldamento alto
  entities:
      climate.calorifero_lavanderia_sp:
        state: 'on'
        temperature: '22'

Hi
So some time has passed and as I understand Z-Wave JS works differently and thereā€™s no zwcfg.xml to modify. Iā€™m facing the exact same problem as You did. Any ideas how to fix the problem today?

I managed to make a partial fix as I saw that the setpoint value from the physical device is represented in the device (thermostat) state attribute, so I manually created an entity for setpoint from that in the configuration.yaml file. It kind of works in the sense that I can create automations using it but when changing the setpoint from the app or webUI, the device is not updated and the automation will not activate. The device gets updated but the app/webUI change when I manually wake it up or when it wakes up itself but it might take time. In openhab home automation system the setpoint was detected as a channell and the changes from UI or app were basically in real time so I know the device supports it.

I understand the root of the problem is that the device is not officially supported by Z-Wave JS. At least the exact model is not in the list on their web page. What to You thin would be the chance to get them to support it?

Any ideas about the whole post?