Sitelet https://github.com/MaximumFX/lifx-web
Skip to content
MaximumFXPublic

Repository files navigation

LIFX Web Panel

A 100% vibecoded Nuxt + Tailwind web panel for controlling LIFX lights.

Dashboard with scenes and lights grouped by room

Features

  • Switch between locations (places), persisted in a cookie
  • Lights grouped by room, with per-group and per-location power
  • Colour wheel, whites (colour temperature) and brightness for a light or a whole group
  • Scenes saved in the LIFX app, activated from the dashboard
  • Themes: colour palettes spread across a room (strips get a band of each colour)
  • Effects: pulse and breathe on any colour light, move on strips, morph/flame/clouds/sunrise/sunset on Tiles and Candles
  • Favourites: save the current colour and brightness and apply it anywhere (stored in this browser)
  • Clean (HEV) cycles and Nightvision infrared level on bulbs that support them

Screenshots

Colours Themes Effects
Colour wheel for a single light Theme palettes for a room Effects available for a Tile

On phones the controls open as a bottom sheet:

Dashboard on a phone   Whites controls on a phone

Setup

npm install
npm run dev

Open the app and paste a personal access token from https://cloud.lifx.com/settings.

Connect screen

The token is stored in an httpOnly cookie and requests are proxied through /api/lifx/*, so it's never readable by client-side JavaScript.

Limitations

These come from the LIFX HTTP API rather than the panel:

  • Scenes can be activated but not created or edited — make them in the LIFX app.
  • Rooms, locations and device setup can't be changed.
  • The API doesn't report whether a Clean cycle is running, or the current Nightvision level.
  • Individual Tile/Candle pixels can't be set, so themes give each Tile a single colour.

Releases

Packages

Contributors

Languages