rhythm.lighting docs
Search docs… ⌘K

Color temperature

Kelvin, mireds, and what the numbers actually mean for a room.

Color temperature is the number you see on a bulb's box — 2700K, 4000K, 6500K. Lower is warmer (more red, like a fire); higher is cooler (more blue, like noon).

What the number means

The K is degrees Kelvin. It comes from physics: heat a theoretical black object and it glows red, then orange, then white, then blue-white as it gets hotter. So a candle-flame amber is a low number and a cold overcast sky is a high one — backwards from how "warm" and "cool" feel.

1800K   candle / deep amber
2200K   sunset, incandescent dim
2700K   warm white bulb
4000K   neutral white
5500K   midday daylight
6500K   overcast noon / cold white

Kelvin vs. mireds

Bulbs and hubs often work in mireds (micro reciprocal degrees) instead of Kelvin. A mired is just the reciprocal of the Kelvin value, scaled up:

mireds = 1,000,000 / kelvin

2700K  ->  370 mired
4000K  ->  250 mired
5500K  ->  182 mired
6500K  ->  154 mired

Mireds matter because they're closer to perceptually even — a fixed step in mireds looks like a consistent change to the eye, while a fixed step in Kelvin barely moves at the warm end and jumps at the cool end. Rhythm tracks color in Kelvin internally and converts to whatever each bulb expects (Hue and Matter speak mireds); the conversion happens at the controller.

The range Rhythm uses

Out of the box, the adaptive curve sweeps between two bounds:

  • Warmest (floor): 1800K — deep amber, used deep into the evening
  • Coolest (ceiling): 5500K — bright daylight, used around solar noon

Both are configurable per light profile. The engine never asks a bulb for a temperature outside its hardware range — it clamps the target to what the bulb can actually produce, so a warm-white-only bulb just rides the bottom of the curve.

Under the hood Kelvin is converted to CIE 1931 xy coordinates with the standard Krystek polynomial approximation, then to RGB for bulbs that take a color rather than a temperature. The same target reaches every bulb in the room, in whatever encoding it understands.

How Rhythm picks a target

Color temperature isn't on a clock — it's on the sun. The engine computes solar position for your latitude and the day of the year, then reads the color off the curve: coolest at solar noon, sliding toward the warm floor as the sun drops. Two rooms in different modes (Day vs. Sleep) can sit at very different temperatures at the same wall-clock moment.

See Brightness curves for the shape both color and brightness follow.