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

Add basic support for Hue Dynamic Scenes #8014

Draft
wants to merge 19 commits into
base: master
Choose a base branch
from

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    b47901b View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. Add scaffolding for 'setHueLightState()'

    'setLightState()' calls out to this new helper method when dealing
    with a Hue light that supports effects with a request that contains
    only items that can be handled by the manufacturer-specific command.
    
    The new method will eventually build a '0x00' command from the
    '0xfc03' cluster to control the light, mimicking what the Hue Bridge.
    hanskroner committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    0806c16 View commit details
    Browse the repository at this point in the history
  2. Add scaffolding for 'addTaskHueManufacturerSpecific’

    The new method will be responsible for building a '0x00' command from the '0xfc03' cluster and queuing a task for it to be sent out the radio.
    
    The method signature is expected to change to allow passing payload items and their content descriptor easily.
    hanskroner committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    172e406 View commit details
    Browse the repository at this point in the history
  3. Add an identifier for payload contents

    Use a quint16 enum, wrapped in QFlags, to track which items are
    present in the payload of a ‘’0xfc03’ 0x00’ command.
    hanskroner committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    750fdac View commit details
    Browse the repository at this point in the history
  4. Process “on” states with ‘0xfc03’

    For Philips Hue lights that support the ‘0xfc03’ cluster, handle changes
    to their “on” state using the manufacturer-specific cluster.
    hanskroner committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    3c3e883 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    56310f7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0102258 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    baf4f4b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    07c68bf View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6468b49 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4c2a33c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4a282d5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5e66010 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. Configuration menu
    Copy the full SHA
    51598d4 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2024

  1. Introduce ‘hue-scenes’ API endpoint

    Hue lights leverage a manufacturer-specific cluster - `0xfc03` and some
    manufacturer-specific commands in ZCL clusters to enable scenes that
    cycle through colors and/or use Hue light effects. This additional REST
    API endpoint will expose that functionality without compromising the
    existing `group` and `scene` endpoints.
    hanskroner committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    de01dc6 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2024

  1. Add rudimentary recall of Hue Dynamic Scenes

    Playing a Hue Dynamic Scene first recalls a “regular” scene and then
    instructs the members of that scene to begin playing the ‘dynamic
    palette’. The effect works best when the recalled scene puts its
    member lights into a state that is identical to one of those provided
    in the ‘dynamic palette’. The light’s firmware takes care of playing
    the scene starting from the lights current state.
    
    The equivalent of the contents of the ‘palette’ object in the CLIP v2
    API must be provided to the ‘recall’ endpoint of ‘hue-scenes’ every
    time - it is not stored by the API. Currently only a payload of colors
    is supported.
    hanskroner committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    940b434 View commit details
    Browse the repository at this point in the history
  2. Extract manufacturer-specific set of Hue light state

    The code can be reused by the manufacturer-specific way of defining the
    state of a Hue light in a scene, which will be added next.
    hanskroner committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    c0449c8 View commit details
    Browse the repository at this point in the history
  3. Add manufacturer-specifc creation of Hue Scenes

    This includes heavy refactoring that was needed to enable code reuse
    and hopefully make ‘hue.cpp’ easier to navigate by grouping similiar
    functions together.
    hanskroner committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    f9f7ccb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    acd5dd5 View commit details
    Browse the repository at this point in the history