Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a new helper method to calculate the Duv (Delta u, v) of a color. The code is taken almost literally from the mqtt.espmilighthub binding, but changed slightly to fit in with other functions in ColorUtil. I intend to use this from espmilighthub, but also the HomeKit add-on. HomeKit doesn't allow linking both HSB and Color Temperature characteristics to a single accessory, even though the iOS Home App will present a Color Temperature picker for any HSB light. So I want to allow linking devices that support both RGB+CCT to HomeKit, and if the Duv is within threshold, send a command to the Color Temperature channel instead.
I also think it might be useful to add a profile to apply to a Color channel link that does the same thing - if a color is close enough to "white", send a command to the color temperature item instead. This would cover all other use cases, such as BasicUI and MainUI.
This can also be useful for user rules dealing with RGB+CCT light.