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

Chrivers/entertainment reversing #104

Merged
merged 107 commits into from
Mar 17, 2025
Merged

Conversation

chrivers
Copy link
Owner

@chrivers chrivers commented Mar 16, 2025

Important

This is the big one people have been waiting for! :-)

After spending countless hours reverse-engineering the proprietary Zigbee data
format used by Philips Hue lights for "Entertainment Mode", even countlesser
hours have gone into implementing support in Bifrost.

Today, I am proud to announce that Bifrost is the first program in the world
to have an entirely Open Source (Free Software) implementation of Hue
Entertainment mode!

This has been a monumental effort. Before starting this work, the Bifrost code
base was about 7200 lines of code. Now, it is over 15000 lines!. In other
words, implementing entertainment mode more than doubled the code base!

I think it's fair to say, that this was more complicated than anticipated.

To make this work at all, the Zigbee2Mqtt project was updated with patches from
myself (@chrivers), @danielhitch, and the author of Zigbee2Mqtt, @Koenkk.

Special thanks to @Koenkk for taking time out of his busy schedule, to help us
get the necessary bits in place. The new code was first released in version 2.1.1.

Warning

Zigbee2Mqtt MUST BE AT LEAST version 2.1.1 for Entertainment Mode to work.

Important

Even though version 2.1.1 is the minimum version, version 2.1.3 or greater is
highly recommended, since some important bugs were fixed after version 2.1.1.

This is the very first of Bifrost that supports Entertainment Mode at all, so
please bear with us while we iron out any bugs or rough edges.

Should work:

  • Creating Entertainment Areas from the Hue App.
  • Updating Entertainment Area settings.
  • Adding lights or 7-segment strips to entertainment areas.
  • Streaming to Entertainment Areas from "Hue Sync for PC" (tested).
  • Streaming to Entertainment Areas from Play HDMI sync box 8K (tested).
  • Streaming to one or more lights.
  • Streaming to a combination of lamps and light strips.

Perhaps working: (please let us know what your experience is!)

  • Adding 3-segment strips to entertainment areas.
  • Adding non-color lights to entertainment areas.
  • Streaming to Entertainment Areas from Play HDMI sync box (older, non-8K version).

Not yet working:

  • Adjusting "stream mode" ("From Device" vs "From Bridge")
  • Adjusting "relative brightness" for lights
  • Streaming in XY color mode (most things seem to use RGB mode)

Fixes #45 :-)

@chrivers chrivers force-pushed the chrivers/entertainment-reversing branch from be49181 to b4a530d Compare March 17, 2025 08:55
chrivers added 29 commits March 17, 2025 12:15
…ivityStatus::ConnectivityIssue for bridge ZigbeeConnectivity
…ment (zone) for the Bridge, and a GroupedLight for the BridgeHome
chrivers added 25 commits March 17, 2025 12:15
…for EntertainmentConfigurationServiceLocations
…multiple devices in an entertainment zone, with both segmented and classical devices available.
…econdary devices only working after a while (or after stopping stream once)
@chrivers chrivers force-pushed the chrivers/entertainment-reversing branch from b4a530d to 03ad88b Compare March 17, 2025 11:15
@chrivers
Copy link
Owner Author

Fixes #45 :-)

@chrivers chrivers self-assigned this Mar 17, 2025
@chrivers chrivers merged commit 20f930b into master Mar 17, 2025
1 check passed
@chrivers chrivers deleted the chrivers/entertainment-reversing branch March 17, 2025 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hue Sync Box support
1 participant