home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.

Home Page:https://www.home-assistant.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hue room light brightness / color exceptions

erkr opened this issue · comments

The problem

The new HUE api v2 integration now exposes the rooms as ‘grouped lights’. So it is possible to control the color or brightness of such a ‘room light’, controlling all lights in that room at once.

The issue:
When the room consists of a mix of fully featured color lights, only white lights and / or on-of devices, changing the room color or brightness will correctly control the lights that support the feature, but it throws exception's as well:

[547195973440] Request failed: attribute (.dimming) is not supported by resource
[547099967696] Request failed: attribute (.dimming) is not supported by resource
[547314349728] Request failed: attribute (.color) is not supported by resource

Doing the same in the Hue app works fine. The correct behavior is that the lights that don’t support the color or brightness change will be ignored.

What version of Home Assistant Core has the issue?

Core-2022.5.x

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

Philips Hue

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/hue/bridge.py:132 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 12:44:48 (7 occurrences) 
Last logged: 15:02:20

[547195973440] Request failed: attribute (.dimming) is not supported by resource
[547099967696] Request failed: attribute (.dimming) is not supported by resource
[547314349728] Request failed: attribute (.color) is not supported by resource
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 123, in async_request_call
    return await task(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/aiohue/v2/controllers/groups.py", line 141, in set_state
    await self.update(id, update_obj)
  File "/usr/local/lib/python3.9/site-packages/aiohue/v2/controllers/base.py", line 159, in update
    await self._bridge.request("put", endpoint, json=data)
  File "/usr/local/lib/python3.9/site-packages/aiohue/v2/__init__.py", line 175, in request
    raise_from_error(result["errors"][0])
  File "/usr/local/lib/python3.9/site-packages/aiohue/errors.py", line 42, in raise_from_error
    raise cls(error["description"])
aiohue.errors.AiohueException: attribute (.dimming) is not supported by resource

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

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 189, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1627, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1664, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 677, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 964, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 714, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 536, in async_handle_light_on_service
    await light.async_turn_on(**filter_turn_on_params(light, params))
  File "/usr/src/homeassistant/homeassistant/components/hue/v2/group.py", line 161, in async_turn_on
    await self.bridge.async_request_call(
  File "/usr/src/homeassistant/homeassistant/components/hue/bridge.py", line 132, in async_request_call
    raise HomeAssistantError(msg) from err
homeassistant.exceptions.HomeAssistantError: Request failed: attribute (.dimming) is not supported by resource

Additional information

No response

Hey there @balloob, @marcelveldt, mind taking a look at this issue as it has been labeled with an integration (hue) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)

I think this one slipped through when we implemented the new grouped control feature although I'm interested in Signify's answer how to handle this. We just send a command to the group and let the bridge deal with the logic. From what I read here we should make an exception if there are non dimmable lights in a group. That sounds to me like a bug in the Hue bridge API or a least we misinterpret the usage.

I'll contact Signify and come back here

Thanks!

No response back yet. For now my suggestion would be not to mix any power plugs (or plain on/off lights) with more feature rich lights in a group if you want to have grouped brightness/color control

Thanks for the update and reopen 👍

Response from Signify:

we have indeed identified an issue that we send an error in the case that the first light in the group does not support the capability. 
The lights in the group are still controlled as expected though but we send an unnecessary error in this case. This has to do with us still having to move some internal logic from V1 to V2 API, once that is completed this will be gone.

In other words: this is not a HA issue and can be closed here. It will be solved eventually with a Hue firmware update.
For now just make sure to not put power plugs in a group or be aware of the limitation that brings.