Simple thermostat with preset modes management

This custom component for Home Assistant is an upgrade of the generic thermostat which handles presets mode in a very simple way.

How Generic thermostat behaves with modes :

Basically, the generic thermostat handle two preset mode : AWAY and NONE. When AWAY mode is set, the thermostat will set the temperature with the away temperature defined in the yaml configuration. When NONE is selected, the temperature set is saved. Every time you set the mode as NONE, the temperature will be automatically set with the saved value. If you want to change the saved value, set the mode to NONE, set the desired temperature, and that’s it.

How Simple Thermostat behaves with modes and additional feature

Define by default all the modes defined in the climate specs : https://developers.home-assistant.io/docs/core/entity/climate#presets The simple thermostat reproduce the behavior of the mode NONE in generic thermostat and extend it to all the modes :

  • Pick a mode

image

  • Set a temperature

image

  • That’s it ! The temperature is saved for this mode.
  • Reproduce the previous step to update the temperatures / set other modes

Minimum requirements

  • This implementation can override or superseed the core generic thermostat

Installation

HACS installation

  1. Install HACS. That way you get updates automatically.
  2. Add this Github repository as custom repository in HACS settings : https://github.com/dadge/simple_thermostat.
  3. search and install “Simple Thermostat” in HACS and click install.
  4. Modify your configuration.yaml as explain below.
  5. Restart Home Assistant.

Manual installation

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called simple_thermostat.
  4. Download all the files from the custom_components/simple_thermostat/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Modify your configuration.yaml as explain below
  7. Restart Home Assistant

Configuration

In the following examples we are assuming that you know how to configure a generic thermostat (if not please have a look at : Generic Thermostat - Home Assistant ) and we will just highlight the differences in the configuration to apply.

climate: - platform: simple_thermostat name: Study heater: switch.study_heater target_sensor: sensor.study_temperature

If you had already configure a generic thermostat the onli changes you have to do are the following :

  • platform must be changed from generic_thermostat to simple_thermostat
  • away_temp must be removed

Even Better with Scheduler Component !

In order to enjoy the full power of simple thermostat, I invite you to use it with https://github.com/nielsfaber/scheduler-component Indeed, the schdeuler component porpose a management of the climate base on the preset modes. This feature has limited interest with the generic thermostat but it becomes highly powerfull with Simple thermostat :

Starting here, I assume you have installed Simple Thermostat and Scheduler Component.

In Scheduler, add a schedule :

image

Choose “climate” group, choose one (or multiple) entity/ies, select “MAKE SCHEME” and click next : (it is possible to choose “SET PRESET”, but I prefer to use “MAKE SCHEME”)

image

Set your mode scheme and save :

image

In this example I set ECO mode during the night and the day when nobody’s at home BOOST in the morning and COMFORT in the evening.

I hope this example helps you, don’t hesitate to give me your feedbacks !

1 Like

Nice! I may be switching to this component. I added support for all presets in the core, but it’s not been merged in (https://github.com/home-assistant/core/pull/56080)

3 Likes

Not sure if I’m missing something but how do you set the temperatures for the pre-sets in the config?

Hello @Tommo-101,

As defined above you do it in 2 steps :

The temperature is automatically saved for the chosen mode. Now you can start to use your thermostat only by mode. If you modify the temperature it will again save the temperature for the chosen mode.
Basically the idea is to use modes only and no temperatures anymore.

Regards,

1 Like

Thank you soo much. This is exactly what the doctor called for !

1 Like

Thanks for this nice work. I’ve set it up now and it works like a charm.

On thing that I’m not sure how to implement it is the automatic away mode when nobody is at home. Enabeling the away mode ist no problem. But the returning is.

I’ve set up different time schedules for my radiators that change modes during the day. I don’t know what to do, when I come home. When I set the mode to ‘none’ then the thermostate would start the heating, even if the schedule says it should be in eco mode. This is even more bad if I come home in the night hours and all radiators start heating. How have you implemented this? Is there a way to trigger scheduled rules?

Best regards
Chris

Looks really nice! However, I can’t figure out to add your repo to HACS. It seems like he HACS GUI has changed.

I could install your addition manually of course. However, I would prefer to use HACS.

Click on the three dots at the top right.
Custom repositories
Repository; https://github.com/dadge/simple_thermostat
Category; integration
[Add]

Thanks, I hadn’t enabled “Experimental features” so that option was greyed out. Now it works.