Generic thermostat not working

Hi everyone,

I running 0.57.2 and use AppDaemon for automation.
Current setup is that I have few climate zones around the house and few thermostats that control these zones. Each zone has its own “Generic thermostat” which then control if gas boiler needs to run or not. AppDeamon catches any change on zone thermostat and then trigger service (climate/set_temperature) to change generic thermostat value. After that thermostat do its job and decides if it needs the boiler to “Heat” or to be “Idle”. AppDeamon catches this generic thermostat state change to “Heat/Idle” and turn the boiler according to the request.

So… so the problem part…I notice is that if I change generic thermostat value from the web GUI everything is fine but if the temperature is changed on thermostat then temperature value is changed via service call generic thermostat does not do its job anymore. Value is set correctly but the decision to run is always “Idle”. In other words, if the temp is set to 23°C and actual zone temp is 19°C generic thermostat should have state “Heat” but it stays in “Idle” which does not trigger boiler run and, as you presumed, I wake up to a cold apartment. To fix this state all I need to do is go to the web gui and change temp on the generic thermostat for 0.5 degrees and after that everything works ok.

Am I setting temp wrong way or is this really generic thermostat problem?

Any ideas?

Thanks in advance.

Hi,

I am very new to all this, so please pardon me, if got something wrong :wink: .

I had a problem in setting the heating state of my thermostates, maybe this had a similar reason.
The problem I had was, that I could set the temperatur of each thermostate, but not the operation mode.
The reason/solution was easy, but not that obvious:
I called the service “climate.set_operation_mode” with the entity id and “operation_mode: Lowering” (or “operation_mode: Comfort” or whatever).
This didn’t work because of a capital letter at of my desired mode! So changing this to “operation_mode: lowering” (or “operation_mode: comfort” or whatever) worked :roll_eyes: !

Maybe this helps…

Greetings!

Yes, this might solve the problem but my concern is if I plan to set “Heat” manually I need also code that makes a decision if mode needs to be “Heat” or “Idle” and this means creating “thermostat” from the scratch. All this logic is already implemented in the Generic thermostat.

What I tried in mean while… call service from Developer tools climate->set_temperature with parameter {“entity_id”: “climate.climate_livingroom”, “temperature” : 23} and thermostat works just fine. Zone temperature is lower than set one and thermostat switches to “Heat” by itself. Only problem is triggering this same service from AppDaemon

Anyway, I will try your proposal and see what happens.

Thanks for the tip.

Tested the idea that I need to set operation_mode as well while setting the temp… Still not working :frowning_face:

It looks like there is some issue with generic thermostat component.

Today opposite thing happen to me than initial problem. I have balcony door sensor and when door opens temperature for that room lovers to 12°C and that is ok… but thermostat still had “Heat” mode even measured temp in the room was 21 and set temp was 12. So during this period heating was on all the time :expressionless:

Any other ideas?

I have the same problem: The generic thermostat does not trigger on its temperature limits. Its been like this since a few versions of Home Assistant. Not sure how to investigate/debug the problem.

I just upgraded to 0.60.0 and I could not reproduce this issue anymore.

After going over the target_temperature + hot_tolerance, thermostat was turned off (assigned switch also) and sent back to ‘Idle’.

Please check and report back.

I just found some time to play with the home assistant and I retested this behavior.
Now everything looks fine and thermostat behaves correctly.

@pplucky: thanks for the update!