WakeUp is a mobile application for iOS and Android that transforms your smart lights into a gentle, natural sunrise alarm. Instead of a jarring sound, WakeUp gradually increases the brightness of your lights over a set period, simulating a real sunrise to help you wake up peacefully and naturally.
This app is designed to work with any smart light running the WLED firmware.
- Gentle Sunrise Simulation: Customize the duration of your sunrise, from a quick 5-minute glow to a long, 60-minute transition.
- WLED Integration: Directly controls any WLED-powered device on your local network. No cloud accounts or third-party services needed.
- Multiple Alarms & Devices: Add all your WLED lights and create unique alarms for weekdays, weekends, or special events.
Background Operation: Alarms are scheduled with the native OS, so they will run reliably even if the app is closed.(WIP π§)- Customizable Interface: A clean, dark-mode interface designed to be easy on the eyes in the early morning.
This project uses native capabilities (like background tasks and notifications) that are not fully supported by the standard Expo Go app. Therefore, you must create a Development Build to run and test it on your own device.
A development build is a full, standalone version of the app that includes all its native code, but it still connects to the Expo development server for live reloading and debugging.
- A WLED-powered Smart Light: This app communicates directly with devices running WLED.
- How to install WLED: Follow the official web-based installation guide.
- Find your device's local IP address (e.g.,
192.168.1.59). It must be on the same Wi-Fi network as your phone.
[!WARNING] Using the Expo Go app will not work see documentation for more information
-
Expo & EAS Account:
- You need an Expo account. Sign up for free.
- Log in to your account via the terminal:
npx expo login
-
EAS Build CLI:
- Install the Expo Application Services (EAS) command-line tool globally:
npm install -g eas-cli
- Install the Expo Application Services (EAS) command-line tool globally:
Follow these steps to create the app and install it on your physical device.
-
Clone the Repository:
git clone https://github.com/your-username/wakeup.git cd wakeup -
Install Dependencies:
npm install
-
Create the Development Build:
- This is the main command. It will build the app in the cloud using Expo's servers. Choose the platform you want to test on (iOS or Android).
- For Android:
eas build --profile development --platform android
- For iOS (Requires an Apple Developer Account):
eas build --profile development --platform ios
- The build process will take several minutes. When it's finished, it will output a URL and a QR code.
-
Install the App:
- On Android: Scan the QR code with your phone's camera. This will download and install the
.apkfile. You may need to grant permission to install apps from unknown sources. - On iOS: Open the link on your iPhone. It will guide you through installing the app via the Expo Dev-Client service.
- On Android: Scan the QR code with your phone's camera. This will download and install the
-
Run the App:
- Once the app is installed on your phone, you can start the development server on your computer:
npx expo start --dev-client
- Open the WakeUp app you just installed on your phone (do not use the Expo Go app). It will automatically find and connect to the development server running on your computer.
- Once the app is installed on your phone, you can start the development server on your computer:
The first step is to connect the app to your WLED light.
- Navigate to the Home tab.
- Tap the
+button in the "Your devices" section. - Enter the IP Address of your WLED device.
- Give your device a friendly name (e.g., "Bedroom Lamp").
- Tap Save.
Once a device is added, you can create an alarm for it.
- Navigate to the Alarms tab or tap the main
+button. - Tap "New Alarm".
- Configure your alarm:
- Name: Give your alarm a name (e.g., "Weekday Wakeup").
- Device: Select the WLED device you want this alarm to control.
- Start Time: The time you want the sunrise to begin.
- Sunrise Duration: How long the light-up process should take (e.g., 30 minutes). The app will automatically calculate the end time.
- Max Brightness: The final brightness level you want to reach.
- Tap Save.
The alarm is now scheduled! The app will automatically calculate the trigger time and use the operating system's scheduler to run the light-up sequence at the correct time. You can now close the app.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License. See the LICENSE file for details.