Skip to content

Configuration ideas

Art M. Gallagher edited this page May 3, 2024 · 4 revisions

Although it's up to you how to make your Warmup devices work in your implementation, here are some ideas of what others have found useful.

Sensors

This is a straightforward way to get data out of the device into sensors that you can track and graph.

Note: by setting unit_of_measurement, Home Assistant automatically did a conversion to Fahrenheit when displayed and/or graphed on my system in the US.

sensors:
  - platform: template:
    sensors:
      temperature_myroomname_air:
        friendly_name_template: "{{ states.climate.myroomname.attributes['friendly_name'] }} Air Temperature"
        value_template: '{{ states.climate.myroomname.attributes["air_temperature"] }}'
        unit_of_measurement: "°C"
      temperature_myroomname_floor:
        friendly_name_template: "{{ states.climate.myroomname.attributes['friendly_name'] }} Floor Temperature"
        value_template: '{{ states.climate.myroomname.attributes["floor_temperature"] }}'
        unit_of_measurement: "°C"
        # specifying unit_of_measurement helps HA localise readings (e.g. convert to Fahrenheit on your display)

Alternative configuration

If you have issues getting that working, then perhaps this configuration, suggested by @tboothman, and using the state_attr function, might help you

sensors.yaml:

platform: template
sensors:
  temperature_kitchen_air:
    friendly_name_template: "{{ state_attr('climate.kitchen', 'friendly_name') }} Air Temperature"
    value_template: "{{ state_attr('climate.kitchen', 'air_temperature') }}"
    unit_of_measurement: "°C"
  temperature_kitchen_floor:
    friendly_name_template: "{{ state_attr('climate.kitchen', 'friendly_name') }} Floor Temperature"
    value_template: "{{ state_attr('climate.kitchen', 'floor_temperature') }}"
    unit_of_measurement: "°C"

configuration.yaml:

include the line:

sensor: !include sensors.yaml

Lovelace Thermostat card

This is an easy way to get rich features out of the interface, however this warmup implementation does not yet match closely enough the use cases this card was created for, so it might not be as intuitive as other devices.

views:
  - title: My Home
    cards: 
      - type: thermostat
        entity: climate.myroomname

Energy Monitoring

This integration exposes a climate entity which has an energy attribute for the daily power consumption. Here we use a template sensor to extract that in a format that can be used for energy monitoring. Then the template sensor can be added as an Individual Energy Source in the HA Energy dashboard.

template:
  - sensor:
      - name: "ES bathroom underfloor daily energy"
        unique_id: "es_bathroom_underfloor_daily_energy"
        device_class: energy
        state_class: total_increasing
        unit_of_measurement: "kWh"
        state: >
          {% if states.climate.es_bathroom_underfloor %}
            {{ state_attr('climate.es_bathroom_underfloor', 'energy') }}
          {% else %}
            ??
          {% endif %}

And here you see the floor and room temperatures being extracted in the same way

template:
  - sensor:
      - name: "ES bathroom underfloor air temperature"
        unique_id: "es_bathroom_underfloor_air_temperature"
        device_class: temperature
        unit_of_measurement: "°C"
        icon: "mdi:thermometer-lines"
        state: >
          {% if states.climate.es_bathroom_underfloor %}
            {{ state_attr('climate.es_bathroom_underfloor', 'air_temperature') }}
          {% else %}
            ??
          {% endif %}
      - name: "ES bathroom underfloor floor temperature"
        unique_id: "es_bathroom_underfloor_floor_temperature"
        device_class: temperature
        unit_of_measurement: "°C"
        icon: "mdi:thermometer-lines"
        state: >
          {% if states.climate.es_bathroom_underfloor %}
            {{ state_attr('climate.es_bathroom_underfloor', 'floor_temperature') }}
          {% else %}
            ??
          {% endif %}

Credit to https://github.com/peternash for this solution.