Generic thermostat does not work

climate:
  - platform: generic_thermostat
    name: Bedroom
    heater: switch.bedroom_heat
    target_sensor: sensor.bedroom_temp
    target_temp: 74
    min_temp: 70
    max_temp: 77    
    min_cycle_duration:
      seconds: 30

This thing does a whole lot of nothing. It sits at idle no matter what. It does not retain any changes I make with the UI as to the target temp. This thing seems useless.

Which version of Home Assistant are you using?

There is a bug in 0.57.0 and 0.57.1 where changing the target temperature does not do anything, or cause any errors.

This is fixed in version 0.57.2

That is likely it, I have 0.57.1

Now it sets the temp but still does not trigger the switch, does it not work with an input boolean?

Just in case anyone is wondering, the solution is to use a fake MQTT switch.

  - platform: mqtt
    name: "Bedroom Heat"
    command_topic: "its/a/fake"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true

sorry, I don’t know tbh.
I have never used the generic thermostat
Reading through the documentation it looks like it should work with all switches though

Hi,

I can confirm generic_thermostat now works only with switch devices as heater switch, and not others. input_boolean also does not work for me. I make it work with Template Switch, any switch like MQTT is also option.

I am testing now code changes to make it work with any toggle type device.

I have that problem in 0.59.2.
The generic thermostat does not respond to temperature sensor changes.

do you mean that when you set a new target temperature in the GUI, this has no impact on the actual target temperature of the thermostat?

For those interested to use input_boolean, I used this code below when I wanted to test before I got an actual switch:

switch:
  - platform: template
    switches:
      demo_switch_1:
        value_template: "{{ is_state('input_boolean.demo_heater_zone_1', 'on') }}"
        turn_on:
          service: input_boolean.turn_on
          data:
            entity_id: input_boolean.demo_heater_zone_1
        turn_off:
          service: input_boolean.turn_off
          data:
            entity_id: input_boolean.demo_heater_zone_1
input_boolean:
  demo_heater_zone_1:

This way you use the switch which stores it’s state in an input_boolean

1 Like

I have a problem with generic thermostat . The Climate panel is not displayed until the heat sensor detects a temperature change. This happens after restarting HA or plugging in, Raspberry PI. I use Hasbian with Raspberry PI and HA 0.62.1. In other versions I did not have such a problem.
Error doing job: Task exception was never retrieved
8:33 PM components/climate/generic_thermostat.py (ERROR)

Have a look at https://github.com/home-assistant/home-assistant/issues/12095 and see if it helps solve your problem

I’me facing the same issues:

2018-02-04 21:13:16 ERROR (MainThread) [homeassistant.components.climate.generic_thermostat] Unable to update from sensor: C is not a recognized temperature unit.
2018-02-04 21:23:08 ERROR (MainThread) [homeassistant.components.climate.generic_thermostat] Unable to update from sensor: None is not a recognized temperature unit.

Sensor

sensor:
  - platform: mqtt
    state_topic: "tele/dual_cv/SENSOR"
    name: "dual_cv_sensor_bme680_temperature"
    #unit_of_measurement: "C"

Thermostat

climate:
  - platform: generic_thermostat
    name: cv_heating
    heater: switch.basic_woonkamer_bank
    target_sensor: sensor.dual_cv_sensor_bme680_temperature
    min_temp: 18
    max_temp: 23
    ac_mode: False
    target_temp: 21.5
    cold_tolerance: 0.1
    hot_tolerance: 0.3
    min_cycle_duration:
      seconds: 60
    keep_alive:
      minutes: 3
    initial_operation_mode: "auto"
    away_temp: 18

Also missing the dual function for Heating and Cooling with my heatpump.

@pascalsaul If you want to have AUTO (healing/cooling) you can try the version in this PR: https://github.com/home-assistant/home-assistant/pull/11472 If you find any problems, just write a comment on the PR.