More informative device tiles for thermostats

This is how the device tiles look like for thermostats:

All it shows is the measured temperature and nothing else.

To see the mode and the temperature setpoint the thermostat is set to, one has to open the detailed view:

I made some changes to the profile of the matter thermostat driver and now the device tile looks like this (second tile):

It shows the measured temperature, an empty or filled circle for off / heating and the setpoint temperature.

Device tile when thermostat mode is heat:

This is the profile thermostat-fan-heating-only-nostate-nobattery as an example, but I think that it could be implemented for most, if not all thermostat profiles:

name: thermostat-heating-only-nostate-nobattery
components:
- id: main
  capabilities:
  - id: temperatureMeasurement
    version: 1
  - id: thermostatMode
    version: 1
  - id: thermostatHeatingSetpoint
    version: 1
  - id: firmwareUpdate
    version: 1
  - id: refresh
    version: 1
  categories:
  - name: Thermostat
deviceConfig:
  dashboard:
    states:
      - component: main
        capability: temperatureMeasurement
        version: 1
        group: main
        composite: true
      - component: main
        capability: thermostatMode
        version: 1
        group: main
        values:
          - label: " {{thermostatMode.value}}"
            alternatives:
              - key: "heat"
                value: "⬤"
                type: active
              - key: "off"
                value: "◯"
                type: inactive
        composite: true
      - component: main
        capability: thermostatHeatingSetpoint
        version: 1
        group: main
        values:
          - label: " {{heatingSetpoint.value}} {{heatingSetpoint.unit}}"
        composite: true
    basicPlus: []
  detailView:
    - component: main
      capability: temperatureMeasurement
      version: 1
    - component: main
      capability: thermostatMode
      version: 1
    - component: main
      capability: thermostatHeatingSetpoint
      version: 1
    - component: main
      capability: refresh
      version: 1
  automation:
    conditions:
      - component: main
        capability: temperatureMeasurement
        version: 1
      - component: main
        capability: thermostatMode
        version: 1
      - component: main
        capability: thermostatHeatingSetpoint
        version: 1
    actions: []

6 Likes

I rather like that. Particularly because the current temperature has never struck me as the key piece of information a thermostat can provide.

I’ve not played with composite tiles so I am wondering how the active v inactive status of the tile gets determined. For example, if thermostatMode were listed first would the tile get greyed out when it is ‘off’?

I ask because I am curious and also because although I don’t have a smart thermostat I do know that when viewed from a distance my dumb thermostat doesn’t answer the basic question of ‘is the heating on?’.

4 Likes

Yes, but you would also have to define which thermostat mode values ​​are “active” and which are “inactive”.
Could also define only “off” as “inactive” and not define the rest of the modes, which would take the default value “active” for the rest, it could work.

Could also put thermostatOperatingState first and the icon would be colored when it is “heating” and gray when it is “Idle” and when the thermostat is “off”, since thermostatOperatingState would be “Idle”

EDIT: icon values “active” and “inactive” are defined in capability presentation yet

Icono animation works with a valid value, then text of thermostatMode o thermostatOperatingState avoid show and see others values in the tile

3 Likes

I’m just experimenting with the dashboard tiles and this is work in progress.

Maybe even a switch/toggleSwitch would make sense - at least for simple thermostats like heating-ony or cooling-only.

One thing is certain: the tiles as they are now are pretty useless.

2 Likes

Many thanks @Andreas_Roedl , I added your deviceConfig to my Secure SRT custom driver (with a tweak as I use thermostatOperatingState rather than thermostatMode) and its working just great.

2 Likes

One day (preferably Summer) I’ll create a pull request to get it into the stock drivers. Such a minor change with a huge impact.

I want to add the thermostat mode in a meaningful way, but they are currently working on that part of the code.

4 Likes

Hi @Andreas_Roedl
following up on the deviceConfig that I added to my thermostat custom driver
I notice that I no longer have battery status in my detailView.
If I add battery status to my detailView, do I need to add an ‘automation:’ for battery status that is not in my dashboard?
Thanks, Aidan

I would add an automation: anyway.

You know that the battery status looks like this nowadays?

1 Like

Thanks @Andreas_Roedl
The change works great:

1 Like