Danfoss Ally TRV set external temperature with deconz integration

This is blueprint automation to inject external sensor temperature to Danfoss Ally TRV. This blueprint uses deconz integration. Please use properly throttled temperature sensor since this should be updated not more often than 30minutes according to Danfoss specs.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

blueprint:
  name: Danfoss Ally TRV set external temperature
  description: Set external measured temperature to Danfoss Ally TRV
  domain: automation
  input:
    danfoss_trv:
      name: Danfoss TRV
      description: This is Danfoss Ally climate TRV entity
      selector:
        entity:
          domain: climate
    temperature_sensor:
      name: Temperature sensor
      description: This sensor act as external temperature sensor for your Ally
      selector:
        entity:
          domain: sensor
          device_class: temperature

trigger:
  - platform: state
    entity_id: !input temperature_sensor

condition:
  - condition: numeric_state
    entity_id: !input temperature_sensor
    above: '0'

action:
  - service: deconz.configure
    data:
      entity: !input danfoss_trv
      field: /config
      data: '{ "externalsensortemp": {{(trigger.to_state.state|float*100)|int}} }'
mode: single

Thanks this is great !

which temp. sensor work with this ? will this work : xiaomi temp sensor image

It’ll work with any device_class: temperature. I’ve tested it with Celsius degrees. The one you posted will be fine. But Smanar from deconz team doesn’t recommend battery powered sensors. Well, I don’t know any non battery temp sensor so I’m using aqara :man_shrugging:

1 Like

Thanks, I tried my netatmo wheather station (230v) and it seems to work, but it shows temp. as 2240

does your bluepprint use it like 22,4 c ?

image

No, you need proper Celcius value (22.4) since this blueprint will then calculate it to 2240 and inject this value to the trv.
If have 2240 on the sensor you can modify the blueprint like this and it’ll work fine
data: ‘{ “externalsensortemp”: {{(trigger.to_state.state)|int}} }’

Like this ? I dont think it work ?

- id: '1635104943239'
  alias: test Danfoss Ally TRV set external temperature
  description: ''
  use_blueprint:
    path: luka6000/danfoss-ally-trv-set-external-temperature-with-deconz-integration.yaml
    input:
      danfoss_trv: climate.termostat_i_tv_stuen
      temperature_sensor: sensor.stuen_temperatur
      data: ‘{ “externalsensortemp”: {{(trigger.to_state.state)|int}} }’

You’re not using deconz, are you?

yes i am

is ‘{ “externalsensortemp”: {{(trigger.to_state.state)|int}} }’
the right place in my the code ?

But the earlier screen is not showing danfoss trv state. It looks like z2m maybe?

No. You need to modify action part

I cant get this to work :-/ (firmware on ally is 1.02)
I can see ‘externalsensortemp’ on my external sensor , but TRV dont seems to react on it ?
how often does it check the external temp?

This feature is not available for your old firmware.
You need to be on 1.08 for this to work.
Upgrade your trvs first.

ahh ok !

I ssh into my HA Blue

and the firmware file is in share dir
do you know why it wont copy ?


image

Hi
Hope you can help me.

Entity is displayed as an automation. Shouldn’t it be a .climate?
The only thing i can do is turn entety on and off.

This is from automationen config

trigger:
  - platform: state
    entity_id: sensor.baduptempsensor
condition:
  - condition: numeric_state
    entity_id: sensor.baduptempsensor
    above: '0'
action:
  - service: deconz.configure
    data:
      entity: climate.thermostat_32
      field: /config
      data: '{ "externalsensortemp": {{(trigger.to_state.state|float*100)|int}} }'
mode: single
id: '1637945045829'
alias: autBadUpTemp
description: ''

this is automation that pushes external sensor temperature to climate.danfoss trv. You want it working all the time with sensor that makes a reading every 30 minutes.

Not getting this to work it says the version of my trv is 01.12.0008 01.12, is that the correct one?

well, it would be best to upgrade to 1.18 and use this one
https://community.home-assistant.io/t/danfoss-ally-1-18-set-external-temperature-to-radiator-covered-trv/380219
The new one requires to have firmware 1.18 and attribute Radiator Covered set to true.
It works much better with this attribute and is actually using external sensor temperature directly (not as average with internal sensor as with previous firmwares).

How do I set it to true?

with deconz.
find this attribute in thermostat zigbee cluster
https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/How-to-read-Clusters
and change it
https://www.dresden-elektronik.de/funk/software/deconz.html?file=files/dresden-elektronik/content/downloads/dokumente/funktechnik/deCONZ-BHB-en.pdf#page21
look for “Writing attributes”
Sorry, you need to dig deeper into zigbee to learn this.