Version 0.4.1 · open source (MIT)

Every light in the house, right on your desktop

Lumen Desktop is a lightweight desktop app for Philips Hue, Tuya bulbs and anything your Home Assistant can see. One window, the menu bar and keyboard shortcuts — no reaching for your phone, no account, no cloud.

Free. macOS on Apple Silicon — signed and notarized by Apple. Windows and Linux packages are built, but not tested yet.

The Lumen Desktop home screen: quick actions, favorite scenes and a light, with the Living room below it, including a brightness slider and its lights
A single light's screen: power switch, brightness slider, color temperature slider and a color picker

The problem

You're at your computer, but the lights live on your phone

Dimming a lamp means unlocking the phone, finding the vendor's app and waiting for it to connect. And if the house has Hue, a few cheaper Tuya bulbs and Home Assistant for everything else, that's three apps for one small job.

One list instead of three apps

Hue, Tuya and Home Assistant run side by side. Rooms and lights from every hub show up together.

Right there while you work

The app window, the menu bar, global shortcuts and a macOS widget — change the lights without breaking your flow.

Local and private

The app talks to devices on your own network. There's no Lumen account or server, and credentials are encrypted by the operating system.

Supported devices

Three ways to reach your bulbs

From the most direct: a Hue Bridge, the Tuya bulb itself, or your Home Assistant standing in for every other brand.

Philips Hue

Through a Hue Bridge v2 on your local network. The app finds the Bridge on its own — via mDNS, Hue's discovery service or an IP address you type in — and you confirm pairing with the button on the Bridge.

Hue API v2 · live updates

Tuya

Straight to the bulb over your LAN — including brands that never mention they're Tuya underneath, such as Spectrum Smart. You fetch a local key once; after that the cloud is never used again.

Protocol 3.3 · works offline

Home Assistant

Everything else. If Home Assistant can see a light, so can Lumen — all it takes is the address and a long-lived token. Home Assistant areas become rooms.

WebSocket · any brand in HA

Features

What you use every day — and nothing more

The home screen with quick action buttons, the favorite scenes Relax and Focus, a favorite Desk lamp and the Living room

The whole house on one screen

Rooms with their lights, scenes and favorites in one place. Switch, dim, move on. Changes made with a wall switch, the vendor's app or your voice assistant show up instantly.

  • Favorite rooms, lights and scenes pinned to the top
  • Quick actions — one click for whatever you do most
  • Connection status for each hub on its own
The Living room view: a button to turn all lights off, the scenes Relax, Read, Movie night and Bright, a brightness slider and three lights

A whole room in one move

Turn a room on or off, set every light's brightness at once, or pick a scene saved on the hub. The room gets one grouped command instead of one per bulb.

  • Scenes grouped by room
  • One slider for the whole room's brightness
The Ceiling light screen with brightness and color temperature sliders and a color picker with preset swatches

Controls that fit the bulb

You only see what a bulb can actually do. A plain white bulb gets a power switch, White Ambiance adds color temperature, and a color bulb gets the full picker.

  • Brightness from 1 to 100%
  • Color temperature from warm to cool
  • Color from the picker or a preset swatch
Quick action and shortcut settings: buttons shown on the home screen, two global keyboard shortcuts and the launch-at-login option

Shortcuts, quick actions and the menu bar

Bind a global keyboard shortcut to a scene, a room or “all off” — it works even while the app is in the background. From the menu bar you control your favorites without opening the window.

  • Global keyboard shortcuts
  • Quick action buttons on the home screen
  • Launch at login, straight into the menu bar
A list of automations with switches: four active, including a wake-up routine and a motion sensor, and two paused

Automations under control

See the automations saved on your hub — a wake-up routine, a motion sensor, a dimmer switch — and pause one with a single toggle when it gets in the way. They run on the hub, so they keep working with the app closed.

  • Enable or pause in one click
  • New automations are created in your hub's own app

macOS widget

Small and medium sizes, in Notification Center and on the desktop. Switches lights even with the app closed. Requires macOS 14.

Several hubs at once

Each hub connects independently, so when one goes quiet the others carry on.

Recovers on its own

After a dropped connection the app keeps retrying, and if your router hands the Hue Bridge a new address, it finds it again by its ID.

Light and dark theme

Follow the system or pick one for good — your choice in the app's settings.

How it works

From install to your first light in minutes

  1. Download and install

    Grab the .dmg from the latest GitHub release and drag Lumen Desktop into your Applications folder.

  2. Add a hub

    Choose Hue, Home Assistant or Tuya. The Hue Bridge is found automatically — just press its button. Home Assistant needs its address and a token; Tuya needs each device's local key.

    First launch: choosing the hub type, with a Hue Bridge found on the network and a field for a manual IP address below
  3. Take control

    From the app window, the menu bar, a keyboard shortcut or the widget. Add more hubs any time in settings.

    Settings with three connected hubs — Hue Bridge, Home Assistant and Tuya — and the theme picker

Privacy and security

Your lights, your network

What stays with you

  • No cloud, no account. Lumen has no server of its own — it only talks to the hubs on your network.
  • Credentials are encrypted by the system's secret store (Keychain on macOS, DPAPI on Windows, the secret service on Linux) and never reach the interface.
  • Tuya stays on your LAN. You fetch the key from the cloud once; after that the app never goes back.

How the connection is protected

  • The Hue Bridge is verified. The app trusts only the Signify certificate and checks the Bridge's ID — TLS verification is not switched off anywhere in the code.
  • Home Assistant over ordinary, verified TLS. A self-signed certificate is something to fix on the server.
  • The Home Assistant token stays out of the widget until you turn that on yourself — it unlocks your whole Home Assistant, not just the lights.

Before you download

Requirements and limitations

What you need

  • Hue: a Hue Bridge v2 (BSB002) with Hue API v2, and access to the Bridge's button for the first pairing.
  • Tuya: the device on a 2.4 GHz network, protocol 3.3, and its local key (how-to in the README).
  • Home Assistant: a reachable instance, a long-lived token and lights assigned to areas.

Good to know

  • The app is tested on macOS. Windows and Linux packages are built automatically, but nobody has run them yet.
  • Tuya: protocol 3.3 only, no scenes, rooms or automations; read-only in the widget.
  • Home Assistant isn't discovered automatically — you type in its address.
  • Controlling Hue from outside the home is planned for version 3.

For developers

Open source, TypeScript end to end

The interface knows nothing about HTTPS, tokens or vendor formats — only lights, rooms and hubs. Supporting another brand means one ProviderAdapter implementation in src/main/providers/, with no change to the UI.

Tech stack

  • Electron
  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS 4
  • TanStack Query
  • Zustand
  • Zod
  • Vitest
  • Swift · WidgetKit

Architecture and security details in the README →

Run it locally

git clone https://github.com/jash90/lumen-desktop.git
cd lumen-desktop
npm install
npm start          # development mode
npm test           # tests (Vitest)
npm run typecheck  # TypeScript, strict mode
npm run make       # installers into out/make

Try Lumen Desktop

Free, no account, no cloud. Connect your first hub in a few minutes.