{"id":17019282,"url":"https://github.com/schnoddelbotz/huego-fe","last_synced_at":"2025-03-22T16:29:30.711Z","repository":{"id":62867381,"uuid":"313440077","full_name":"schnoddelbotz/huego-fe","owner":"schnoddelbotz","description":"A cross-platform GUI, CLI and a web interface to efficiently control lights connected to your Philips Hue bridge","archived":false,"fork":false,"pushed_at":"2020-11-26T22:35:37.000Z","size":373,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-27T17:54:10.513Z","etag":null,"topics":["cli","golang","gui","hue","keyboard-shortcut","philips-hue","philips-hue-bridge","philips-hue-lights"],"latest_commit_sha":null,"homepage":"","language":"Go","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/schnoddelbotz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-16T22:12:43.000Z","updated_at":"2021-01-17T20:29:25.000Z","dependencies_parsed_at":"2022-11-08T06:15:39.873Z","dependency_job_id":null,"html_url":"https://github.com/schnoddelbotz/huego-fe","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schnoddelbotz%2Fhuego-fe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schnoddelbotz%2Fhuego-fe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schnoddelbotz%2Fhuego-fe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schnoddelbotz%2Fhuego-fe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schnoddelbotz","download_url":"https://codeload.github.com/schnoddelbotz/huego-fe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244985722,"owners_count":20542877,"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","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":["cli","golang","gui","hue","keyboard-shortcut","philips-hue","philips-hue-bridge","philips-hue-lights"],"created_at":"2024-10-14T06:48:42.369Z","updated_at":"2025-03-22T16:29:30.685Z","avatar_url":"https://github.com/schnoddelbotz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![build](https://github.com/schnoddelbotz/huego-fe/workflows/build/badge.svg)](https://github.com/schnoddelbotz/huego-fe/actions?query=workflow%3Abuild)\n[![goreportcard](https://goreportcard.com/badge/github.com/schnoddelbotz/huego-fe)](https://goreportcard.com/report/github.com/schnoddelbotz/huego-fe)\n[![Coverage Status](https://coveralls.io/repos/github/schnoddelbotz/huego-fe/badge.svg?branch=main)](https://coveralls.io/github/schnoddelbotz/huego-fe?branch=main)\n\n# huego-fe\n\nA cross-platform CLI, GUI and web - frontend for software remote control of Philips Hue bridges, based on [huego](https://github.com/amimof/huego).\n\n`huego-fe` focuses on basic lights operations (on, off, brightness, ... more to come potentially).\n\n![](./screenshots/huego-fe-gui-linux.png)\n\n## CLI usage\n\n```bash\n$ huego-fe\nhuego-fe can control your philips hue stuff\n\nUsage:\n  huego-fe [flags]\n  huego-fe [command]\n\nAvailable Commands:\n  brightness  set light brightness\n  colortemp   set light color temperature\n  help        Help about any command\n  list        A brief description of your command\n  login       Discover Hue bridge and log in -- press link button first!\n  off         fusion reactor control plane\n  on          engage rocket launcher\n  serve       exposes Hue lights control via an ugly web interface\n  toggle      toggle toggles\n  version     prints a bestseller novel on-demand\n\nFlags:\n      --config string         config file (default is $HOME/.huego-fe.yaml)\n  -h, --help                  help for huego-fe\n  -g, --hue-group int         Hue group No.# [$HUE_GROUP], see: huego-fe list (default 1)\n  -i, --hue-ip string         Hue bridge IP [$HUE_IP] , see: huego-fe login -h\n  -l, --hue-light int         Hue light No.# [$HUE_LIGHT], see: huego-fe list (default 1)\n  -u, --hue-user string       Hue bridge user/token [$HUE_USER], see: huego-fe login -h\n  -f, --light-filter string   exclude lights (provided as comma-separated list of IDs) from UI\n  -s, --single-light          Apply operation on single light, not (default) group\n\n  \nUse \"huego-fe [command] --help\" for more information about a command.\n\n```\n\n\n## Installation\n\nIf you have [Go](https://golang.org/doc/install) installed and want to build from current master:\n\n```bash\ngo get github.com/schnoddelbotz/huego-fe\n```\n\nOtherwise, [download a binary release](./../../releases), extract it and put the binary somewhere on your `PATH`.\n\n## Setup / Usage / Examples\n\nAt first run after installation, `huego-fe` needs to be linked to your Hue.\nHue address and login data will be stored in `~/.huego-fe.yml`.\nShould you ever want to re-link, delete the file.\n\n*Note: Web currently still lacks color temperature and group control capabilities. Soon ...*\n\n### Web\n\n- Run `huego-fe serve --open-browser` (or `huego-fe s -o` for short). \n\nYour browser should open, showing huego-fe web UI, asking you to push link button. Once pressed, \nyou should be warped into control UI.\n\n### CLI\n\n- Press Hue's link button to enable login\n- Now run `huego-fe login` within a few seconds\n- Try ...\n  - `cat ~/.huego-fe.yml` to check generated config\n  - `huego-fe list` to dump lights/groups including IDs to console\n  - `huego-fe on` to power up the default lamp\n  - `huego-fe b 64 -l 6` -- add `-l ...` to override default light; e.g. here: to set brightness of light 6 to 64\n  - `huego-fe t` toggles the default light\n\n### GUI\n\n- just run `huego-fe` without any command line arguments to launch GUI.\n\nKeyboard shortcuts:\n\n| Key(s)                                         | Action                                              |\n|------------------------------------------------|-----------------------------------------------------|\n| \u003ckbd\u003eTab\u003c/kbd\u003e                                 | toggle between single-light and group control mode  |\n| \u003ckbd\u003e⇧\u003c/kbd\u003e / \u003ckbd\u003e⇩\u003c/kbd\u003e                    | select light / group                                |\n| \u003ckbd\u003e⇦\u003c/kbd\u003e / \u003ckbd\u003e⇨\u003c/kbd\u003e                    | brightness -/+ 20                                   |\n|                                                | with \u003ckbd\u003eCtrl\u003c/kbd\u003e: brightness -/+ 10             |\n|                                                | with \u003ckbd\u003eAlt\u003c/kbd\u003e: brightness jump min/max        |\n| \u003ckbd\u003e⇦\u003c/kbd\u003e / \u003ckbd\u003e⇨\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e | color temperature -/+ 20                            |\n|                                                | with \u003ckbd\u003eCtrl\u003c/kbd\u003e: color temperature -/+ 10      |\n|                                                | with \u003ckbd\u003eAlt\u003c/kbd\u003e: color temperature jump min/max |\n| \u003ckbd\u003ePgUp\u003c/kbd\u003e / \u003ckbd\u003eHome\u003c/kbd\u003e              | power on                    |\n| \u003ckbd\u003ePgDn\u003c/kbd\u003e / \u003ckbd\u003eEnd\u003c/kbd\u003e               | power off                   |\n| \u003ckbd\u003e⏎\u003c/kbd\u003e / \u003ckbd\u003eEnter\u003c/kbd\u003e                | toggle power state          | \n| \u003ckbd\u003eSpace\u003c/kbd\u003e                               | toggle and quit             |\n| \u003ckbd\u003eESC\u003c/kbd\u003e                                 | quit                        |\n\nTo override GUI startup default light (as read from `~/.huego-fe.yml`), use `-l` command line flag.\nBy putting e.g. `light-filter: \"2,3,4,5\"` into `~/.huego-fe.yml`, lights with given IDs will be hidden from UI.\n\n#### Desktop integration\n\nIt might be handy to assign a Keyboard shortcut to start `huego-fe` GUI for regular use. \n\n##### Example setup for Gnome / Ubuntu 20.04:\n\n- Go to settings \u003e Keyboard shortcuts, scroll to bottom, hit `+`\n- Given you put `huego-fe` into `$PATH` during installation, just use `huego-fe` here as Name and Command\n- Click `Set Shortcut` and e.g. choose/press Ctrl-F12\n\nPressing Ctrl-F12 will now bring up `huego-fe` with default `hue-light` as set in `~/.huego-fe.yml`!\n\nYou may want to additionally assign `huego-fe toggle` (to e.g. Ctrl-Shift-F12), permitting direct toggling\nof your default lamp.\n\n### Example configuration file\n\nThe `.huego-fe.yml` gets written to your home directory upon initial Hue bridge pairing success and\nread at each startup. Each setting maps to the command line flag of same name. Command line flags \noverride config file settings. Example contents: \n\n```\n# The following group filter will exclude group IDs 2,3,4,5 from UI (e.g. if no intent to ever control):\ngroup-filter: \"2,3,4,5\"\n# As for groups -- light exclusion filter. List IDs not to show in UI (control via CLI is still possible).\nlight-filter: \"2,3,4,5\"\n\n# The default group ID to open in UI and to control via CLI if no group was provided, dto. for light:\nhue-group: 1\nhue-light: 6\n\n# Command line flag -s / --single-light; defaults to false. Keep it like this, unless you want to\n# exclusively use GUI and have it show single light control mode on every startup.\nsingle-light: false\n\n# Open a web browser when running huego-fe serve?\nopen-browser: false\n\n# Bridge settings\nhue-ip: http://192.168.78.128\nhue-user: ...individual.key.from.pairing...\n```\n\nUsing above config, and assuming we have light and group IDs 1-6 to control, we can now e.g. `t[oggle]` like this:\n\n- `huego-fe t` will toggle default group (ID 1), as `--single-light` is false by default\n- `huego-fe t 6` will toggle non-default group (ID 6)\n- `huego-fe t -s` will toggle default light (ID 6)\n- `huego-fe t -s 1` will toggle non-default light (ID 1)\n\n# todo\n\n- getting/setting colors, see\n  - https://github.com/lucasb-eyer/go-colorful/issues/35\n  - https://stackoverflow.com/questions/22564187/rgb-to-philips-hue-hsb\n- cli: enable cobra shell auto-completion on commands / lights\n- add a cmd/install_linux.go that permits simple installation of systemd socket-activated `huego-fe serve`?\n- web: use index.tpl.html for link process, too; group+color temp control missing\n- add `huego-fe schedule` to easily manage systemd timers / mac launchd / MS ScheduledTask?\n- split gui and cli/web binaries? build time for CLI/web only usage concerns + mousetrap breaks cli on win \n- github action: add release builds; open: goreleaser vs cgo / how-to \n\n# kudos to ...\n\n- [huego](https://github.com/amimof/huego) -- for making building `huego-fe` on top of it a simple joy\n- [Gio](https://gioui.org/) -- for enabling `huego-fe` GUI\n- [Cobra](https://cobra.dev/) -- for rocking `huego-fe` CLI\n\n# bugs\n\nPlenty for sure - have you seen a single test in here? Lame excuse: Toy project. Still, issues / PRs very welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschnoddelbotz%2Fhuego-fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschnoddelbotz%2Fhuego-fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschnoddelbotz%2Fhuego-fe/lists"}