Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: about 1 month ago
JSON representation

PresenceLight is a solution to broadcast your various statuses to light bulbs.

Awesome Lists containing this project

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)