{"id":13430751,"url":"https://github.com/isaacrlevin/PresenceLight","last_synced_at":"2025-03-16T06:31:12.317Z","repository":{"id":37820580,"uuid":"233128773","full_name":"isaacrlevin/presencelight","owner":"isaacrlevin","description":"PresenceLight is a solution to broadcast your various statuses to light bulbs. ","archived":false,"fork":false,"pushed_at":"2024-09-17T07:49:53.000Z","size":9629,"stargazers_count":420,"open_issues_count":29,"forks_count":78,"subscribers_count":20,"default_branch":"main","last_synced_at":"2024-09-18T09:25:24.670Z","etag":null,"topics":["lifx","lifx-light","microsoft-teams","phillips-hue","phillips-light","presence","presence-api"],"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/isaacrlevin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","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":{"github":"isaacrlevin"}},"created_at":"2020-01-10T20:54:41.000Z","updated_at":"2024-09-13T14:57:12.000Z","dependencies_parsed_at":"2023-12-26T20:50:21.012Z","dependency_job_id":"592cee5d-0860-4849-809c-277373f63671","html_url":"https://github.com/isaacrlevin/presencelight","commit_stats":null,"previous_names":[],"tags_count":128,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacrlevin%2Fpresencelight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacrlevin%2Fpresencelight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacrlevin%2Fpresencelight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacrlevin%2Fpresencelight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaacrlevin","download_url":"https://codeload.github.com/isaacrlevin/presencelight/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221656367,"owners_count":16858754,"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":["lifx","lifx-light","microsoft-teams","phillips-hue","phillips-light","presence","presence-api"],"created_at":"2024-07-31T02:00:57.386Z","updated_at":"2025-03-16T06:31:12.311Z","avatar_url":"https://github.com/isaacrlevin.png","language":"C#","funding_links":["https://github.com/sponsors/isaacrlevin"],"categories":["Sample Projects"],"sub_categories":["IoT"],"readme":"![Logo](https://github.com/isaacrlevin/PresenceLight/raw/main/Icon.png)\n# PresenceLight\n\n### NOTE: Due to internal changes at Microsoft, the Web/Container Version no longer works. I am currently looking into resolving this issue, but in the meantime, you will have to create an App Registration yourself and build the code on your own. :(\n\n\n![.github/workflows/Deploy_Web.yml](https://github.com/isaacrlevin/presencelight/workflows/.github/workflows/Deploy_Web.yml/badge.svg)\n![.github/workflows/Deploy_Desktop.yml](https://github.com/isaacrlevin/presencelight/workflows/.github/workflows/Deploy_Desktop.yml/badge.svg)\n\n## Get PresenceLight\n\n### Desktop Version\n\n| Nightly | Microsoft Store | Chocolatey | GitHub Releases |\n| ------- | --------------- | ---------- | --------------- |\n| [\u003cimg src=\"https://github.com/isaacrlevin/PresenceLight/raw/main/Icon.png\" width=\"100\"\u003e](https://presencelight.blob.core.windows.net/nightly/index.html)| [\u003cimg src=\"https://github.com/isaacrlevin/PresenceLight/raw/main/static/store.svg\" width=\"100\"\u003e](https://www.microsoft.com/en-us/p/presencelight/9nffkd8gznl7) | [\u003cimg src=\"https://chocolatey.org/assets/images/global-shared/logo.svg\" width=\"100\"\u003e](https://chocolatey.org/packages/PresenceLight/) | [\u003cimg src=\"https://user-images.githubusercontent.com/8878502/110871471-55fe7c00-8283-11eb-8ce4-afeeaf62458a.png\" width=\"100\"\u003e](https://github.com/isaacrlevin/presencelight/releases) |\n\n## Web Version\n\n|Web Download Site | Web Container from DockerHub | Web Container from GitHub Registry\n| ------- | --------------- | --------------- |\n[\u003cimg src=\"https://github.com/isaacrlevin/PresenceLight/raw/main/Icon.png\" width=\"100\"\u003e](https://presencelightapp.azurewebsites.net/) | [\u003cimg src=\"https://user-images.githubusercontent.com/8878502/110870857-2602a900-8282-11eb-8846-89c61a219236.png\" width=\"100\"\u003e](https://hub.docker.com/r/isaaclevin/presencelight) | [\u003cimg src=\"https://user-images.githubusercontent.com/8878502/110871471-55fe7c00-8283-11eb-8ce4-afeeaf62458a.png\" width=\"100\"\u003e](https://github.com/users/isaacrlevin/packages/container/package/presencelight) |\n\n## App Versions\n\n| Application Type |  Platforms | Readme\n|--- |  ---- | ---- |\n| Desktop (.NET 9) | Windows 10 (min Version 1803) / Windows 11 | [Desktop Readme](docs/desktop-README.md)\n| Web (ASP.NET 9) | Windows, MacOS, Linux (Debian, AMD x64, ARM, ARM x64),  | [Web Readme](docs/web-README.md)\n## What is PresenceLight?\n\n[PresenceLight](https://isaacl.dev/presence-light) is a solution to broadcast your various statuses to various kinds of smart lights. Some statuses you can broadcast are: your availability in Microsoft Teams or color of your choosing. There are other solutions that do something similar to sending Teams Availability to a light, but they require a tethered solution (plugging a light into a computer via USB). What PresenceLight does is leverage the [Presence Api](https://docs.microsoft.com/graph/api/presence-get), which is available in [Microsoft Graph](https://docs.microsoft.com/graph/overview), allowing to retrieve your presence without having to be tethered. This could potentially allow someone to update the light bulb from a remote machine they do not use.\n\n#### [Blog Post](https://isaacl.dev/presence-light)\n\n#### [PresenceLight Demos](https://www.youtube.com/playlist?list=PL_IEvQa-oTVtB3fKUclJNNJ1r-Sxtjc-m)\n\n## Supported Hardware\n\n| Light Type  |\n| ------------ |\n| Philips Hue (Local and Remote)\n| LIFX |\n| Yeelight |\n| Philips Wiz |\n| [WLED](https://kno.wled.ge/) (via serial or web API) |\n| Any light which can be controlled via a GET or POST call to a web API |\n\n## Docs\n- [Configure Hardware](docs/configure-hardware.md)\n- [FAQ](docs/faq.mdFAQ)\n- [Configure Custom Api Endpoint](docs/configure-custom-api.md)\n- [Configure Microsft Entra ID App (OPTIONAL)](/docs/configure-entra-app.md)\n\n## Please Contribute\n\nI welcome all contributions here! Before you do, please read the [Contributors Guide](docs/CONTRIBUTING.md)\n\n## Third Party Libraries\n\nPresence Light would not be possible without the amazing work from the contributors to the following third party libraries!\n\n- Lights\n  - [Q42.HueApi](https://github.com/Q42/Q42.HueApi)\n  - [OpenWiz](https://github.com/UselessMnemonic/OpenWiz)\n  - [YeelightAPI](https://github.dev/roddone/YeelightAPI)\n  - [LifxCloud](https://github.com/isaacrlevin/LifxCloudClient)\n- UI Components\n  - [MudBlazor](https://www.mudblazor.com/)\n  - [Blazorise](https://github.com/Megabit/Blazorise)\n  - [BlazorPro.Spinkit](https://github.com/EdCharbeneau/BlazorPro.Spinkit)\n- Backend\n  - [MediatR](https://github.com/jbogard/MediatR)\n  - [Polly](https://github.com/App-vNext/Polly)\n  - [Serilog](https://github.com/serilog/serilog)\n  - [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)\n  - [IdentityModel.OidcClient](https://github.com/IdentityModel/IdentityModel.OidcClient)\n  - [Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacrlevin%2FPresenceLight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaacrlevin%2FPresenceLight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacrlevin%2FPresenceLight/lists"}