{"id":13468760,"url":"https://github.com/ebaauw/homebridge-hue","last_synced_at":"2026-01-21T23:06:45.717Z","repository":{"id":39732418,"uuid":"71273582","full_name":"ebaauw/homebridge-hue","owner":"ebaauw","description":"Homebridge plugin for Philips Hue","archived":false,"fork":false,"pushed_at":"2025-11-24T19:40:19.000Z","size":3367,"stargazers_count":924,"open_issues_count":2,"forks_count":97,"subscribers_count":43,"default_branch":"main","last_synced_at":"2025-11-28T07:40:30.724Z","etag":null,"topics":["homebridge-plugin","homekit","hue","philips","philips-hue","philipshue","signify"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebaauw.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":["ebaauw"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.me/ebaauw/EUR"]}},"created_at":"2016-10-18T17:27:58.000Z","updated_at":"2025-11-25T13:53:15.000Z","dependencies_parsed_at":"2025-11-27T21:02:45.502Z","dependency_job_id":null,"html_url":"https://github.com/ebaauw/homebridge-hue","commit_stats":{"total_commits":1754,"total_committers":22,"mean_commits":79.72727272727273,"dds":0.06385404789053595,"last_synced_commit":"069431ae7f1606aee11e465fdac5d3ea8fd47644"},"previous_names":[],"tags_count":321,"template":false,"template_full_name":null,"purl":"pkg:github/ebaauw/homebridge-hue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebaauw%2Fhomebridge-hue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebaauw%2Fhomebridge-hue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebaauw%2Fhomebridge-hue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebaauw%2Fhomebridge-hue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebaauw","download_url":"https://codeload.github.com/ebaauw/homebridge-hue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebaauw%2Fhomebridge-hue/sbom","scorecard":{"id":364448,"data":{"date":"2025-08-11","repo":{"name":"github.com/ebaauw/homebridge-hue","commit":"2d68859f1663c617072cd378bec314a286d84d43"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":1,"reason":"0 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T11:32:21.643Z","repository_id":39732418,"created_at":"2025-08-18T11:32:21.643Z","updated_at":"2025-08-18T11:32:21.643Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28646717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["homebridge-plugin","homekit","hue","philips","philips-hue","philipshue","signify"],"created_at":"2024-07-31T15:01:18.553Z","updated_at":"2026-01-21T23:06:45.711Z","avatar_url":"https://github.com/ebaauw.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ebaauw","https://www.paypal.me/ebaauw/EUR"],"categories":["JavaScript","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"homebridge-hue.png\" height=\"200px\"\u003e  \n\u003c/p\u003e\n\u003cspan align=\"center\"\u003e\n\n# Homebridge Hue\n[![Downloads](https://img.shields.io/npm/dt/homebridge-hue)](https://www.npmjs.com/package/homebridge-hue)\n[![Version](https://img.shields.io/npm/v/homebridge-hue)](https://www.npmjs.com/package/homebridge-hue)\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5\u0026logo=discord\u0026label=discord)](https://discord.gg/hZubhrz)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n\n[![GitHub issues](https://img.shields.io/github/issues/ebaauw/homebridge-hue)](https://github.com/ebaauw/homebridge-hue/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/ebaauw/homebridge-hue)](https://github.com/ebaauw/homebridge-hue/pulls)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen)](https://standardjs.com)\n\n\u003c/span\u003e\n\n## Homebridge plugin for Philips Hue\nCopyright © 2016-2026 Erik Baauw. All rights reserved.\n\n### Introduction\nThis [Homebridge](https://github.com/homebridge/homebridge) plugin exposes to Apple's [HomeKit](http://www.apple.com/ios/home/) Hue-compatible devices (lights, plugs, sensors, switches, ...) connected to a [Hue](http://www2.meethue.com/) bridge by Signify.\n\nNote that Hue was originally developed by Philips, before they split off their Lighting division into Signify.\nSignify are still using the Philips Hue brand name.\n\nSee the [Wiki](https://github.com/ebaauw/homebridge-hue/wiki/Features) for a list of Homebridge Hue features and supported devices, including a comparison of the features of:\n- The native HomeKit function of the gen-2 (square) Hue bridge; of\n- The native Matter function of the gen-2 (square) Hue bridge, connected to HomeKit; of\n- Homebridge Hue in combination with a Hue bridge; and of\n- [Homebridge deCONZ](https://github.com/ebaauw/homebridge-deconz) in combination with a deCONZ gateway.\n\nHomebridge Hue does automatic discovery of Hue bridges.\nIt supports multiple bridges from one installation.\nIt supports both the v2 (square) and v1 (round) Hue bridge.\nIt works in combination with the native HomeKit functionality of the v2 Hue bridge.\n\nPlease see the [Wiki](https://github.com/ebaauw/homebridge-hue/wiki) for a detailed description of Homebridge Hue.\n\n### Prerequisites\nYou need a Philips Hue bridge to connect Homebridge Hue to your Hue-compatible lights, switches, and sensors.\nI recommend using the latest Hue bridge firmware, with API v1.61.0 (v2 bridge) or v1.16.0 (v1 bridge) or higher.\n\nYou need a server to run Homebridge.\nThis can be anything running [Node.js](https://nodejs.org): from a Raspberry Pi, a NAS system, or an always-on PC running Linux, macOS, or Windows.\nSee the [Homebridge Wiki](https://github.com/homebridge/homebridge/wiki) for details.\nI recommend using wired Ethernet to connect the server running Homebridge, the Hue bridge, and the AppleTV acting as home hub.\n\nTo interact with HomeKit, you need Siri or a HomeKit app on an iPhone, Apple Watch, iPad, iPod Touch, or Apple TV (4th generation or later).\nI recommend to use the latest released versions of iOS, watchOS, and tvOS.  \nPlease note that Siri and even Apple's [Home](https://support.apple.com/en-us/HT204893) app still provide only limited HomeKit support.\nTo use the full features of Homebridge Hue, you might want to check out some other HomeKit apps, like the [Eve](https://www.evehome.com/en/eve-app) app (free) or Matthias Hochgatterer's [Home+](https://hochgatterer.me/home/) app (paid).\n\nAs HomeKit uses multicast-DNS (a.k.a. Bonjour) to discover Homebridge, the server running Homebridge must be on the same subnet as your iDevices running HomeKit.\nFor remote access and for HomeKit automations (incl. support for wireless switches), you need to setup an Apple TV (4th generation or later) or HomePod as [home hub](https://support.apple.com/en-us/HT207057).\n\n### Command-Line Utility\nHomebridge Hue includes the `ph` command-line utility to interact with the Hue API from the command line.\nSee the [tutorial](https://github.com/ebaauw/homebridge-hue/wiki/ph-Tutorial) on the Wiki for an introduction to this utility.\n\nIssue `ph -h` or `ph --help` to provide a brief overview of its functionality and command-line arguments.\n\n### Installation\nTo install Homebridge Hue:\n- Follow the instructions on the [Homebridge Wiki](https://github.com/homebridge/homebridge/wiki) to install Node.js and Homebridge;\n- Install the Homebridge Hue plugin through Homebridge Config UI X or manually by:\n  ```\n  $ sudo npm -g i homebridge-hue\n  ```\n\n- Edit `config.json` and add the `Hue` platform provided by Homebridge Hue, see [**Configuration**](#configuration);\n- Run Homebridge Hue for the first time, press the link button on (each of) your bridge(s).  Note the bridge ID/API key pair for each bridge in the log output.  Edit `config.json` to include these, see [**Configuration**](#configuration).  \nNote that you cannot add these through the Homebridge Hue *Settings* in Homebridge Config UI X, but you can use the *Homebridge Config Editor*.\n\nTo update Homebridge Hue, simply issue another `sudo npm -g i homebridge-hue@latest`.  Please check the [release notes](https://github.com/ebaauw/homebridge-hue/releases) before updating Homebridge Hue.  Note that a change to the minor version typically indicates that you need to review/redo your HomeKit configuration.  Due to changes in the mapping how Hue bridge resources are exposed, HomeKit might treat them as new accessories, services, and/or characteristics, losing any assignment to HomeKit rooms, scenes, actions, and triggers.  To revert to a previous version, specify the version when installing Homebridge Hue, as in: `sudo npm -g i homebridge-hue@0.13.70`.\n\n### Configuration\nIn Homebridge's `config.json` you need to specify Homebridge Hue as a platform plugin.  Furthermore, you need to specify what you want to expose to HomeKit.  See the [Wiki](https://github.com/ebaauw/homebridge-hue/wiki/Configuration) for a complete reference of the `config.json` settings used by Homebridge Hue, and for some examples.\n\nFor finer-grained control of what resources Homebridge Hue exposes to HomeKit, and how, create resource links on the bridge, see the [Wiki](https://github.com/ebaauw/homebridge-hue/wiki/Resource-Links).\n\n### Troubleshooting\n\nPlease check the [FAQ](https://github.com/ebaauw/homebridge-hue/wiki/FAQ).\n\n#### Check Dependencies\nIf you run into Homebridge startup issues, please double-check what versions of Node.js and of Homebridge have been installed.\nHomebridge Hue has been developed and tested using the [latest LTS](https://nodejs.org/en/about/previous-releases) version of Node.js and the [latest](https://www.npmjs.com/package/homebridge) version of Homebridge.\nOther versions might or might not work - I simply don't have the bandwidth to test these.\n\n#### Run Homebridge Hue Solo\nIf you run into Homebridge startup issues, please run a separate instance of Homebridge with only Homebridge Hue (and Homebridge Config UI X) enabled in `config.json`.\nThis way, you can determine whether the issue is related to Homebridge Hue itself, or to the interaction of multiple Homebridge plugins in your setup.\nYou can start this separate instance of Homebridge on a different system, as a different user, or from a different user directory (specified by the `-U` flag).\nMake sure to use a different Homebridge `name`, `username`, and (if running on the same system) `port` in the `config.json` for each instance.\n\n#### Debug Log File\nHomebridge Hue outputs an info message for each HomeKit characteristic value it sets and for each HomeKit characteristic value change notification it receives.\nWhen Homebridge is started with `-D`, Homebridge Hue outputs a debug message for each request it makes to the bridge, for each state change it detects while polling the bridge, and for each push notification it receives from gen-2 Hue bridge event stream.  Additionally, it issues a debug message for each bridge resource it detects.\n\nTo capture these messages into a log file do the following:\n- If you're running Homebridge as a service, stop that service;\n- Run Homebridge manually, capturing the output into a file, by issuing:\n  ```\n  $ homebridge -CD 2\u003e\u00261 | tee homebridge.log\n  ```\n- Interact with your devices, through their native app and or through HomeKit to trigger the issue;\n- Hit interrupt (ctrl-C) to stop Homebridge;\n- If you're running Homebridge as a service, restart the service;\n- Compress the log file by issuing:\n  ```\n  $ gzip homebridge.log\n  ```\n\n#### Debug Dump File\nTo aid troubleshooting, on startup, Homebridge Hue dumps its environment, including its `config.json` settings and the full state of all bridges into a compresed json file, `homebridge-hue.json.gz`.\nIP addresses, and bridge API keys are masked.\nThis file is created in the Homebridge user directory, `~/.homebridge` by default.\nIt can be downloaded through the Homebridge Config UI X user interface, from the Homebridge Hue _SETTINGS_ popup window, on the _Plugins_ tab.\n\n#### Getting help\nIf you have a question, please post a message to the **#hue** channel of the Homebridge community on [Discord](https://discord.gg/hZubhrz).\n\nIf you encounter a problem, please open an issue on [GitHub](https://github.com/ebaauw/homebridge-hue/issues).\nPlease attach a copy of `homebridge-hue.json.gz` to the issue, see [**Debug Dump File**](#debug-dump-file).\nPlease attach a copy of `homebridge.log.gz` to the issue, see [**Debug Log File**](#debug-log-file).\nPlease do **not** copy/paste large amounts of log output.\n\n### Contributing\nSometimes I get the question how people can support my work on Homebridge Hue.\nI created Homebridge Hue as a hobby project, for my own use.\nI share it on GitHub so others might benefit, and to give back to the open source community, without whom Homebridge Hue wouldn't have been possible.\n\nHaving said that, adding support for new devices, in Homebridge Hue, is very hard without having physical access to the device.\nSince this is a hobby project, I cannot afford to spend money on devices I won't be using myself, just to integrate them for the benefit of others.\nI am happy to receive small donations in the form of new devices to integrate, or the money to buy these devices myself.\nI am also happy to return the devices afterwards, if you provide the shipping costs.\nPlease contact me by email or on Discord for shipping details.\n\n### Caveats\nHomebridge Hue is a hobby project of mine, provided as-is, with no warranty whatsoever.  I've been running it successfully at my home for years, but your mileage might vary.\n\nThe HomeKit terminology needs some getting used to.\nAn _accessory_ more or less corresponds to a physical device, accessible from your iOS device over WiFi or Bluetooth.\nA _bridge_ (like Homebridge) is an accessory that provides access to other, bridged, accessories.\nAn accessory might provide multiple _services_.\nEach service corresponds to a virtual device (like a lightbulb, switch, motion sensor, ..., but also: a programmable switch button, accessory information, battery status).\nSiri interacts with services, not with accessories.\nA service contains one or more _characteristics_.\nA characteristic is like a service attribute, which might be read or written by HomeKit apps.\nYou might want to checkout Apple's [HomeKit Accessory Simulator](https://developer.apple.com/documentation/homekit/testing_your_app_with_the_homekit_accessory_simulator), which is distributed as an additional tool for `Xcode`.\n\nInternally, HomeKit identifies accessories by UUID.  For Zigbee devices (lights, sensors, switches), Homebridge Hue bases this UUID on the Zigbee mac address.  For non-Zigbee resources (groups, schedules, CLIP sensors), the UUID is based on the bridge ID and resource path (e.g. `/sensors/1`).  By not using the resource name (e.g. `Daylight`), Homebridge Hue can deal with duplicate names.  In addition, HomeKit will still recognise the accessory after the resource name has changed on the bridge, remembering which HomeKit room, groups, scenes, actions, and triggers it belongs to.  However, when a non-Zigbee bridge resource is deleted and then re-created, resulting in a different resource path, HomeKit will treat it as a new accessory, and you will need to re-configure HomeKit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febaauw%2Fhomebridge-hue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febaauw%2Fhomebridge-hue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febaauw%2Fhomebridge-hue/lists"}