Thermostat card - option to display external temperature

The recent improvements (Dec-23) to the thermostat card are great and I’d love to use it, but they are no use for anyone who’s heating set-up uses external temperature sensors, and I believe there are plenty of us.

My TRVs (Danfoss in my case) completely ignore their own temperature sensor, so it makes no sense to use the standard thermostat card, which only displays this value (and the value is typically 2-3c higher).

The options out there for external sensors are very limited. Because I much prefer a round dial control I’m making do with Dark Thermostat Card, which was last updated in 2021. The only other option I’m aware of is Simple Thermostat, which allows sensors to be added.

This issue was originally raised in 2021 and I raised again today… On both occasions it was closed because “it’s a back end issue”, which is unfortunate because this requirement/gap definitely has merit and should go somewhere. (AS an end user, all I can do is express the desired functionality and to point out how the two cards mentioned above have implemented it).

Are you able to use generic? Generic thermostat - Home Assistant

I’m using Danfoss TRVs too and experiencing the same problem.

As far as I understand the generic thermostat allows you to create a thermostat using temperature sensors and switches. This is not what I want : I want to be able to set the target temperatures on my TRV and rely on its internal regulation.

So basically, currently the solutions to displaying the external temperature in a dashboard seem to be :

  • create a climate template that remaps the original climate entity (brittle and lots of work) and use the official thermostat card
  • use a third-party card

I second @Wickedy123 on the idea that just being able to override the sensor that displays the current temperature would a nice addition to this card, and I don’t really understand @frenck 's comment about back/front responsabilities.

I agree. External sensor should be an option without having to use 3rd party card.

I am using Danfoss Ally Thermostats with Zigbee2mqtt.

I solved this by adding this for each thermostat to the Zigbee2mqtt configuration.yaml:

homeassistant:
  climate:
    current_temperature_template: '{{ value_json.external_measured_room_sensor|float/100 }}'

Basically, I changed this:

'0x0123456789abcdef':
    friendly_name: Living room Thermostat

Into this:

'0x0123456789abcdef':
    friendly_name: Living room Thermostat
    homeassistant:
      climate:
        current_temperature_template: '{{ value_json.external_measured_room_sensor|float/100 }}'

.
.
.
.
.
.

On a slightly related topic: Danfoss thermostats have two modes for changing the setpoint. The ‘regular’ one causes a massive burst of heat but there is a second method, the so-called ‘scheduled’ change setpoint that doesn’t do this.

I added this additional configuration to my zigbee2mqtt configuration.yaml file to change this default:

        temperature_command_topic: >-
          zigbee2mqtt/Living room
          Thermostat/set/occupied_heating_setpoint_scheduled
        temperature_state_template: '{{ value_json.occupied_heating_setpoint_scheduled }}'

This is under the ‘homeassistant’ node.

Note that ‘zigbee2mqtt’ is the base topic and ‘Living room Thermostat’ is the friendly name of the device.