Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Danfoss Z-Wave radiator thermostat does not have HVAC modes #28834

Open
alex3305 opened this issue Nov 17, 2019 · 10 comments

Comments

@alex3305
Copy link
Contributor

@alex3305 alex3305 commented Nov 17, 2019

Home Assistant release with the issue: 0.101.3

Last working Home Assistant release (if known): None

Operating environment (Hass.io/Docker/Windows/etc.): Docker

Integration: https://www.home-assistant.io/integrations/zwave/

Description of problem:

HVAC modes are missing from my Z-Wave Climate entries. Also it seems that preset modes also aren't available. I am using the Popp TRV010101, which is almost the same as the Danfoss LC-13 radiator thermostat.

image

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

None. I have configured Z-Wave completely using Z-Wave Integrations.

image

Traceback (if applicable): None

@probot-home-assistant

This comment has been minimized.

Copy link

@probot-home-assistant probot-home-assistant bot commented Nov 17, 2019

Hey there @home-assistant/z-wave, mind taking a look at this issue as its been labeled with a integration (zwave) you are listed as a codeowner for? Thanks!

@Hooch76

This comment has been minimized.

Copy link

@Hooch76 Hooch76 commented Nov 25, 2019

Same here. I've also got a Danfoss / Devolo thermostat where hvac_modes are not populated.

@alex3305

This comment has been minimized.

Copy link
Contributor Author

@alex3305 alex3305 commented Nov 29, 2019

I've already mentioned this on the Discord #devs-general channel, but I've created a local version which supports a single hvac_mode:

image

The hvac_action heating is activated when the current temperature is below setpoint, and set to idle when the inverse is true. For now this seems to work, albeit this is a very basic implementation:

image

I would like to get some feedback on this proposed change prior to submitting this as a possible PR.

@alex3305

This comment has been minimized.

Copy link
Contributor Author

@alex3305 alex3305 commented Nov 29, 2019

I just realized that the change that I showed in my post above would likely need both the hot_tolerance and cold_tolerance optional configuration variables. At least for the thermostats I use. Those are also used in the Generic Thermostat component.

@Hooch76

This comment has been minimized.

Copy link

@Hooch76 Hooch76 commented Dec 2, 2019

I would like to get some feedback on this proposed change prior to submitting this as a possible PR.

How did you implement that exactly? "hvac_action" is not present for my thermostat.
The reason I would like to have "hvac_mode" (on, heat, cool) available is: I just want to create an easy automation (!) that turns off the thermostat when a window is opened (IOW: windows open -> set hvac_mode to off) and that sets hvac_mode to "heat" when the window is closed again. I want to avoid to just increase or decrease the temperature of the thermostat because setting it to a fixed temperature might interfere with other automations.
Is that something your implementation will be able to handle?

@bieniu

This comment has been minimized.

Copy link
Contributor

@bieniu bieniu commented Dec 2, 2019

Could you share your version? I can test it with Danfoss LC-13 thermostat. Danfoss doesn't report current_temperature. Could it be a problem?

@alex3305

This comment has been minimized.

Copy link
Contributor Author

@alex3305 alex3305 commented Dec 2, 2019

@Hooch76 hvac_modes are not provided by this device. Thus hvac_action will not work. The change I will be proposing will only provide a working hvac_action with a single hvac_mode. With this device that will be the heating mode. That would at least provide us with the current state of the device, which is now completely omitted.

A workaround for your use case would be rather trivial though. You could implement something like this:

input_number:
  last_temp_climate_livingroom:
    name: Last temperature climate living room
    min: 4
    max: 28
    step: 0.5
    unit_of_measurement: °C

input_boolean:
  heating_livingroom_active:
    name: Living room heating

automation:
  - alias: Turn off living room heating
    trigger:
      platform: state
      entity_id: input_boolean.heating_livingroom_active
      to: 'off'
    action:
      - service: input_number.set_value
        data_template:
          entity_id: input_number.last_temp_climate_livingroom
          value: "{{ states.climate.livingroom.attributes.temperature }}"
      - service: climate.set_temperature
        data:
          entity_id: climate.livingroom
          temperature: 4

  - alias: Turn on living room heating
    trigger:
      platform: state
      entity_id: input_boolean.heating_livingroom_active
      to: 'on'
    action:
      service: climate.set_temperature
      data_template:
        entity_id: climate.livingroom
        temperature: "{{ states.input_number.last_temp_climate_livingroom.state }}"

Where you can also use a binary_sensor template for your window or an additional trigger on the automations.

@bieniu That is a widely reported device limitation of the Danfoss LC-13. See also #9478. Only the Popp or Remotec variants return the current temperature.

@bieniu

This comment has been minimized.

Copy link
Contributor

@bieniu bieniu commented Dec 2, 2019

I know that. I asked if your solution is somehow related to current_temperature or will it be universal for all radiator thermostats.

@alex3305

This comment has been minimized.

Copy link
Contributor Author

@alex3305 alex3305 commented Dec 2, 2019

@bieniu Ah right, I re-read your message and I understand now. The lack of current_temperature could possibly be an issue. Because the hvac_action is dependent on that property.

However I'm currently testing another variant of this proposed change where you will need to set hvac_modes as a customization entry. Omitting to do so, would not change anything to current configuration entries.

@bieniu

This comment has been minimized.

Copy link
Contributor

@bieniu bieniu commented Dec 2, 2019

I wrote sometime ago a script that adds hvac_modes (and current_temperature from external sensor) to the thermostat entity. It works but it isn't ideal solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.