Skip to content

CLI Interface

This guide explains how to control lights using the keylightctl command-line tool.

Discovering Lights

View all discovered lights:

keylightctl light list

For parseable output:

keylightctl light list --parseable

This shows all discovered lights with their IDs, names, IP addresses, and current state.

Getting Light Information

View the status of a specific light:

keylightctl light get LIGHT_ID

Get a specific property:

keylightctl light get LIGHT_ID on
keylightctl light get LIGHT_ID brightness
keylightctl light get LIGHT_ID temperature

For parseable output:

keylightctl light get LIGHT_ID --parseable

Controlling Lights

The basic syntax for setting light properties is:

keylightctl light set LIGHT_ID PROPERTY VALUE

Power Control

Turn a light on:

keylightctl light set LIGHT_ID on true

Turn a light off:

keylightctl light set LIGHT_ID on false

You can also use "on" and "off" as values:

keylightctl light set LIGHT_ID on on
keylightctl light set LIGHT_ID on off

Brightness Control

Set brightness (0-100):

keylightctl light set LIGHT_ID brightness 75
keylightctl light set LIGHT_ID brightness 0
keylightctl light set LIGHT_ID brightness 100

Color Temperature Control

Set color temperature in Kelvin (2900-7000):

keylightctl light set LIGHT_ID temperature 4500
keylightctl light set LIGHT_ID temperature 2900  # Warm
keylightctl light set LIGHT_ID temperature 7000  # Cool

The CLI will automatically clamp values to the valid range and show you the conversion to mireds.

Interactive Mode

If you don't provide all required arguments, keylightctl will prompt you interactively:

# This will show you a list of lights to choose from
keylightctl light get

# This will prompt for light, property, and value
keylightctl light set

Light Properties

Each Key Light has the following controllable properties:

  • on: Power state (true/false, on/off)
  • brightness: Brightness level (0-100)
  • temperature: Color temperature in Kelvin (2900-7000)

Examples

Common usage patterns:

# Get all lights
keylightctl light list

# Get specific light info
keylightctl light get "Elgato Key Light ABC1._elg._tcp.local."

# Turn on a light at 80% brightness, warm temperature
keylightctl light set "Elgato Key Light ABC1._elg._tcp.local." on true
keylightctl light set "Elgato Key Light ABC1._elg._tcp.local." brightness 80
keylightctl light set "Elgato Key Light ABC1._elg._tcp.local." temperature 3200

# Turn off a light
keylightctl light set "Elgato Key Light ABC1._elg._tcp.local." on false

Light IDs

Light IDs are typically in the format "Elgato Key Light XXXX._elg._tcp.local." where XXXX is a unique identifier. Use quotes around light IDs that contain spaces or special characters.

You can also use the shortened form if it's unique enough to identify the light.