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
gcalclito 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
gcalcliand 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 agendawith the user that's going to be running this server.
pnpm run devpnpm run build
pnpm startTo 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
