Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error about not supported service call when used in a scene #1186

Open
1 of 3 tasks
jkrenzer opened this issue Dec 7, 2023 · 3 comments · May be fixed by #1564
Open
1 of 3 tasks

Error about not supported service call when used in a scene #1186

jkrenzer opened this issue Dec 7, 2023 · 3 comments · May be fixed by #1564
Assignees
Labels
new bug incoming bug issue

Comments

@jkrenzer
Copy link

jkrenzer commented Dec 7, 2023

Prerequisites

  • Model name of your Devices
  • Output from Home Assistant Developer Tools state e.g.
  • Output from Home Assistant Device Diagnostic from BT
2023-12-07 09:52:55.852 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [546868509120] Entity climate.thermostate_control_living_room does not support this service.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 878, in entity_service_call
    single_response = 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/scene/__init__.py", line 114, in _async_activate
    await self.async_activate(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 375, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 67, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 61, in worker
    await platform.async_reproduce_states(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 92, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 81, in _async_reproduce_states
    await call_service(SERVICE_SET_HUMIDITY, [ATTR_HUMIDITY])
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 51, in call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 860, in entity_service_call
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity climate.thermostate_control_living_room does not support this service.
2023-12-07 09:53:07.869 ERROR (MainThread) [homeassistant.components.automation.control_heating_mode] Control Heating Mode: Choose at step 1: choice 1: Error executing script. Error for call_service at pos 1: Entity climate.thermostate_control_living_room does not support this service.
2023-12-07 09:53:07.873 ERROR (MainThread) [homeassistant.components.automation.control_heating_mode] Control Heating Mode: Error executing script. Error for choose at pos 1: Entity climate.thermostate_control_living_room does not support this service.
2023-12-07 09:53:07.877 ERROR (MainThread) [homeassistant.components.automation.control_heating_mode] Error while executing automation automation.control_heating_mode: Entity climate.thermostate_control_living_room does not support this service.
2023-12-07 10:04:01.304 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [546868509120] Entity climate.thermostate_control_living_room does not support this service.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 878, in entity_service_call
    single_response = 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/scene/__init__.py", line 114, in _async_activate
    await self.async_activate(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 375, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 67, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 61, in worker
    await platform.async_reproduce_states(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 92, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 81, in _async_reproduce_states
    await call_service(SERVICE_SET_HUMIDITY, [ATTR_HUMIDITY])
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 51, in call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 860, in entity_service_call
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity climate.thermostate_control_living_room does not support this service.
2023-12-07 10:07:05.427 DEBUG (MainThread) [custom_components.better_thermostat.climate] better_thermostat Thermostate Control Living Room: HA set target temperature to 22.0 & None
2023-12-07 10:07:05.435 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [546949601856] Entity climate.thermostate_control_living_room does not support this service.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 878, in entity_service_call
    single_response = 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/scene/__init__.py", line 114, in _async_activate
    await self.async_activate(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 375, in async_activate
    await async_reproduce_state(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 67, in async_reproduce_state
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 61, in worker
    await platform.async_reproduce_states(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 92, in async_reproduce_states
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 81, in _async_reproduce_states
    await call_service(SERVICE_SET_HUMIDITY, [ATTR_HUMIDITY])
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 51, in call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 2067, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2104, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 860, in entity_service_call
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity climate.thermostate_control_living_room does not support this service.

Description

better_thermostat entity produces an error provoking follow-up erros from automations/scripts each time a scene is called it is part of. The temperature is set correctly from the scene though.

Steps to Reproduce

  1. Create a scene
  2. Add a better_thermostat entity
  3. Set a different temperature there
  4. Activate scene
  5. Look into HA logs

Expected behavior:

Entity sets temperature, mode etc. from scene without python error

Actual behavior:

Entity sets values but throws an error with traceback. State might be incompletely reproduced due to the service call failing.

Versions

BT 1.33.0 from HACS
HA 2023.12.0
HA OS 11.2

Additional Information

@jkrenzer jkrenzer added the new bug incoming bug issue label Dec 7, 2023
@MehrCurry
Copy link

+1

@dewil-official
Copy link

I have this issue too and a friend has this too. Seems to not depend on the Thermostat (as my friend and me are using different ones). Just in general, whenever you use a Better-Thermostat entity in a scene, it will throw an error upon save.

@Kishi85
Copy link

Kishi85 commented Jan 11, 2025

This is still an issue on latest HA2025.1 using BT 1.7.0beta3:

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:245
integration: Home Assistant WebSocket API ([documentation](https://www.home-assistant.io/integrations/websocket_api), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+websocket_api%22))
First occurred: 08:28:47 (1 occurrences)
Last logged: 08:28:47

[140387504438816] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2795, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2838, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/scene.py", line 221, in apply_service
    await async_reproduce_state(
    ...<4 lines>...
    )
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 69, in async_reproduce_state
    await asyncio.gather(
        *(worker(domain, data) for domain, data in to_call.items())
    )
  File "/usr/src/homeassistant/homeassistant/helpers/state.py", line 63, in worker
    await platform.async_reproduce_states(
        hass, states_by_domain, context=context, reproduce_options=reproduce_options
    )
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 107, in async_reproduce_states
    await asyncio.gather(
    ...<6 lines>...
    )
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 73, in _async_reproduce_states
    await call_service(SERVICE_SET_PRESET_MODE, [ATTR_PRESET_MODE])
  File "/usr/src/homeassistant/homeassistant/components/climate/reproduce_state.py", line 52, in call_service
    await hass.services.async_call(
        DOMAIN, service, data, blocking=True, context=context
    )
  File "/usr/src/homeassistant/homeassistant/core.py", line 2795, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2838, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1006, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
        hass, entity, func, data, call.context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1078, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 725, in async_handle_set_preset_mode_service
    await self.async_set_preset_mode(preset_mode)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 733, in async_set_preset_mode
    await self.hass.async_add_executor_job(self.set_preset_mode, preset_mode)
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 729, in set_preset_mode
    raise NotImplementedError
NotImplementedError

To reproduce create a scene and add a BT Thermostat device to it, then try to save it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new bug incoming bug issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants