{"id":28369810,"url":"https://github.com/dkern/minoss-hue","last_synced_at":"2025-10-07T18:00:03.963Z","repository":{"id":57298092,"uuid":"70162522","full_name":"dkern/minoss-hue","owner":"dkern","description":"Philips Hue API for Minoss","archived":false,"fork":false,"pushed_at":"2023-04-17T14:11:55.000Z","size":29,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-18T12:51:09.590Z","etag":null,"topics":["hue","hue-bridge","hue-lights","iot","minoss"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dkern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2016-10-06T14:36:34.000Z","updated_at":"2020-07-24T11:46:34.000Z","dependencies_parsed_at":"2025-06-20T02:32:52.295Z","dependency_job_id":"cab9a855-6be2-4775-bcd4-adbdd7b7bcac","html_url":"https://github.com/dkern/minoss-hue","commit_stats":null,"previous_names":["eisbehr-/minoss-hue"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/dkern/minoss-hue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkern%2Fminoss-hue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkern%2Fminoss-hue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkern%2Fminoss-hue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkern%2Fminoss-hue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkern","download_url":"https://codeload.github.com/dkern/minoss-hue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkern%2Fminoss-hue/sbom","scorecard":{"id":346624,"data":{"date":"2025-08-11","repo":{"name":"github.com/dkern/minoss-hue","commit":"3bdb75eff056ba735ddccd214b56d85e57e50d94"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.3,"checks":[{"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":"Code-Review","score":0,"reason":"Found 0/10 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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"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":"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":"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":"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":"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":"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":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-42xw-2xvc-qx8m","Warn: Project is vulnerable to: GHSA-4w2v-q235-vp99","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-hr2v-3952-633q","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc"],"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-18T07:12:02.632Z","repository_id":57298092,"created_at":"2025-08-18T07:12:02.632Z","updated_at":"2025-08-18T07:12:02.632Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278820692,"owners_count":26051767,"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-10-07T02:00:06.786Z","response_time":59,"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":["hue","hue-bridge","hue-lights","iot","minoss"],"created_at":"2025-05-29T05:45:06.879Z","updated_at":"2025-10-07T18:00:03.931Z","avatar_url":"https://github.com/dkern.png","language":"JavaScript","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=93XQ8EYMSWHC6)!"],"categories":[],"sub_categories":[],"readme":"# Philips Hue for Minoss\n[![GitHub version](https://badge.fury.io/gh/dkern%2Fminoss-hue.svg)](http://github.com/dkern/minoss-hue)\n[![NPM version](https://badge.fury.io/js/minoss-hue.svg)](http://www.npmjs.org/package/minoss-hue)\n[![Dependency version](https://david-dm.org/dkern/minoss-hue.png)](https://david-dm.org/dkern/minoss-hue)\n\nThis module adds support for controlling Philips Hue devices to [Minoss](https://github.com/dkern/minoss) server.\nThe API communication is based on [`node-hue-api`](https://www.npmjs.com/package/node-hue-api).\n\n\n## Table Of Contents\n* [Installation](#installation)\n* [Configuration](#configuration)\n* [Bridge selection](#bridge-selection)\n* [Parameter Shorthand](#parameter-shorthand)\n* [State Builder](#state-builder)\n  * [Using `JSON` as State](#using-json-as-state)\n  * [Chaining States](#chaining-states)\n* [Scripts](#scripts)\n  * [Bridges](#bridges)\n  * [Lights](#lights)\n  * [Groups](#groups)\n  * [Scenes](#scenes)\n  * [Schedules](#schedules)\n* [Bugs / Feature request](#bugs--feature-request)\n* [License](#license)\n* [Donation](#donation)\n\n\n---\n\n\n## Installation\nInside your Minoss root folder just use [npm](http://npmjs.com) to install this Module.\n\n```SH\n$ npm install minoss-hue\n```\n\n\n## Configuration\nBy default there are three configuration files available inside the `config/` folder: `bridges`, `lights` and `groups`.\nThe configurations for `lights` and `groups` are optionally.\nYou can store different light states there, if wanted.\nFor more details take a look inside the files or read about the [state builder](#state-builder).\n\nBefore using this module the `bridges` configuration should be set up.\nThis file contains the `IP` address and `username` for all bridges inside the network, which should be controlled.\n\nIt is possible to store the bridges under own names.\nThe name `default` is a reserved name.\nMinoss will select this bridge whenever no bridge name was given by request parameters.\nSo, if only one bridge is available, the name `default` should be used.\n\n```JS\nmodule.exports = {\n    default: {\n        ip: \"192.168.1.11\",\n        username: \"your-hue-bridge-username\"\n    },\n    garden: {\n        ip: \"192.168.1.20\",\n        username: \"your-garden-bridge-username\"\n    },\n    another: {\n        // ...\n    }\n};\n```\n\nIf you don't know how to register a username for your bridge, read about it in the [official documentation](http://www.developers.meethue.com/documentation/getting-started). \n\n\n## Bridge selection\nIt is possible to use more than one bridge in this module.\nThe `bridge` request parameter controls which bridge will be selected for the current action.\nInside the [configuration](#configuration) it is possible to add those.\n\nWhen no `bridge` parameter was added on request, the `default` bridge will be used.\nSo, if working with a single bridge only, or when it's wanted to use the default bridge, the `bridge` parameter redundant.\n\nDefault bridge:\n\n\u003e http://localhost:8080/hue/bridges?action=config  \n\u003e http://localhost:8080/hue/bridges?action=config\u0026bridge=default\n\nSelecting another bridge:\n\n\u003e http://localhost:8080/hue/bridges?action=config\u0026bridge=garden\n\n\n### Parameter Shorthand\nAll request parameters can be shorten to it's first character.\nWith this it is possible to use shorten URLs.\n\n```TEXT\nbridge  -\u003e  b\nid      -\u003e  i\ngroup   -\u003e  g \nstate   -\u003e  s\n```\n\nExample:\n\n\u003e http://localhost:8080/hue/lights?**action**=set\u0026**id**=1\u0026**state**=on  \n\u003e http://localhost:8080/hue/lights?**a**=set\u0026**i**=1\u0026**s**=on\n\n\n## State Builder\nHue `lights` and `groups` uses so called `states` to define it's current output.\nThings like `brightness` or `saturation` and others can be controlled by this.\nThe module can build these states by request.\n\nStates for `lights` and `groups` could be predefined in [configuration](#configuration).\nBy default the states `on`, `off`, `low`, `mid` and `high` are predefined and available. \nThey can be set by it's name on request:\n\n\u003e http://localhost:8080/hue/lights?action=set\u0026id=1\u0026state=**on**\n\n\n### Using `JSON` as State\nIt is possible to use a `JSON` string as state on request.\nIt works the same way as with predefined states: \n\n\u003e http://localhost:8080/hue/lights?action=set\u0026id=1\u0026state=**{\"on\":true,\"bri\":255}**\n\n\n### Chaining States\nThe state builder can even handle a chain of states.\nThese states has to be separated by a pipe `|` on request.\nIt will combine all state in the given order.\nWhen a state property is set by more than one entry, the last one will be set.\n\nFor example, these are predefined states:\n\n```JS\nvar states = {\n    on: {\n        on: true\n    },\n    normal: {\n        bri: 1,\n        sat: 255\n    },\n    high: {\n        bri: 255\n    }\n}\n```\n\nAnd this request:\n\n\u003e http://localhost:8080/hue/lights?action=set\u0026id=1\u0026state=**on|normal|high**\n\nThe resulting state would become:\n\n```JSON\n{\n  \"on\": true,\n  \"bri\": 255,\n  \"sat\": 255\n}\n```\n\nIt is even possible to chain a `JSON` string too.\n\n\u003e http://localhost:8080/hue/lights?action=set\u0026id=1\u0026state=**on|normal|{\"bri\":255}**\n\n\n## Scripts\nThe following tables describe the available scripts and parameters of the module\n\n\n### Bridges\n\u003e http://localhost:8080/hue/**bridges**?action={ACTION}\n\n| action                    | parameters                                                | description\n| :------------------------ | :-------------------------------------------------------- |-------------\n| `config`                  | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_  | receive the full configuration of a bridge\n| `description`             | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_  | receive the description of a bridge\n| `search`\u0026nbsp;_(default)_ | _-_                                                       | search for bridges inside your network\n| `state`                   | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_  | receive the full current state of a bridge\n| `user`                    | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_  | receive all registered users of a bridge\n| `version`                 | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_  | receive software version information of a bridge\n\n\n### Lights\n\u003e http://localhost:8080/hue**/lights**?action={ACTION}\n\n| action                 | parameters                                                                                                                                               | description\n| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------\n| `get`\u0026nbsp;_(default)_ | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;_[optional]_                                      | receive information of all lights, or of a specific light when `id` is set\n| `set`                  | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;\u003cbr /\u003e_(str)_\u0026nbsp;state\u0026nbsp;\u0026#124;\u0026nbsp;s\u0026nbsp; | set a state, or a chain of states, to a specified light\n\n\n### Groups\n\u003e http://localhost:8080/hue/**groups**?action={ACTION}\n\n| action                 | parameters                                                                                                                                               | description\n| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------\n| `get`\u0026nbsp;_(default)_ | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;_[optional]_                                      | receive information of all groups, or of a specific group when `id` is set\n| `set`                  | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;\u003cbr /\u003e_(str)_\u0026nbsp;state\u0026nbsp;\u0026#124;\u0026nbsp;s\u0026nbsp; | set a state, or a chain of states, to a specified group\n\n\n### Scenes\n\u003e http://localhost:8080/hue/**scenes**?action={ACTION}\n\n| action                 | parameters                                                                                                                                               | description\n| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------\n| `get`\u0026nbsp;_(default)_ | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;_[optional]_                                      | receive information of all scenes, or of a specific scene when `id` is set\n| `set`                  | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;\u003cbr /\u003e_(str)_\u0026nbsp;group\u0026nbsp;\u0026#124;\u0026nbsp;g\u0026nbsp; | set a scene to a specified group\n\n\n### Schedules\n\u003e http://localhost:8080/hue/**schedules**?action={ACTION}\n\n| action                 | parameters                                                                                                          | description\n| :--------------------- | :-------------------------------------------------------------------------------------------------------------------|-------------\n| `get`\u0026nbsp;_(default)_ | _(str)_\u0026nbsp;bridge\u0026nbsp;\u0026#124;\u0026nbsp;b\u0026nbsp;_[optional]_ \u003cbr /\u003e_(int)_\u0026nbsp;id\u0026nbsp;\u0026#124;\u0026nbsp;i\u0026nbsp;_[optional]_ | receive information of all schedules, or of a specific schedule when `id` is set\n\n\n## Bugs / Feature request\nPlease [report](http://github.com/dkern/minoss-hue/issues) bugs and feel free to [ask](http://github.com/dkern/minoss-hue/issues) for new features directly on GitHub.\n\n\n## License\nMinoss is dual-licensed under [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL-2.0](http://www.gnu.org/licenses/gpl-2.0.html) license.\n\n\n## Donation\n_You like to support me?_  \n_You appreciate my work?_  \n_You use it in commercial projects?_  \n  \nFeel free to make a little [donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=93XQ8EYMSWHC6)! :wink:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkern%2Fminoss-hue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkern%2Fminoss-hue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkern%2Fminoss-hue/lists"}