KartoffelToby / better_thermostat

This custom component for Home Assistant will add crucial features to your climate-controlling TRV (Thermostatic Radiator Valves) to save you the work of creating automations to make it smart. It combines a room-temperature sensor, window/door sensors, weather forecasts, or an ambient temperature probe to decide when it should call for heat and automatically calibrate your TRVs to fix the imprecise measurements taken in the radiator's vicinity.
https://better-thermostat.org
GNU Affero General Public License v3.0
808 stars 124 forks source link

Better Thermostat UI is not working after Core-Update #1275

Closed Lissors closed 8 months ago

Lissors commented 8 months ago

Hallo,

nach einem Update CORE 2024.2.0 sind die Better Thermostate nicht mehr verfügbar. Momentan ist BT 1.4.0 installiert. Wie kann das Problem gelöst werden?

Vielen Dank!

kfussmann commented 8 months ago

I also have Problems after the recent Update to HA Core 2024.2. I have the following log entries after the update:

2024-02-08 08:57:43.601 WARNING (MainThread) [homeassistant.components.climate.const] SUPPORT_TARGET_TEMPERATURE was used from better_thermostat, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.TARGET_TEMPERATURE instead, please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues

2024-02-08 08:57:57.863 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues

Maybe it can help

Lissors commented 8 months ago

Mit BT 1.5.0-beta5 funktioniert es jetzt zum Teil. Ich habe alle BT-Thermostate neu konfiguriert. Einzelthermostate funktionieren jetzt wieder aber die, die gruppiert sind, leider nicht.

isibizi commented 8 months ago

Bei mir funktioniert alles wie gewohnt mit dem neusten Core Update. Ich habe die neuste Beta installiert 1.5.0 beta 5

Ich habe nur diesen "Bug" https://github.com/KartoffelToby/better_thermostat/issues/1274 ist aber nicht wirklich ein Bug.

Lissors commented 8 months ago

isibizi , sind bei Dir gruppierte Thermostate? Bei mir funktionieren nur die gruppierten nicht.

Hier ein Auszug aus dem Protokoll, die gruppierten sind erst gar nicht dabei: Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.better_thermostat.utils.controlling Source: custom_components/better_thermostat/utils/controlling.py:53 Integration: Better Thermostat (documentation, issues) First occurred: 11:30:00 (64 occurrences) Last logged: 12:00:25

better_thermostat Heizung Flur: ERROR controlling: climate.heizung_im_flur better_thermostat Heizung Kinderzimmer: ERROR controlling: climate.heizung_im_kinderzimmer better_thermostat Heizung Schlafzimmer: ERROR controlling: climate.heizung_im_schlafzimmer better_thermostat Heizung Dusche: ERROR controlling: climate.heizung_in_der_dusche better_thermostat Heizung Küche: ERROR controlling: climate.heizung_in_der_kuche Traceback (most recent call last): File "/config/custom_components/better_thermostat/utils/controlling.py", line 53, in control_queue _temp = await control_trv(self, trv) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv await set_hvac_mode(self, heater_entity_id, _new_hvac_mode) File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode return await self.real_trvs[entity_id]["adapter"].set_hvac_mode( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode await self.hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 689, in async_set_hvac_mode await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode) File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode self._send_command(commands) File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command self.device_manager.send_commands(self.device.id, commands) File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands return self.device_repository.send_commands(device_id, commands) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands}) File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post return self.__request("POST", path, params, body) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request raise Exception(f"network error:({ret['code']}) {ret['msg']}") Exception: network error:(2008) command or value not support

isibizi commented 8 months ago

Ja, habe im Wohnzimmer eine Gruppe, das funktioniert ohne Probleme. Mach mal ein Update auf die neuste Beta, da sind einige Bugs behoben worden.

Lissors commented 8 months ago

Ist schon BT 1.5.0-beta5..

isibizi commented 8 months ago

Dann würde ich mal empfehlen BT vollständig zu löschen und mit der 1.5.0 alles neu zu konfigurieren. Mit der 1.4 hatte ich eine ganze menge probleme, vor allem mit dem gruppen thermostat, diese wurden beim update nicht behoben, erst als ich alles neu konfiguriert habe, funktionierte es wieder.

Lissors commented 8 months ago

Erledigt, keine Besserung.. Hast Du oben den Auszug aus dem Log gesehen?

pawelm-dev commented 8 months ago

I'm also affected unfortunately. It seems that Tuya integration is involved.

