Niutonian: Philips Hue Color Picker
Sometimes you just want your lamp to be a specific orange
- color
- color_hex
- rgb
Most nodes in the Niutonian_Comfyui_Philips_Hue pack sample your generated image and turn its colors into lighting. Niutonian: Philips Hue Color Picker doesn't look at any image at all - it's the manual override. You pick a color, tell it which light, and it sets that light. If the edge-sampling nodes are the clever ones, this is the one you'll keep around as the workhorse for everything the others can't do.
What it's actually for
Three things, mostly. First, it's the fastest possible way to test that your whole Hue setup works: no image, no generation, just "make the strip purple" and watch it happen. Second, it's the manual control node for those moments the sampling nodes shouldn't decide for you - a fixed accent color for your room while you work, or a lamp you want to match your desk setup, not your screen. Third, it's a live debug tool: when an edge-sampled color looks wrong, you can send a known hex value here and see whether the problem is the color math or the light.
Inputs
The required inputs are bridge_ip, api_key (blank after setup - it reads hue_config.json), light_id (numeric ID, all, or group:<id>), mode (send, preview_only, turn_off), and color - a native ComfyUI color picker widget, default #ff8800.
The optional inputs that matter:
color_source-color_pickeruses the hex widget; switch torgb_slidersand the node uses thered/green/blueinputs instead. Same job, different way of dialing in a color.brightness- 1 to 254, default 180.transitiontime- fade time in tenths of a second.6= 0.6s.light_mode-autoinspects the selected light and uses whatever command type it supports (color xy, hue/sat, white temperature, or brightness-only). Leave it onautounless you're forcing a specific behavior.
Outputs are both strings: color_hex is the normalized #rrggbb of the color sent, and rgb is the same color as r,g,b. They're handy if you want to chain this node's chosen color elsewhere or log it.
One subtlety: this node sends with color_api = xy internally, so even a cheap dimmable white bulb gets treated correctly in auto mode via the brightness-only path. It's a thoughtful touch for a pack this small.
Installing it
Same as the rest of the pack - ComfyUI Manager search "Niutonian", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Niutonian/Niutonian_Comfyui_Philips_Hue
Restart ComfyUI. No extra dependencies and no model downloads; the pack is standard library plus numpy.
You still need the one-time bridge setup first: Niutonian: Hue Setup → auto_scan to find the bridge, register_new while pressing the physical bridge button, then list_lights to grab your light ID. After that, leave api_key blank here.
Where people get burned
The most common stumble is expecting this node to need an image connection - it doesn't, so people hunt for an image input that was never there. It's an output node through and through. Second is mode stuck on preview_only, which does nothing visible by design; flip it to send. And if the color comes out dimmer than you expected, remember Hue's brightness is separate from color - raise brightness, don't blame the hex value. A strip at 180 with a bright orange will still read as orange; it just won't blast you out of the chair.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| bridge_ip | STRING | 192.168.1.100 | — |
| api_key | STRING | — | |
| light_id | STRING | 1 | — |
| mode | COMBO | send | 3 options: send, preview_only, turn_off |
| color | COLOR | #ff8800 | — |
| color_sourceopt | COMBO | color_picker | 2 options: color_picker, rgb_sliders |
| redopt | INT | 2550–255 | — |
| greenopt | INT | 1360–255 | — |
| blueopt | INT | 00–255 | — |
| brightnessopt | INT | 1801–254 | — |
| transitiontimeopt | INT | 60–6000 | — |
| light_modeopt | COMBO | auto | 5 options: auto, color_xy, hue_sat, white_temperature, brightness_only |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| color_hex | STRING | — |
| rgb | STRING | — |