home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.03k stars 29.69k forks source link

Providing transition time in light.turn_on for nanoleaf lights sets brightness to 100% #65078

Closed ldvc86 closed 2 years ago

ldvc86 commented 2 years ago

The problem

When calling service light.turn_on for a nanoleaf light (tested for Nanoleaf shapes hexagons) and a transition <> 0 seconds is provided, the brightness of the light is set to 100%, while the request contains no brightness parameter

example:

service: light.turn_on
target:
  entity_id: light.nanoleaf
data:
  transition: 1
  xy_color:
    - 0.546
    - 0.389

What version of Home Assistant Core has the issue?

core-2021.12.9

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Nanoleaf

Link to integration documentation on our website

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

Example YAML snippet

service: light.turn_on
target:
  entity_id: light.nanoleaf
data:
  transition: 1
  xy_color:
    - 0.546
    - 0.389

Anything in the logs that might be useful for us?

No response

Additional information

Nanoleaf firmware: 6.2.3

probot-home-assistant[bot] commented 2 years ago

nanoleaf documentation nanoleaf source (message by IssueLinks)

probot-home-assistant[bot] commented 2 years ago

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

milanmeu commented 2 years ago

Hi @ldvc86,

I have exams at the moment so I don't really have the time to look closely at this. If I remember correctly, a transition has no effect on a color. A transition only affects the brightness and because no brightness is specified, the integration assumes that you mean a transition to brightness 100%. (It is not always possible to use the latest brightness state, so a fixed value has been chosen so that the integration will always respond the same regardless of whether the data is available or not). This makes sense if you call turn_on with just the transition argument. If you only want to set a color, the transition time is not used, so you have to omit it. We could choose to ignore the transition if no brightness is given, but then turn_on with just a transition time would do nothing, while the lamp should turn on.

The behavior of transition in turn_on is not in the integration documentation and should be added. I currently have exams and therefore will not do it now. Please use the edit button on the documentation page https://www.home-assistant.io/integrations/nanoleaf, click on the pencil, make your change, click propose changes, open the Pull Request. When submitting, please mention me @milanmeu and add a link to this issue in the description of the Pull Request. Thank you for the contribution @ldvc86.

ldvc86 commented 2 years ago

ok, done!

Good luck with your exams!

milanmeu commented 2 years ago

Thanks, @ldvc86

You made the commit/change, but you still have to open a Pull Request to add it to the documentation. You can do that at: https://github.com/home-assistant/home-assistant.io/compare/current...ldvc86:patch-1, click Create Pull Request, fill in the description and click again on Create Pull Request. It can be difficult to get started with GitHub so let me know if you can't do it, then I'll do it later. Thanks :+1: .

ldvc86 commented 2 years ago

documentation has been updated. I'll close this ticket.