Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/isaacrlevin/PresenceLight
PresenceLight is a solution to broadcast your various statuses to light bulbs.
https://github.com/isaacrlevin/PresenceLight
lifx lifx-light microsoft-teams phillips-hue phillips-light presence presence-api
Last synced: 12 days ago
JSON representation
PresenceLight is a solution to broadcast your various statuses to light bulbs.
- Host: GitHub
- URL: https://github.com/isaacrlevin/PresenceLight
- Owner: isaacrlevin
- License: mit
- Created: 2020-01-10T20:54:41.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T07:49:53.000Z (about 2 months ago)
- Last Synced: 2024-09-18T09:25:24.670Z (about 2 months ago)
- Topics: lifx, lifx-light, microsoft-teams, phillips-hue, phillips-light, presence, presence-api
- Language: C#
- Homepage:
- Size: 9.18 MB
- Stars: 420
- Watchers: 20
- Forks: 78
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-blazor - PresenceLight - ![stars](https://img.shields.io/github/stars/isaacrlevin/PresenceLight?style=flat-square&cacheSeconds=604800&logo=microsoft) ![last commit](https://img.shields.io/github/last-commit/isaacrlevin/PresenceLight?style=flat-square&cacheSeconds=86400) PresenceLight is a solution to broadcast your various statuses to a Phillips Hue or LIFX light bulb. Some statuses you can broadcast are: your availability in Microsoft Teams, your current Windows 10 theme, and a theme or color of your choosing. [Blog post](https://www.isaaclevin.com/post/presence-light). [Demo video](https://www.youtube.com/playlist?list=PL_IEvQa-oTVtB3fKUclJNNJ1r-Sxtjc-m). (Sample Projects / IoT)
README
![Logo](https://github.com/isaacrlevin/PresenceLight/raw/main/Icon.png)
# PresenceLight### NOTE: The new version of PresenceLight for now has a requirement on WebView2. If you experience issues with PresenceLight, please install from this [location](https://go.microsoft.com/fwlink/p/?LinkId=2124703)
![.github/workflows/Deploy_Web.yml](https://github.com/isaacrlevin/presencelight/workflows/.github/workflows/Deploy_Web.yml/badge.svg)
![.github/workflows/Deploy_Desktop.yml](https://github.com/isaacrlevin/presencelight/workflows/.github/workflows/Deploy_Desktop.yml/badge.svg)## Get PresenceLight
### Desktop Version
| Nightly | Microsoft Store | Chocolatey | GitHub Releases |
| ------- | --------------- | ---------- | --------------- |
| [](https://presencelight.blob.core.windows.net/nightly/index.html)| [](https://www.microsoft.com/en-us/p/presencelight/9nffkd8gznl7) | [](https://chocolatey.org/packages/PresenceLight/) | [](https://github.com/isaacrlevin/presencelight/releases) |## Web Version
|Web Download Site | Web Container from DockerHub | Web Container from GitHub Registry
| ------- | --------------- | --------------- |
[](https://presencelightapp.azurewebsites.net/) | [](https://hub.docker.com/r/isaaclevin/presencelight) | [](https://github.com/users/isaacrlevin/packages/container/package/presencelight) |## App Versions
| Application Type | Platforms | Readme
|--- | ---- | ---- |
| Desktop (.NET 8) | Windows 10 (min Version 1803) / Windows 11 | [Desktop Readme](docs/desktop-README.md)
| Web (ASP.NET 8) | Windows, MacOS, Linux (Debian, AMD x64, ARM, ARM x64), | [Web Readme](docs/web-README.md)
## What is PresenceLight?[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.
#### [Blog Post](https://isaacl.dev/presence-light)
#### [PresenceLight Demos](https://www.youtube.com/playlist?list=PL_IEvQa-oTVtB3fKUclJNNJ1r-Sxtjc-m)
## Supported Hardware
| Light Type |
| ------------ |
| Philips Hue (Local and Remote)
| LIFX |
| Yeelight |
| Philips Wiz |
| [WLED](https://kno.wled.ge/) (via serial or web API) |
| Any light which can be controlled via a GET or POST call to a web API |## Docs
- [Configure Hardware](docs/configure-hardware.md)
- [FAQ](docs/faq.mdFAQ)
- [Configure Custom Api Endpoint](docs/configure-custom-api.md)
- [Configure Microsft Entra ID App (OPTIONAL)](/docs/configure-entra-app.md)## Please Contribute
I welcome all contributions here! Before you do, please read the [Contributors Guide](docs/CONTRIBUTING.md)
## Third Party Libraries
Presence Light would not be possible without the amazing work from the contributors to the following third party libraries!
- Lights
- [Q42.HueApi](https://github.com/Q42/Q42.HueApi)
- [OpenWiz](https://github.com/UselessMnemonic/OpenWiz)
- [YeelightAPI](https://github.dev/roddone/YeelightAPI)
- [LifxCloud](https://github.com/isaacrlevin/LifxCloudClient)
- UI Components
- [MudBlazor](https://www.mudblazor.com/)
- [Blazorise](https://github.com/Megabit/Blazorise)
- [BlazorPro.Spinkit](https://github.com/EdCharbeneau/BlazorPro.Spinkit)
- Backend
- [MediatR](https://github.com/jbogard/MediatR)
- [Polly](https://github.com/App-vNext/Polly)
- [Serilog](https://github.com/serilog/serilog)
- [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
- [IdentityModel.OidcClient](https://github.com/IdentityModel/IdentityModel.OidcClient)
- [Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning)