gitextract_bd12mvz1/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── dependabot.yml │ └── workflows/ │ ├── Azure_Blob_Deploy.yml │ ├── Choco.yml │ ├── Deploy_Desktop.yml │ ├── Deploy_Web.yml │ ├── Sign.yml │ └── WinGet.yml ├── .gitignore ├── Build/ │ ├── Signing/ │ │ └── filelist.txt │ ├── Worker/ │ │ ├── presencelight.crt │ │ ├── presencelight.service │ │ └── trust-cert.sh │ └── scripts/ │ ├── push-choco.ps1 │ ├── push-winget.ps1 │ ├── update-desktop-settings.ps1 │ └── update-web-settings.ps1 ├── LICENSE ├── PrivacyPolicy.md ├── README.md ├── chocolatey/ │ ├── PresenceLight.nuspec │ └── tools/ │ ├── ChocolateyBeforeModify.ps1 │ ├── ChocolateyInstall.ps1 │ ├── ChocolateyUninstall.ps1 │ ├── LICENSE.txt │ └── Verification.txt ├── docker-compose-example.yml ├── docs/ │ ├── CONTRIBUTING.md │ ├── configure-custom-api.md │ ├── configure-entra-app.md │ ├── configure-hardware.md │ ├── desktop-README.md │ ├── faq.md │ └── web-README.md ├── src/ │ ├── .editorconfig │ ├── DesktopClient/ │ │ ├── Directory.Build.props │ │ ├── Directory.Build.targets │ │ ├── PresenceLight/ │ │ │ ├── App.xaml │ │ │ ├── App.xaml.cs │ │ │ ├── MainWindow.xaml │ │ │ ├── MainWindow.xaml.cs │ │ │ ├── PresenceLight.csproj │ │ │ ├── PresenceLight.exe.gui │ │ │ ├── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── PublishProfiles/ │ │ │ │ │ ├── WinARM64.pubxml │ │ │ │ │ ├── WinX64.pubxml │ │ │ │ │ └── WinX86.pubxml │ │ │ │ ├── Resources.Designer.cs │ │ │ │ ├── Resources.resx │ │ │ │ ├── Settings.Designer.cs │ │ │ │ ├── Settings.settings │ │ │ │ └── app.manifest │ │ │ ├── Services/ │ │ │ │ ├── Constants.cs │ │ │ │ ├── MessageBoxHelper.cs │ │ │ │ ├── NotifyIcon.cs │ │ │ │ ├── Settings/ │ │ │ │ │ ├── AppPackageSettingsService.cs │ │ │ │ │ └── StandaloneSettingsService.cs │ │ │ │ ├── SingleInstanceAppMutex.cs │ │ │ │ └── Telemetry/ │ │ │ │ └── DiagnosticsClient.cs │ │ │ ├── appsettings.json │ │ │ └── wwwroot/ │ │ │ └── index.html │ │ └── PresenceLight.Package/ │ │ ├── Package-Local.appxmanifest │ │ ├── Package-Nightly.appxmanifest │ │ ├── Package.appinstaller │ │ ├── Package.appxmanifest │ │ ├── Package.xml │ │ └── PresenceLight.Package.wapproj │ ├── DockerCompose/ │ │ ├── .dockerignore │ │ ├── docker-compose.dcproj │ │ ├── docker-compose.override.yml │ │ └── docker-compose.yml │ ├── PresenceLight.Core/ │ │ ├── Configuration/ │ │ │ ├── AAD.cs │ │ │ ├── AppState.cs │ │ │ ├── AvailabilityStatus.cs │ │ │ ├── Base.cs │ │ │ ├── BaseLight.cs │ │ │ ├── CustomApi.cs │ │ │ ├── CustomApiSetting.cs │ │ │ ├── Hue.cs │ │ │ ├── ISettingsService.cs │ │ │ ├── LIFX.cs │ │ │ ├── LightSettings.cs │ │ │ ├── LocalSerialHost.cs │ │ │ ├── LocalSerialHostSetting.cs │ │ │ ├── Statuses.cs │ │ │ ├── Wiz.cs │ │ │ └── Yeelight.cs │ │ ├── GraphServices/ │ │ │ ├── AuthorizationProvider.cs │ │ │ ├── GetIsInitialized/ │ │ │ │ ├── GetIsInitializedCommand.cs │ │ │ │ └── GetIsInitializedHandler.cs │ │ │ ├── GetPhoto/ │ │ │ │ ├── GetPhotoCommand.cs │ │ │ │ └── GetPhotoHandler.cs │ │ │ ├── GetPresence/ │ │ │ │ ├── GetPresenceCommand.cs │ │ │ │ └── GetPresenceHandler.cs │ │ │ ├── GetProfile/ │ │ │ │ ├── GetProfileCommand.cs │ │ │ │ └── GetProfileHandler.cs │ │ │ ├── GetProfileAndPresence/ │ │ │ │ ├── GetProfileAndPresenceCommand.cs │ │ │ │ └── GetProfileAndPresenceHandler.cs │ │ │ ├── GraphWrapper.cs │ │ │ ├── Initialize/ │ │ │ │ ├── InitializeCommand.cs │ │ │ │ └── InitializeHandler.cs │ │ │ ├── LoginService.cs │ │ │ └── TokenCacheHelper.cs │ │ ├── Helpers.cs │ │ ├── Lights/ │ │ │ ├── CustomApiService/ │ │ │ │ ├── CustomApiService.cs │ │ │ │ ├── Initialize/ │ │ │ │ │ ├── InitializeCommand.cs │ │ │ │ │ └── InitializeHandler.cs │ │ │ │ └── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ ├── HueServices/ │ │ │ │ ├── FindBridge/ │ │ │ │ │ ├── FindBridgeCommand.cs │ │ │ │ │ └── FindBridgeHandler.cs │ │ │ │ ├── GetGroups/ │ │ │ │ │ ├── GetGroupsCommand.cs │ │ │ │ │ └── GetGroupsHandler.cs │ │ │ │ ├── GetLights/ │ │ │ │ │ ├── GetLightsCommand.cs │ │ │ │ │ └── GetLightsHandler.cs │ │ │ │ ├── HueService.cs │ │ │ │ ├── Initialize/ │ │ │ │ │ ├── InitializeCommand.cs │ │ │ │ │ └── InitializeHandler.cs │ │ │ │ ├── RegisterBridge/ │ │ │ │ │ ├── RegisterBridgeCommand.cs │ │ │ │ │ └── RegisterBridgeHandler.cs │ │ │ │ └── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ ├── LifxServices/ │ │ │ │ ├── GetAllGroups/ │ │ │ │ │ ├── GetAllGroupsCommand.cs │ │ │ │ │ └── GetAllGroupsHandler.cs │ │ │ │ ├── GetAllLights/ │ │ │ │ │ ├── GetAllLightsCommand.cs │ │ │ │ │ └── GetAllLightsHandler.cs │ │ │ │ ├── Initialize/ │ │ │ │ │ ├── InitializeCommand.cs │ │ │ │ │ └── InitializeHandler.cs │ │ │ │ ├── LIFXOAuthHelper.cs │ │ │ │ ├── LifxService.cs │ │ │ │ └── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ ├── LocalSerialHostService/ │ │ │ │ ├── GetSerialHosts/ │ │ │ │ │ ├── GetSerialHostsCommand.cs │ │ │ │ │ └── GetSerialHostsHandler.cs │ │ │ │ ├── Initialize/ │ │ │ │ │ ├── InitializeCommand.cs │ │ │ │ │ └── InitializeHandler.cs │ │ │ │ ├── LocalSerialHost.cs │ │ │ │ └── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ ├── RemoteHueServices/ │ │ │ │ ├── GetGroups/ │ │ │ │ │ ├── GetGroupsCommand.cs │ │ │ │ │ └── GetGroupsHandler.cs │ │ │ │ ├── GetLights/ │ │ │ │ │ ├── GetLightsCommand.cs │ │ │ │ │ └── GetLightsHandler.cs │ │ │ │ ├── RegisterBridge/ │ │ │ │ │ ├── RegisterBridgeCommand.cs │ │ │ │ │ └── RegisterBridgeHandler.cs │ │ │ │ ├── RemoteAuthenticationClient.cs │ │ │ │ ├── RemoteHueService.cs │ │ │ │ └── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ ├── ServicesExtensions.cs │ │ │ ├── WizServices/ │ │ │ │ ├── GetLights/ │ │ │ │ │ ├── GetLightCommand.cs │ │ │ │ │ └── GetLightHandler.cs │ │ │ │ ├── IPAddressExtensions.cs │ │ │ │ ├── SetColor/ │ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ │ └── SetColorHandler.cs │ │ │ │ ├── WizLight.cs │ │ │ │ └── WizService.cs │ │ │ ├── WorkingHoursServices/ │ │ │ │ ├── IsInWorkingHours/ │ │ │ │ │ ├── IsInWorkingHoursCommand.cs │ │ │ │ │ └── IsInWorkingHoursHandler.cs │ │ │ │ ├── UseWorkingHours/ │ │ │ │ │ ├── UseWorkingHoursCommand.cs │ │ │ │ │ └── UseWorkingHoursHandler.cs │ │ │ │ └── WorkingHoursService.cs │ │ │ └── YeelightServices/ │ │ │ ├── FindLights/ │ │ │ │ ├── FindLightsCommand.cs │ │ │ │ └── FindLightsHandler.cs │ │ │ ├── SetColor/ │ │ │ │ ├── SetColorCommand.cs │ │ │ │ └── SetColorHandler.cs │ │ │ └── YeelightService.cs │ │ ├── Logging/ │ │ │ ├── ILoggerExtensions.cs │ │ │ └── PresenceEventsLogSink.cs │ │ └── PresenceLight.Core.csproj │ ├── PresenceLight.Razor/ │ │ ├── Components/ │ │ │ ├── Layout/ │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── MainLayout.razor.css │ │ │ │ ├── NavMenu.razor │ │ │ │ └── NavMenu.razor.css │ │ │ ├── Pages/ │ │ │ │ ├── About.razor │ │ │ │ ├── Color.razor │ │ │ │ ├── Color.razor.css │ │ │ │ ├── CustomApiSetup.razor │ │ │ │ ├── HueSetup.razor │ │ │ │ ├── Index.razor │ │ │ │ ├── Index.razor.css │ │ │ │ ├── Lifx.razor │ │ │ │ ├── LocalSerialHostSetup.razor │ │ │ │ ├── Logs.razor │ │ │ │ ├── Settings.razor │ │ │ │ ├── Wiz.razor │ │ │ │ └── Yeelight.razor │ │ │ ├── PresenceLightClientApp.razor │ │ │ ├── Shared/ │ │ │ │ ├── Confirm.razor │ │ │ │ ├── LoginDisplay.razor │ │ │ │ └── Statuses.razor │ │ │ └── _Imports.razor │ │ ├── PresenceLight.Razor.csproj │ │ ├── Services/ │ │ │ ├── AppInfo.cs │ │ │ ├── AppVersionTelemetryInitializer.cs │ │ │ └── WebAppSettingsService.cs │ │ └── wwwroot/ │ │ ├── css/ │ │ │ ├── open-iconic/ │ │ │ │ ├── FONT-LICENSE │ │ │ │ ├── ICON-LICENSE │ │ │ │ ├── README.md │ │ │ │ └── font/ │ │ │ │ └── fonts/ │ │ │ │ └── open-iconic.otf │ │ │ └── site.css │ │ └── js/ │ │ └── site.js │ ├── PresenceLight.Web/ │ │ ├── .config/ │ │ │ └── dotnet-tools.json │ │ ├── App.razor │ │ ├── AppOld.razor │ │ ├── Dockerfile │ │ ├── Dockerfile.debian-arm32 │ │ ├── Dockerfile.debian-arm64 │ │ ├── Pages/ │ │ │ ├── Error.cshtml │ │ │ ├── Error.cshtml.cs │ │ │ └── _Host.cshtml │ │ ├── PresenceLight.Web.csproj │ │ ├── PresenceLightSettings.json │ │ ├── Program.cs │ │ ├── Program_New.cs │ │ ├── Program_Old.cs │ │ ├── Properties/ │ │ │ ├── PublishProfiles/ │ │ │ │ └── FolderProfile.pubxml │ │ │ ├── launchSettings.json │ │ │ ├── serviceDependencies.json │ │ │ └── serviceDependencies.local.json │ │ ├── Routes.razor │ │ ├── ServiceCollectionExtensions.cs │ │ ├── Worker.cs │ │ ├── _Imports.razor │ │ └── appsettings.json │ └── PresenceLight.sln └── version.json