{"id":14326187,"url":"https://github.com/chrivers/bifrost","last_synced_at":"2025-05-16T18:07:22.846Z","repository":{"id":254192566,"uuid":"836477763","full_name":"chrivers/bifrost","owner":"chrivers","description":"Hue Bridge Emulator","archived":false,"fork":false,"pushed_at":"2025-03-17T21:07:15.000Z","size":1084,"stargazers_count":266,"open_issues_count":24,"forks_count":14,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-03T21:11:18.575Z","etag":null,"topics":["home-assistant","home-automation","hue","hue-api","hue-bridge","hue-lights","phillips-hue","zigbee","zigbee2mqtt"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrivers.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},"funding":{"ko_fi":"chrivers"}},"created_at":"2024-08-01T00:02:36.000Z","updated_at":"2025-03-31T11:39:33.000Z","dependencies_parsed_at":"2024-10-30T11:03:31.216Z","dependency_job_id":"df8428e9-5609-4ae8-bfcd-c5f1443946a0","html_url":"https://github.com/chrivers/bifrost","commit_stats":{"total_commits":555,"total_committers":5,"mean_commits":111.0,"dds":"0.021621621621621623","last_synced_commit":"20fa95d3a8918cdc014ad6490f4799d312e4dba3"},"previous_names":["chrivers/bifrost"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrivers%2Fbifrost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrivers%2Fbifrost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrivers%2Fbifrost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrivers%2Fbifrost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrivers","download_url":"https://codeload.github.com/chrivers/bifrost/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248606862,"owners_count":21132428,"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":["home-assistant","home-automation","hue","hue-api","hue-bridge","hue-lights","phillips-hue","zigbee","zigbee2mqtt"],"created_at":"2024-08-25T02:01:06.198Z","updated_at":"2025-05-16T18:07:22.840Z","avatar_url":"https://github.com/chrivers.png","language":"Rust","funding_links":["https://ko-fi.com/chrivers"],"categories":["Rust"],"sub_categories":[],"readme":"![](doc/logo-title-640x160.png)\n\n# Bifrost Bridge\n\nBifrost enables you to emulate a Philips Hue Bridge to control lights, groups\nand scenes from [Zigbee2Mqtt](https://www.zigbee2mqtt.io/).\n\nIf you are already familiar with [DiyHue](https://github.com/diyhue/diyHue), you\nmight like to read the [comparison with DiyHue](doc/comparison-with-diyhue.md).\n\nQuestions, feedback, comments? Join us on discord\n\n[![Join Valhalla on Discord](https://discordapp.com/api/guilds/1276604041727578144/widget.png?style=banner2)](https://discord.gg/YvBKjHBJpA)\n\n## Installation guide\n\nThere are currently three ways you can install Bifrost:\n\n1.  [Install manually](#manual) from source (recommended)\n2.  [Install it via Docker](#docker) for container-based deployment.\n3.  Install as Home Assistant Add-on. Please see the\n    [bifrost-hassio](https://github.com/chrivers/bifrost-hassio) project for\n    more information.\n\n### Manual\n\nTo install Bifrost from source, you will need the following:\n\n1.  The rust language toolchain (https://rustup.rs/)\n2.  At least one zigbee2mqtt server to connect to\n3.  The MAC address of the network interface you want to run the server on\n4.  `build-essential` package for compiling the source code (on Debian/Ubuntu systems)\n\nFirst, install a few necessary build dependencies:\n\n```sh\nsudo apt install build-essential pkg-config libssl3 libssl-dev\n```\n\nWhen you have these things available, install bifrost:\n\n```sh\ncargo install --git https://github.com/chrivers/bifrost.git\n```\n\nAfter Cargo has finished downloading, compiling, and installing Bifrost, you\nshould have the \"bifrost\" command available to you.\n\nThe last step is to create a configuration for bifrost, `config.yaml`.\n\nHere's a minimal example:\n\n```yaml\nbridge:\n  name: Bifrost\n  mac: 00:11:22:33:44:55\n  ipaddress: 10.12.0.20\n  netmask: 255.255.255.0\n  gateway: 10.12.0.1\n  timezone: Europe/Copenhagen\n\nz2m:\n  server1:\n    url: ws://10.0.0.100:8080\n```\n\nPlease adjust this as needed. Particularly, make **sure** the \"mac:\" field\nmatches a mac address on the network interface you want to serve requests from.\n\nMake sure to read the [configuration reference](doc/config-reference.md) to\nlearn how to adjust the configuration file.\n\nThis mac address if used to generate a self-signed certificate, so the Hue App\nwill recognize this as a \"real\" Hue Bridge. If the mac address is incorrect,\nthis will not work. [How to find your mac address](doc/how-to-find-mac-linux.md).\n\nNow you can start Bifrost. Simple start the \"bifrost\" command from the same\ndirectory where you put the `config.yaml`:\n\n```sh\nbifrost\n```\n\nAt this point, the server should start: (log timestamps omitted for clarity)\n\n```\n  ===================================================================\n   ███████████   ███     ██████                              █████\n  ░░███░░░░░███ ░░░     ███░░███                            ░░███\n   ░███    ░███ ████   ░███ ░░░  ████████   ██████   █████  ███████\n   ░██████████ ░░███  ███████   ░░███░░███ ███░░███ ███░░  ░░░███░\n   ░███░░░░░███ ░███ ░░░███░     ░███ ░░░ ░███ ░███░░█████   ░███\n   ░███    ░███ ░███   ░███      ░███     ░███ ░███ ░░░░███  ░███ ███\n   ███████████  █████  █████     █████    ░░██████  ██████   ░░█████\n  ░░░░░░░░░░░  ░░░░░  ░░░░░     ░░░░░      ░░░░░░  ░░░░░░     ░░░░░\n  ===================================================================\n\n  DEBUG bifrost \u003e Configuration loaded successfully\n  DEBUG bifrost::server::certificate \u003e Found existing certificate for bridge id [001122fffe334455]\n  DEBUG bifrost::state               \u003e Existing state file found, loading..\n  INFO  bifrost::mdns                \u003e Registered service bifrost-001122334455._hue._tcp.local.\n  INFO  bifrost                      \u003e Serving mac [00:11:22:33:44:55]\n  DEBUG bifrost::state               \u003e Loading certificate from [cert.pem]\n  INFO  bifrost::server              \u003e http listening on 10.12.0.20:80\n  INFO  bifrost::server              \u003e https listening on 10.12.0.20:443\n  INFO  bifrost::z2m                 \u003e [server1] Connecting to ws://10.0.0.100:8080\n  DEBUG tungstenite::handshake::client \u003e Client handshake done.\n  DEBUG tungstenite::handshake::client \u003e Client handshake done.\n  DEBUG bifrost::z2m                   \u003e [server1] Ignoring unsupported device Coordinator\n  INFO  bifrost::z2m                   \u003e [server1] Adding light IeeeAddress(000000fffe111111): [office_1] (TRADFRI bulb GU10 CWS 345lm)\n  INFO  bifrost::z2m                   \u003e [server1] Adding light IeeeAddress(222222fffe333333): [office_2] (TRADFRI bulb GU10 CWS 345lm)\n  INFO  bifrost::z2m                   \u003e [server1] Adding light IeeeAddress(444444fffe555555): [office_3] (TRADFRI bulb GU10 CWS 345lm)\n...\n```\n\nThe log output shows Bifrost talking with zigbee2mqtt, and finding some lights to control (office\\_{1,2,3}).\n\nAt this point, you're running a Bifrost bridge.\n\nThe Philips Hue app should be able to find it on your network!\n\n### Docker\n\n#### Docker Installation\n\nTo install Bifrost with Docker, you will need the following:\n\n1.  At least one zigbee2mqtt server to connect to\n2.  The MAC address of the network interface you want to run the server on\n3.  A running [Docker](https://docs.docker.com/engine/install/) instance\n    with [Docker-Compose](https://docs.docker.com/compose/install/) installed\n4.  Have `git` installed to clone this repository\n\nPlease choose one of the following installation methods:\n\n- [Install using Docker Compose](doc/docker-compose-install.md) (recommended for most users)\n- [Install using Docker Image](doc/docker-image-install.md) (for direct image pulls)\n\n# Configuration\n\nSee [configuration reference](doc/config-reference.md).\n\n# Problems? Questions? Feedback?\n\nPlease note: Bifrost is a very young project. Some things are incomplete, and/or\nbroken when they shouldn't be.\n\nConsider joining us on discord:\n\n[![Join Valhalla on Discord](https://discordapp.com/api/guilds/1276604041727578144/widget.png?style=banner2)](https://discord.gg/YvBKjHBJpA)\n\nIf you have any problems, questions or suggestions, feel free to [create an\nissue](https://github.com/chrivers/bifrost/issues) on this project.\n\nAlso, pull requests are always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrivers%2Fbifrost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrivers%2Fbifrost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrivers%2Fbifrost/lists"}