Nowoczesny kontroler oświetlenia Philips Hue dla komputerów stacjonarnych.
Aplikacja desktopowa napisana we Flutterze, z interfejsem w stylu Fluent / WinUI 3 (rozmazane, półprzezroczyste tło Acrylic na Windows 11).
Oficjalna aplikacja Philips Hue jest tylko na telefon — żeby zmienić światło przy biurku, trzeba sięgać po komórkę, odblokować ją i czekać na załadowanie apki. Kiedy pracujesz lub grasz na komputerze, to niepotrzebne tarcie.
LumiGrzyb rozwiązuje to, czego brakuje w ekosystemie Hue na desktopie:
- 🖥️ Sterowanie z poziomu komputera — bez sięgania po telefon, wszystko pod ręką.
- ⚡ Natychmiastowa reakcja — suwaki działają od razu (optymistyczny UI), bez irytującego opóźnienia widocznego w oficjalnej apce.
- 🪟 Natywny wygląd Windows 11 — efekt Acrylic / Fluent zamiast przeniesionego interfejsu mobilnego.
- 🔓 Bez konta i bez chmury — łączy się bezpośrednio z mostkiem w sieci lokalnej; działa nawet bez dostępu do internetu (lokalne wykrywanie mostka).
- 🎉 Tryb „Impreza" — dynamiczna animacja kolorów, której oficjalna apka nie ma w tak prostej formie.
- 🪶 Lekka i szybka — jedno małe okno, zero zbędnych dodatków.
To projekt hobbystyczny — zbudowany dla wygody i nauki, nie jako zamiennik pełnej funkcjonalności (sceny, automatyzacje, harmonogramy) oficjalnej aplikacji.
- 🔍 Automatyczne wykrywanie mostka Philips Hue w sieci lokalnej
- 🔗 Parowanie z mostkiem (przycisk link) i zapamiętywanie klucza API
- 💡 Sterowanie lampami — włączanie/wyłączanie, jasność, temperatura barwowa, kolor
- 🎨 Wybór kola — dialog z kołem barw, suwakiem jasności i gotowymi presetami
- 🎛️ Sterowanie grupowe — wszystkie lampy naraz + wspólna jasność
- 🎉 Tryb „Impreza" — dynamiczna animacja kolorów
- 🪟 Tło Acrylic (WinUI 3) — rozmazane, półprzezroczyste tło na Windows 11
- ♻️ Optymistyczny UI — suwaki reagują natychmiast, bez czekania na mostek
- Flutter SDK 3.3 lub nowszy
- Windows 10/11 (zalecane Windows 11 dla pełnego efektu Acrylic)
- Mostek Philips Hue w tej samej sieci lokalnej
flutter pub get
flutter run -d windowsflutter build windows --releaseGotowa aplikacja znajdzie się w build/windows/x64/runner/Release/.
Instalator .exe budowany jest przy pomocy Inno Setup.
# Jednorazowo zainstaluj Inno Setup, np.:
scoop install inno-setup # lub: winget install JRSoftware.InnoSetup
# Zbuduj release + instalator jednym poleceniem:
cd installer
./build_installer.ps1Gotowy plik LumiGrzyb-Setup-<wersja>.exe pojawi się w installer/Output/.
Logo to assets/icons/lumigrzyb.png. Po jego podmianie wygeneruj ikony aplikacji:
dart run flutter_launcher_iconslib/
├── main.dart # Punkt wejścia + inicjalizacja tła Acrylic
├── controllers/
│ └── hue_app_controller.dart # Logika aplikacji (stan, debounce, odświeżanie)
├── models/
│ ├── app_config.dart # Konfiguracja (IP, klucz API)
│ └── hue_light.dart # Model lampy i jej stanu
├── screens/
│ └── home_screen.dart # Główny ekran
├── services/
│ ├── hue_bridge.dart # Komunikacja HTTP z mostkiem Hue
│ ├── config_service.dart # Zapis/odczyt konfiguracji
│ ├── color_utils.dart # Konwersje kolorów (HSV ↔ Hue)
│ └── animation_engine.dart # Animacja trybu „Impreza"
├── theme/
│ ├── app_colors.dart # Paleta barw (Fluent / WinUI 3)
│ └── app_theme.dart # Motyw aplikacji
└── widgets/
├── surface_card.dart # Karta „szklana" (Acrylic)
├── app_button.dart # Przycisk z efektem hover
├── connection_panel.dart # Panel połączenia/parowania
├── group_controls.dart # Sterowanie grupowe
├── light_card.dart # Karta pojedynczej lampy
└── color_picker_dialog.dart # Dialog wyboru koloru
installer/ # Skrypty instalatora Inno Setup
windows/ · linux/ · macos/ · web/ # Pliki platformowe Fluttera
Klucz API mostka zapisywany jest lokalnie w pliku config.json
w katalogu danych użytkownika (%APPDATA%\LumiGrzyb\ na Windows).
Plik ten nie jest dodawany do repozytorium (zawiera dane prywatne).