TypeScript project to visualize calendar events on any WLED-controlled LED strip
This project was inspired by the original hometime project. Instead of running the code on a Raspberry Pi Pico connected directly to some NeoPixels, for example, this Node script is run on a server in your LAN and will update any WLED-controlled LED Strip via its API.
- Work Progress Bar: Shows current progress through your work day as a colored bar on the LED strip
- Calendar Integration: Uses
gcalcli
to fetch today's calendar events and highlights them on the strip - WLED Integration: Controls LED strips via WLED API at configurable IP address
- Configurable Schedule: Set work hours for each day of the week
-
Install dependencies:
pnpm install
-
Install
gcalcli
and init the authentication. For more details see their API Auth docs.brew install gcalcli gcalcli init
-
Configure your WLED device IP in
src/config.ts
-
Adjust work schedule and LED settings in
src/config.ts
-
Finally, ensure you can at least successfully run a gcalcli command like
gcalcli agenda
with the user that's going to be running this server.
pnpm run dev
pnpm run build
pnpm start
To run this as a service, there is a demo systemd service file available at hometime.service
. If you decide to use it, don't forget to double check and update variables like the working directory and the path to your GCALCLI_CONFIG
.
Edit src/config.ts
to customize:
- LED count and colors
- WLED device IP address
- Work schedule for each day
MIT