core: Honeywell Total Connect Comfort (US) invalid climate.set_temperature

The problem

I have had a working thermostat during the summer, and now that the colder months are here, I wanted to heat the house a little bit. The Honeywell TCC returns a “Failed to call service climate.set_temperature. Unknown error” when the set_tempearture is above or equal to 22.5.

I’ve tried with the Service under the Developer tools, and it looks like all the temperature below 22.5 works, but none above (i.e. 22.5, 23, 23.5, etc.). I do recall this was working last winter.

I’ve noticed this since I have an automation that sets the temperature at 22.5 at 0530. Here is the log:

Logger: homeassistant.components.automation.hvac_schedule_0530 Source: helpers/script.py:468 Integration: Automation (documentation, issues) First occurred: October 13, 2023 at 5:30:00 AM (2 occurrences) Last logged: 5:30:00 AM

HVAC Schedule 0530: Error executing script. Unexpected error for call_service at pos 1: Honeywell set temperature failed: invalid temperature 22.5. Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/honeywell/climate.py”, line 352, in _set_temperature await self._device.set_setpoint_heat(temperature) File “/usr/local/lib/python3.11/site-packages/aiosomecomfort/device.py”, line 177, in set_setpoint_heat await self._client.set_thermostat_settings( File “/usr/local/lib/python3.11/site-packages/aiosomecomfort/init.py”, line 213, in set_thermostat_settings result = await self._post_json(url, json=data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/local/lib/python3.11/site-packages/aiosomecomfort/init.py”, line 171, in _post_json return await self._request_json(“post”, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/local/lib/python3.11/site-packages/aiosomecomfort/init.py”, line 165, in _request_json raise UnexpectedResponse(“API returned %s, %s” % (resp.status, req)) aiosomecomfort.exceptions.UnexpectedResponse: API returned 200, /portal/Device/SubmitControlScreenChanges

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 468, in _async_step await getattr(self, handler)() File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 704, in _async_call_service_step response_data = await self._async_run_long_action( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 666, in _async_run_long_action return long_task.result() ^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/core.py”, line 2012, in async_call response_data = await coro ^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/core.py”, line 2049, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 235, in handle_service return await service.entity_service_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 876, in entity_service_call response_data = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 948, in _handle_entity_call result = await task ^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/components/climate/init.py”, line 632, in async_service_temperature_set await entity.async_set_temperature(**kwargs) File “/usr/src/homeassistant/homeassistant/components/honeywell/climate.py”, line 363, in async_set_temperature await self._set_temperature(**kwargs) File “/usr/src/homeassistant/homeassistant/components/honeywell/climate.py”, line 356, in _set_temperature raise ValueError( ValueError: Honeywell set temperature failed: invalid temperature 22.5.

What version of Home Assistant Core has the issue?

core-2023.10.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Honeywell Total Connect Comfort (US)

Link to integration documentation on our website

https://www.home-assistant.io/integrations/honeywell

Diagnostics information

home-assistant_honeywell_2023-10-14T11-49-37.757Z.log

Example YAML snippet

service: climate.set_temperature
target:
  entity_id: climate.thermostat
data:
  temperature: 22.5
  hvac_mode: heat

Anything in the logs that might be useful for us?

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 73 (33 by maintainers)

Most upvoted comments

Tested w cool mode. Works great. Thanks to everyone for getting this one past the finish line!

@mkmer btw, not sure you are aware, but test.py has some errors. I had to make changes in get_or_set_things to get it to run.

I was having the same problem and I think that I found a solution. I have the rth6580wf thermostat and the behavior was similar to what was described here. After a lot of testing I discovered the following:

You must call the following services on the order specified:

- service: climate.set_hvac_mode
  target:
    entity_id: 
  data:
    hvac_mode: (heat/cool)

- service: climate.set_preset_mode
  target:
    entity_id: 
  data:
    preset_mode: Hold
- service: climate.set_temperature
  target:
    entity_id: 
  data:
    temperature: 

If I change the order, then I start having errors, but not all the time.
Also, on the preset mode I need to specify Hold

I hope this helps someone.

Mine looks identical to yours. I’m only clicking the large black “up” arrow to change the set temperature to a higher number. In my case, I set it (originally) to the highest available value, which was 85F. Once that updated in HA on my phone, I was then able to set it in HA to any value I wanted, without receiving the “invalid temperature” error that I saw previously, when choosing any value above 68F.

My problem is similar. The most recent manifestation is that HA fails every time when setting the temp to 69 or below (I’m in FL). I get the same Invalid Temperature / Unexpected Error. Clearly its not an invalid temp. For the last month or so this has been very consistent, so its different than last year where the failures were random. Needless to say I can change the temp with the iPhone app and TCC website w/o any problem. I haven’t tried setting the temp to the lower limit w the app and then trying it w/ HA. Seems like an odd solution, but I will give it a try next week when I’m back in FL and let you know what I find.

@mkmer after I changed the temp on the tcc app to 90. I can now change the temp on either the tcc app / website and HA without issues. Before, if i changed it on the app to lets say 68. I wouldn’t be able to go above that in HA without the error. Now it seems to be working as expected without any errors.