Climate script error - conversion from NoneType to Decimal is not supported

I’m trying to make an “away mode” for my Honeywell thermostat that will keep the house between 66 (in the winter) and 75 (for summer time). The idea is to have this script run when no one is home for more than 5 minutes so the house always stays a reasonably comfortable temperature for my dog. My thermostat has a heat/cool setting that will automatically switch between heating and cooling as necessary to keep it within a certain range so I should be able to accomplish this with one script using the climate.set_temperature service and target low and target high options. This is the script:

sequence:
  - service: climate.set_temperature
    data:
      target_temp_low: 66
      target_temp_high: 75
      hvac_mode: heat_cool
    target:
      entity_id: climate.tstat_5df596
mode: single
alias: Climate away mode
icon: mdi:thermostat

When I try to test it out I get the following error:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/homekit_controller/__init__.py:101
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: November 18, 2021, 12:43:37 AM (12 occurrences)
Last logged: 12:04:32 AM

[2667381064] conversion from NoneType to Decimal is not supported
[2568226872] conversion from NoneType to Decimal is not supported
[2593986688] conversion from NoneType to Decimal is not supported
[2617891496] conversion from NoneType to Decimal is not supported
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 185, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1491, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1526, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 278, in service_handler
    await script_entity.async_turn_on(
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 382, in async_turn_on
    await coro
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 409, in _async_run
    return await self.script.async_run(script_vars, context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1219, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 353, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 371, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 571, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1491, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1526, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 658, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 856, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 695, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 588, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/climate.py", line 376, in async_set_temperature
    await self.async_put_characteristics(chars)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/__init__.py", line 101, in async_put_characteristics
    payload = self.service.build_update(characteristics)
  File "/usr/local/lib/python3.9/site-packages/aiohomekit/model/services/service.py", line 138, in build_update
    value = check_convert_value(value, char)
  File "/usr/local/lib/python3.9/site-packages/aiohomekit/model/characteristics/characteristic.py", line 303, in check_convert_value
    val = Decimal(val)
TypeError: conversion from NoneType to Decimal is not supported

Does anyone understand what could be causing this error? I’m not really a programmer so I have no idea what any of this means - if I had to guess it sounds like some value that I’m providing HA is not a format that it’s expecting. Could it be the numeric values of the temperature?

@shieldmaiden95 Did you ever figure this out? I have the same exact issue and don’t find much on Google. Same thermostats too.

I never did I just gave up. The best I could gleam from researching it is that nonetype means a variable has no value. So I guess HA is not able to read the target_temp_low or target_temp_high variables for some reason. I guess the integration needs decimals to be able to able to call that service and keep it between two temps?

Just noting that I’m having the exact same problem

Created this issue, but no movement on it yet

Don’t know if anyone got a solution for this one, but I saw the issue on github was closed, yet I’m still encountering it today…