{"id":31374843,"url":"https://github.com/michielpost/hueentertainmentpro","last_synced_at":"2025-09-28T01:00:36.850Z","repository":{"id":36926253,"uuid":"138642448","full_name":"michielpost/HueEntertainmentPro","owner":"michielpost","description":"Hue Entertainment Pro can control multiple entertainment areas from multiple bridges","archived":false,"fork":false,"pushed_at":"2025-09-22T11:46:16.000Z","size":7799,"stargazers_count":73,"open_issues_count":1,"forks_count":16,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-22T12:07:02.108Z","etag":null,"topics":["dj","hue","hue-entertainment","hue-lights","light","lights","philips","philips-hue","philipshue"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michielpost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"michielpost"}},"created_at":"2018-06-25T19:47:58.000Z","updated_at":"2025-09-22T11:47:07.000Z","dependencies_parsed_at":"2025-01-08T21:10:53.775Z","dependency_job_id":"88c26dde-53ea-4f05-a62f-60056b7a7ad7","html_url":"https://github.com/michielpost/HueEntertainmentPro","commit_stats":{"total_commits":204,"total_committers":4,"mean_commits":51.0,"dds":"0.019607843137254943","last_synced_commit":"abc02bb2c6a568f20df601429186195e392f5679"},"previous_names":["michielpost/hueentertainmentpro"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/michielpost/HueEntertainmentPro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michielpost%2FHueEntertainmentPro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michielpost%2FHueEntertainmentPro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michielpost%2FHueEntertainmentPro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michielpost%2FHueEntertainmentPro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michielpost","download_url":"https://codeload.github.com/michielpost/HueEntertainmentPro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michielpost%2FHueEntertainmentPro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277311262,"owners_count":25796892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-27T02:00:08.978Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dj","hue","hue-entertainment","hue-lights","light","lights","philips","philips-hue","philipshue"],"created_at":"2025-09-28T01:00:28.376Z","updated_at":"2025-09-28T01:00:36.823Z","avatar_url":"https://github.com/michielpost.png","language":"C#","funding_links":["https://github.com/sponsors/michielpost"],"categories":[],"sub_categories":[],"readme":"# Hue Entertainment Pro\nOld name: Hue Light DJ\n\n[![Build .NET](https://github.com/michielpost/HueLightDJ/actions/workflows/build.yml/badge.svg)](https://github.com/michielpost/HueLightDJ/actions/workflows/build.yml)\n\n## What is it?\nThis web app can connect to multiple Philips Hue Bridges over the local network. It uses the Hue Entertainment API to update the lights almost instantly.\n\n**Hue Entertainment Pro** is designed for setups with **multiple Philips Hue bridges**, allowing you to merge several entertainment areas into one seamless experience.\n\n- Perfect for **large setups** with 20+ Hue lights  \n- Works with **smaller setups** too (even under 5 lights)  \n- Things get really fun once you pass **10+ lights** — give it a try  \n- Includes a built-in **DEMO mode**, so you can preview how a 20+ light setup would look, even if you have fewer lights at home\n- Includes a top down preview and a **new 3D preview**\n- Hue Event Monitor to easily monitor events from your bridges\n- Resource Explorer to view all data on your Hue Bridge\n\nNOTE: The original [Hue Entertainment API](https://developers.meethue.com/entertainment-blog) supports max 20 lights in an Entertainment Group using the v2 API. To get this to work with more than 20 addressable lights, you need to have 1 bridge for every 20 lights. A led strip contains more than 1 addressable light (for example 3 or 5).\nUsing Hue Entertainment Pro, you can merge these areas into one area to apply effects to.\n\n![3D preview](screenshots/2d_preview.gif)\n\n## Live Demo\nNOTE: You can't use this demo to connect to your own bridge. But you can use the two included Demo Areas to view a simulation.  \nDEMO:  [https://huelightdj.azurewebsites.net/](https://huelightdj.azurewebsites.net/)\n\n### Demo with 32 Hue Light Strips on 5 bridges\n[![Hue Entertainment demo with 32 Hue Light Strips](screenshots/vimeo_preview2.png)](https://vimeo.com/292273983) [![Hue Light DJ with 32 Hue LED strips](screenshots/vimeo_preview.png)](https://vimeo.com/290011309)\n\n## Features\n- Combine multiple entertainment areas into one\n- Control multiple entertainment areas from multiple bridges at the same time\n- Contains build in effects\n- BPM input to specify speed of effects\n- Preview window, to see the result of the effects\n- New 3D Preview\n- Random mode, runs a random effect on a random group\n- Auto mode (Party Mode), starts a new random effect every 6 seconds\n- Build in groups like front/back, left/right\n- Random group, creates a new random group every time\n- Touch effect, click or touch the preview area to start an effect from that position\n- Brightness Slider to control overall brightness\n- DEMO mode, to test the app without a Hue Bridge\n- Connect to multiple Hue Bridges at the same time to control more than 20 lights \n- Uses SQLite for storage\n\n![3D preview](screenshots/3d_preview.gif)\n\n## Tech\n- ASP.Net Core 9.0 backend\n- SignalR for realtime communication from server to client\n- gRPC for client to server communication\n- [HueApi](https://github.com/michielpost/Q42.HueApi) for communicating with the Hue Bridge\n- Blazor frontend\n- PixiJS for WebGL preview window\n- ThreeJs for 3D preview\n- SQLite for data storage\n\n## **Build and Install Instructions**\n- Make sure to have [.Net 9.0](https://dotnet.microsoft.com/download) installed to build this project (`dotnet build`)\n- Run the HueEntertainmentPro.Server project(`cd HueEntertainmentPro\\Server \u0026\u0026 dotnet run`) \n- Follow the instructions to link your bridge or use the DEMO setup\n\n## Docker\nhttps://hub.docker.com/r/michielpost/huelightdj/\n```\ndocker pull michielpost/huelightdj\ndocker run -d -p 8080:8080 michielpost/huelightdj\n```\nHue Entertainment Pro is now available on port 8080\n\n## Build docker image locally\n```\ndocker build -f HueEntertainmentPro/Server/Dockerfile -t hue-entertainment-pro:dev .\ndocker run --rm -p 8080:8080 hue-entertainment-pro:dev\n```\n\n### Docker Compose\nThis application uses SQLite for storage. To keep your data between upgrades, use docker compose to store the database file on it's own volume.\n\nExample docker compose file:\n```yml\nservices:\n  hueentertainmentpro.server:\n    image: ${DOCKER_REGISTRY-}michielpost/huelightdj\n    build:\n      context: .\n      dockerfile: HueEntertainmentPro/Server/Dockerfile\n    expose:\n      - \"8080\" # Expose port 8080 to the reverse proxy\n    volumes:\n      - sqlite-data:/app/data\n    restart: unless-stopped\n    environment:\n      - ASPNETCORE_ENVIRONMENT=Production\n      - ConnectionStrings__DefaultConnection=Data Source=/app/data/HueEntertainmentPro.db;Cache=Shared\nvolumes:\n  sqlite-data:\n```\n\n## Screenshots\n![Main](screenshots/01_home.jpg)\n![Add bridges](screenshots/02_bridges.jpg)\n![Preview](screenshots/03_preview.jpg)\n![Apply effects](screenshots/04_effects.jpg)\n![3D preview](screenshots/05_3dpreview.jpg)\n![Event Monitor](screenshots/06_event_monitor.jpg)\n![Resource Explorer](screenshots/08_resource_explorer.jpg)\n\n\n### SQL / Entity Framework Migrations\n\nExecute in `.`:\n\n```ps\ndotnet ef --startup-project HueEntertainmentPro\\Server\\HueEntertainmentPro.Server.csproj --project HueEntertainmentPro.Database migrations add MIGRATION_NAME\n```\n\n## Feature Wishlist\n- Multi Bridge light location configuration (use the Hue App to configure your light positions)\n- Keyboard shortcuts\n- Effect Composer, try out new effects by selecting a group, IteratorMode and effect\n- More build in effects\n- Support for a hardware controller using WebMidi\n- Listen to sound input\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichielpost%2Fhueentertainmentpro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichielpost%2Fhueentertainmentpro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichielpost%2Fhueentertainmentpro/lists"}