File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request raise Exception(f"network error:({ret['code']}) {ret['msg']}") Exception: network error:(2008) command or value not support 2024-02-08 19:36:23.322 ERROR (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat Living_room_test2: ERROR controlling: climate.living_room_thermostate Traceback (most recent call last): File "/config/custom_components/better_thermostat/utils/controlling.py", line 53, in control_queue _temp = await control_trv(self, trv) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

KartoffelToby commented 8 months ago

There changed alot again in version 2024.2 i looking for the issue

pawelm-dev commented 8 months ago

There changed alot again in version 2024.2 i looking for the issue

Thank you super much! I appreciate a lot.

Lissors commented 8 months ago

Vielen Dank!

RLB7777 commented 8 months ago

Same problem - upgraded HA to 2024.2 and Better Thermostat devices became unavailable. Am attaching a BT diagnostic log I made when attempting to reload the integration, in case that is useful.

2024-02-09 12:59:46.344 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration better_thermostat which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 12:59:46.350 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration foxess which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 12:59:46.354 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 12:59:46.359 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration rpi_power which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 12:59:46.359 ERROR (SyncWorker_2) [homeassistant.loader] The custom integration 'rpi_power' does not have a version key in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details
2024-02-09 12:59:46.368 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration tplink_deco which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 12:59:46.373 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration alexa_media which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-02-09 13:00:09.750 WARNING (MainThread) [homeassistant.setup] Setup of hassio is taking over 10 seconds.
2024-02-09 13:00:09.752 WARNING (MainThread) [homeassistant.setup] Setup of bluetooth is taking over 10 seconds.
2024-02-09 13:00:21.156 WARNING (MainThread) [homeassistant.components.stt] Setup of stt platform cloud is taking over 10 seconds.
2024-02-09 13:01:04.206 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: hassio, cloud, cloud.stt
2024-02-09 13:01:08.768 WARNING (MainThread) [homeassistant.const] POWER_KILO_WATT was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfPower.KILO_WATT instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:08.784 WARNING (MainThread) [homeassistant.const] ENERGY_KILO_WATT_HOUR was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfEnergy.KILO_WATT_HOUR instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:08.797 WARNING (MainThread) [homeassistant.const] TEMP_CELSIUS was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:08.809 WARNING (MainThread) [homeassistant.const] ELECTRIC_POTENTIAL_VOLT was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricPotential.VOLT instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:08.821 WARNING (MainThread) [homeassistant.const] ELECTRIC_CURRENT_AMPERE was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricCurrent.AMPERE instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:08.832 WARNING (MainThread) [homeassistant.const] FREQUENCY_HERTZ was used from foxess, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfFrequency.HERTZ instead, please create a bug report at https://github.com/macxq/foxess-ha/issues
2024-02-09 13:01:22.439 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:22.440 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:22.442 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:23.730 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds.
2024-02-09 13:01:23.757 WARNING (MainThread) [homeassistant.setup] Setup of counter is taking over 10 seconds.
2024-02-09 13:01:23.759 WARNING (MainThread) [homeassistant.setup] Setup of input_button is taking over 10 seconds.
2024-02-09 13:01:23.768 WARNING (MainThread) [homeassistant.setup] Setup of group is taking over 10 seconds.
2024-02-09 13:01:26.579 WARNING (MainThread) [homeassistant.setup] Setup of schedule is taking over 10 seconds.
2024-02-09 13:01:26.580 WARNING (MainThread) [homeassistant.setup] Setup of input_boolean is taking over 10 seconds.
2024-02-09 13:01:26.581 WARNING (MainThread) [homeassistant.setup] Setup of timer is taking over 10 seconds.
2024-02-09 13:01:26.582 WARNING (MainThread) [homeassistant.setup] Setup of input_number is taking over 10 seconds.
2024-02-09 13:01:26.584 WARNING (MainThread) [homeassistant.setup] Setup of input_text is taking over 10 seconds.
2024-02-09 13:01:26.585 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:26.723 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:26.725 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform integration is taking over 10 seconds.
2024-02-09 13:01:26.729 WARNING (MainThread) [homeassistant.setup] Setup of application_credentials is taking over 10 seconds.
2024-02-09 13:01:31.149 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform systemmonitor is taking over 10 seconds.
2024-02-09 13:01:31.807 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:01:41.892 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Robin Oppo for binary_sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 238, in async_setup_entry
    return await component.async_setup_entry(entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 191, in async_setup_entry
    return await self._platforms[key].async_setup_entry(config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_setup_entry
    return await self._async_setup_platform(async_create_setup_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 328, in _async_setup_platform
    await self.async_load_translations()
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 439, in async_load_translations
    self.platform_translations = await self._async_get_translations(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 416, in _async_get_translations
    return await translation.async_get_translations(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 378, in async_get_translations
    return await cache.async_fetch(language, category, components)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 215, in async_fetch
    async with self.lock:
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 14, in __aenter__
    await self.acquire()
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 113, in acquire
    await fut
asyncio.exceptions.CancelledError
2024-02-09 13:01:41.939 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Robin Oppo for device_tracker
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/device_tracker/config_entry.py", line 46, in async_setup_entry
    return await component.async_setup_entry(entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 191, in async_setup_entry
    return await self._platforms[key].async_setup_entry(config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_setup_entry
    return await self._async_setup_platform(async_create_setup_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 328, in _async_setup_platform
    await self.async_load_translations()
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 436, in async_load_translations
    self.component_translations = await self._async_get_translations(
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 416, in _async_get_translations
    return await translation.async_get_translations(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 378, in async_get_translations
    return await cache.async_fetch(language, category, components)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 215, in async_fetch
    async with self.lock:
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 14, in __aenter__
    await self.acquire()
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 113, in acquire
    await fut
asyncio.exceptions.CancelledError
2024-02-09 13:01:41.966 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Robin Oppo for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 141, in async_setup_entry
    return await component.async_setup_entry(entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 191, in async_setup_entry
    return await self._platforms[key].async_setup_entry(config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_setup_entry
    return await self._async_setup_platform(async_create_setup_task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 328, in _async_setup_platform
    await self.async_load_translations()
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 439, in async_load_translations
    self.platform_translations = await self._async_get_translations(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 416, in _async_get_translations
    return await translation.async_get_translations(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 378, in async_get_translations
    return await cache.async_fetch(language, category, components)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/translation.py", line 215, in async_fetch
    async with self.lock:
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 14, in __aenter__
    await self.acquire()
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 113, in acquire
    await fut
asyncio.exceptions.CancelledError
2024-02-09 13:01:42.021 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Robin Oppo for mobile_app
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/mobile_app/__init__.py", line 123, in async_setup_entry
    await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1569, in async_forward_entry_setups
    await asyncio.gather(
asyncio.exceptions.CancelledError
2024-02-09 13:01:47.139 ERROR (MainThread) [homeassistant.components.device_tracker] Error adding entities for domain device_tracker with platform mobile_app
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 533, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 642, in _async_add_entity
    device = dev_reg.async_get(self.hass).async_get_or_create(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 548, in async_get_or_create
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Can't link device to unknown config entry 808c627d107f958dfded717e2f89d559
2024-02-09 13:01:47.224 ERROR (MainThread) [homeassistant.components.device_tracker] Error while setting up mobile_app platform for device_tracker
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 352, in _async_setup_platform
    await asyncio.gather(*pending)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 533, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 642, in _async_add_entity
    device = dev_reg.async_get(self.hass).async_get_or_create(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 548, in async_get_or_create
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Can't link device to unknown config entry 808c627d107f958dfded717e2f89d559
2024-02-09 13:01:47.308 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform foxess is taking over 10 seconds.
2024-02-09 13:01:49.332 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:01:49.359 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:01:51.621 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:01:51.978 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:01:54.544 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:02:07.985 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:02:09.163 WARNING (Recorder) [homeassistant.components.sensor.recorder] The unit of sensor.blink_front_door_blink_wifi_signal (None) cannot be converted to the unit of previously compiled statistics (dBm). Generation of long term statistics will be suppressed unless the unit changes back to dBm or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
2024-02-09 13:02:31.421 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:03:14.945 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:04:38.225 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:05:44.229 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:05:44.616 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:06:01.825 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:07:25.425 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:08:48.785 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:10:12.227 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:11:35.505 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:12:18.563 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:12:18.907 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:12:58.865 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:12:59.332 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:12:59.438 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:14:22.305 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:14:37.052 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:14:37.431 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support
2024-02-09 13:15:45.665 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:17:08.865 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:18:32.465 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:19:55.905 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:21:19.185 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:22:42.387 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:24:05.905 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:25:29.185 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:26:19.613 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not reset the power state of the Bluetooth adapter hci1 [B8:27:EB:FA:C2:97] due to timeout after 5 seconds
2024-02-09 13:26:52.547 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:28:16.145 ERROR (MainThread) [aioharmony.harmonyclient] 192.168.1.105: Unable to determine if XMPP is enabled: [Errno 113] Connect call failed ('192.168.1.105', 5222)
2024-02-09 13:28:59.733 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.better_thermostat.climate.BetterThermostat'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/KartoffelToby/better_thermostat/issues
2024-02-09 13:28:59.742 INFO (MainThread) [custom_components.better_thermostat.adapters.delegate] better_thermostat Lounge better TRV: integration: tuya isn't native supported, feel free to open an issue, fallback adapter generic
2024-02-09 13:28:59.743 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Lounge better TRV: Waiting for entity to be ready...
2024-02-09 13:28:59.753 INFO (MainThread) [custom_components.better_thermostat.climate] better_thermostat Lounge better TRV: Starting version 1.5.0-beta5. Waiting for entity to be ready...
2024-02-09 13:28:59.754 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Lounge better TRV: Undefined target temperature, falling back to 21.0
2024-02-09 13:28:59.754 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Lounge better TRV: No previously hvac mode found on startup, turn bt to trv mode heat
2024-02-09 13:28:59.754 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Lounge better TRV: Startup config, BT hvac mode is heat, Target temp 21.0
2024-02-09 13:28:59.765 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat Lounge better TRV: climate.trv_lounge - new setpoint calibration: 22.5 | external_temp: 13.2, target_temp: 21.0, trv_temp: 15.0
2024-02-09 13:28:59.766 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat Lounge better TRV: TO TRV set_hvac_mode: climate.trv_lounge from: heat_cool to: heat
2024-02-09 13:28:59.766 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat Lounge better TRV: set_hvac_mode heat
2024-02-09 13:29:00.424 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
    await control_trv(self, trv)
  File "/config/custom_components/better_thermostat/utils/controlling.py", line 220, in control_trv
    await set_hvac_mode(self, heater_entity_id, _new_hvac_mode)
  File "/config/custom_components/better_thermostat/adapters/delegate.py", line 84, in set_hvac_mode
    return await self.real_trvs[entity_id]["adapter"].set_hvac_mode(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/better_thermostat/adapters/generic.py", line 124, in set_hvac_mode
    await self.hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2279, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 689, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/tuya/climate.py", line 297, in set_hvac_mode
    self._send_command(commands)
  File "/usr/src/homeassistant/homeassistant/components/tuya/base.py", line 277, in _send_command
    self.device_manager.send_commands(self.device.id, commands)
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/manager.py", line 93, in send_commands
    return self.device_repository.send_commands(device_id, commands)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/device.py", line 180, in send_commands
    self.api.post(f"/v1.1/m/thing/{device_id}/commands", None, {"commands": commands})
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 192, in post
    return self.__request("POST", path, params, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tuya_sharing/customerapi.py", line 121, in __request
    raise Exception(f"network error:({ret['code']}) {ret['msg']}")
Exception: network error:(2008) command or value not support````
Lissors commented 8 months ago

Tuya Integration too..

RLB7777 commented 8 months ago

Yes, the two TVRs and the temperature sensors I use with better thermostat are Tuya, running through the official Tuya integration (not HACS). That has always been fine with Better Thermostat before. But the Tuya integration itself has been unreliable for some people and was changed in 2024:2 so as to improve authentication with Tuya (it’s a cloud based integration). All the Tuya devices and entities in Home Assistant were unchanged. So I don’t see why Better Thermostat would be affected. But just in case, I deleted and recreated one of my Better Thermostat devices. But it was still unavailable.

I wonder if the Tuya change is a coincidence. It might be helpful if others can report whether Better Thermostat is working for them in HA 2024:2 or not, and whether the TRV they are using is Tuya or not.

UweTo commented 8 months ago

I have two TRVs running in the same situation with the same errors described from RLB7777. The two TRCs are the only TRVs from Tuya Integration, other TRVs in my installation via Rademacher Integration are still running without any problems-

martin334466 commented 8 months ago

I have 6 moes trvs via tuya all stop working on 2024.2.

kfussmann commented 8 months ago

Hello again, I have 34 Tuya TRVs connected by Zigbee2Mqtt and controlled by BT and with both Februar Core Updates all of them get unavailable. The TRVs themselves are still working but the BT Climate Entity gets unavailabe. I have meanwhile draw back to 2024.1.6 Core as there everything works perfect.

clangren commented 8 months ago

Good day. I have a Sonoff temperature sensor (SNZB-02), have upgraded to 2024.2.1, and BT is working for me.

In my installation if the Sonoff temperature sensor is offline BT will remain unavailable.

Also, in my installation, once the Sonoff temperature sensor comes back online BT will become available.

I do have Tuya devices, but they are not utilized in my BT setup.

CONFIG:
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2024.2.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.12.1",
    "docker": true,
    "arch": "x86_64",
    "timezone": "America/Chicago",
    "os_name": "Linux",
    "os_version": "6.1.74-haos",
    "supervisor": "2024.01.1",
    "host_os": "Home Assistant OS 11.5",
    "docker_version": "24.0.7",
....................
    "better_thermostat": {
      "version": "1.4.0",
      "requirements": []
....................
  "data": {
    "info": {
      "name": "Clive_MF_Tstat",
      "temperature_sensor": "sensor.sonofftemperaturesensor02_temperature",
      "tolerance": 0.2,
      "humidity_sensor": "sensor.sonofftemperaturesensor02_humidity",
      "weather": "weather.clive",
      "window_off_delay": 60,
      "window_off_delay_after": 60,
      "off_temperature": 85,
      "window_sensors": null,
      "outdoor_sensor": null,
      "cooler": null,
      "model": "Thermostat"
    },
    "thermostat": {
      "climate.main_floor": {
        "name": "Main Floor",
        "state": "heat",
        "attributes": {
          "hvac_modes": [
            "heat",
            "cool",
            "heat_cool",
            "off"
          ],
          "min_temp": 50,
          "max_temp": 90,
          "fan_modes": [
            "on",
            "off"
          ],
          "preset_modes": [
            "none",
            "eco"
          ],
          "current_temperature": 63,
          "temperature": 64,
          "target_temp_high": null,
          "target_temp_low": null,
          "fan_mode": "off",
          "hvac_action": "heating",
          "preset_mode": "none",
          "friendly_name": "Main Floor",
          "supported_features": 411
        },
        "bt_config": {
          "calibration": "target_temp_based",
          "calibration_mode": "default",
          "protect_overheating": false,
          "no_off_system_mode": false,
          "heat_auto_swapped": false,
          "child_lock": false,
          "homaticip": false
        },
        "bt_adapter": "nest",
        "bt_integration": "nest",
        "model": "Thermostat"
      }
    },
    "external_temperature_sensor": {
      "entity_id": "sensor.sonofftemperaturesensor02_temperature",
      "state": "67.6",
      "attributes": {
        "state_class": "measurement",
        "battery": 100,
        "battery_low": null,
        "humidity": 35.3,
        "linkquality": 196,
        "temperature": 19.8,
        "update": {
          "installed_version": -1,
          "latest_version": -1,
          "state": null
        },
        "update_available": null,
        "voltage": null,
        "unit_of_measurement": "\u00b0F",
        "device_class": "temperature",
        "friendly_name": "SonoffTemperatureSensor02 Temperature"
      },
      "last_changed": "2024-02-10T18:06:50.229613+00:00",
      "last_updated": "2024-02-10T18:06:50.229613+00:00",
........................
RLB7777 commented 8 months ago

Just an update on this. As a work around, I created some scenes in SmartLife to turn the TRV “on”and “off” depending on the temperature of separate Tuya sensor. I then noticed that Better Thermostat had started working again. Great…

I also have a SmartLife scene that runs every night that sets all TRVs to “Auto” so if anyone fiddles with them manually, they reset overnight. I noticed this morning that as soon as the TRVs switched to “Auto”, Better Thermostat stopped working again.

So it looks to me as if the problem is very specifically about the ability of Better Thermostat to see or control a Tuya TRV which is set to “Auto”. Obviously, there’s a simple workaround (don’t set the TRV to Auto!). I’ll need to experiment for a few more days to be sure this is the issue, but feedback from others would be helpful.

drdralles commented 8 months ago

Ich habe auch trotz Installation der Beta keinen Erfolg. BT läuft nicht. Auch ein komplettes Neu Installieren der Integration hat nicht geholfen. Ich würde ja die interne Thermostatintegration nutzen, jedoch kann ich hier keine Externen Temperatursensoren verwenden.

isibizi commented 8 months ago

Macht doch ein downgrade des Cores bis ein Update kommt. Ihr seid doch nicht gezwungen auf dem neusten Stand zu sein.

drdralles commented 8 months ago

Das habe ich bereits probiert, jedoch klappt das auch nicht. Ich bekomme BT gar nicht mehr ans Laufen.

hayvan96 commented 8 months ago

Isn't marking this bug closed a bit misleading? Users should have a clear alternative between : updating HA core and have to switch to a beta version of BT (thus unstable), or prefer staying on stable channel for BT (1.4.0 as for now) and refrain from updating HA core. Personally I'm patiently waiting for a stable 1.5.0 release and won't update HA until then ;)

pawelm-dev commented 8 months ago

Unfortunately, the issue still persist with me despite updating everything, including installing 1.5.0-beta7 of Better Thermostat. All Better Thermostats are still unavailable.

Lissors commented 8 months ago

Same in my case

pawelm-dev commented 8 months ago

Could you please re-open this issue? The fix didn't address this issue at all unfortunately. Thank you in advance!