OptionalSmart HomeVersion 1.0.1

OpenHue Skill for Hermes Agent: Control Hue Lights from the CLI

Control Philips Hue lights, scenes, rooms via OpenHue CLI.

Written by Neura Market from the official Hermes Agent documentation for Openhue. Commands, paths, and version numbers are reproduced from the source unchanged.

Read the official documentation

The OpenHue skill gives Hermes Agent a terminal route to your Philips Hue setup: lights, rooms, and scenes, all driven through the OpenHue CLI and a Hue Bridge on your local network. Reach for it when you want the agent to handle lighting as part of a routine, whether that is a one-off "dim the bedroom" request or a scheduled evening dim. It is an optional skill, so it is installed on demand rather than shipped by default.

What it does

Once installed, the skill exposes Hue control as plain commands the agent can run. You can enumerate what exists on the bridge, switch individual bulbs or whole rooms on and off, set brightness, pick a colour temperature, or choose a colour by name or hex value. Scenes can be applied to a specific room. The skill is a thin wrapper around the OpenHue CLI, so the vocabulary you learn here is the CLI's own.

Before you start

The skill lives at optional-skills/smart-home/openhue and is version 1.0.1, authored by the community under the MIT licence. It is listed for linux, macos, and windows.

You need the OpenHue CLI itself. On Linux the releases ship tarballs rather than bare binaries, so the install pulls the archive and places the executable:

# Linux (pre-built binary — releases ship tarballs, not bare binaries)
curl -sL "https://github.com/openhue/openhue-cli/releases/latest/download/openhue_Linux_x86_64.tar.gz" \
  | tar -xz -C ~/.hermes/cache/scratch openhue \
  && install -m 0755 ~/.hermes/cache/scratch/openhue ~/.local/bin/openhue
# (use openhue_Linux_arm64.tar.gz on ARM64)

# macOS
brew install openhue/cli/openhue-cli

On macOS the Homebrew formula handles it. The first run needs you to physically press the button on the Hue Bridge to pair, and the bridge has to sit on the same local network as the machine running Hermes. Plan for that press before you hand the agent a lighting task, because nothing works until pairing completes.

Listing lights, rooms, and scenes

Start by finding out what the bridge knows about. These three commands enumerate the resources you will address later:

openhue get light       # List all lights
openhue get room        # List all rooms
openhue get scene       # List all scenes

Run these first in any new setup. Names are case-sensitive, so the exact strings returned here are the ones you must pass to the set commands.

Controlling individual lights

Light-level commands target one bulb by name. You can toggle it, then layer brightness, temperature, or colour onto the same call:

# Turn on/off
openhue set light "Bedroom Lamp" --on
openhue set light "Bedroom Lamp" --off

# Brightness (0-100)
openhue set light "Bedroom Lamp" --on --brightness 50

# Color temperature (warm to cool: 153-500 mirek)
openhue set light "Bedroom Lamp" --on --temperature 300

# Color (by name or hex)
openhue set light "Bedroom Lamp" --on --color red
openhue set light "Bedroom Lamp" --on --rgb "#FF5500"

Brightness runs 0 to 100. Temperature is expressed in mirek from 153 to 500, warm at the high end and cool at the low end. Colour can be a name or a hex string. Colour settings only take effect on bulbs that support colour; white-only models will not respond to them.

Controlling rooms

Rooms group lights, so one command can move several bulbs at once:

# Turn off entire room
openhue set room "Bedroom" --off

# Set room brightness
openhue set room "Bedroom" --on --brightness 30

This is the practical unit for most automations. If you are scripting a routine, address rooms rather than individual lamps so the routine survives you moving a bulb.

Applying scenes

Scenes are preconfigured looks stored on the bridge. Apply one to a room by name:

openhue set scene "Relax" --room "Bedroom"
openhue set scene "Concentrate" --room "Office"

Use openhue get scene to confirm the scene names available before wiring them into anything.

Quick presets

The source offers four ready-made combinations you can copy or adapt:

# Bedtime (dim warm)
openhue set room "Bedroom" --on --brightness 20 --temperature 450

# Work mode (bright cool)
openhue set room "Office" --on --brightness 100 --temperature 250

# Movie mode (dim)
openhue set room "Living Room" --on --brightness 10

# Everything off
openhue set room "Bedroom" --off
openhue set room "Office" --off
openhue set room "Living Room" --off

These are starting points, not fixed recipes. Adjust the numbers to taste once you have seen how your bulbs respond.

When not to use it

The source does not name an alternative for Hue control. The skill is optional and installed on demand, so if you do not run Hue hardware there is nothing here for you. If your bulbs are white-only, skip the colour options and stick to brightness and temperature.

Limits and gotchas

The bridge must be reachable on the same local network as the Hermes machine. Pairing requires a physical button press on the bridge the first time. Colour commands are limited to colour-capable bulbs. Light and room names are case-sensitive, so check them with openhue get light before using them in a command. The source also notes the skill works well with cron jobs for scheduled lighting, such as dimming at bedtime and brightening at wake.

What pairs with it

Scheduled lighting is the natural companion: the source points at cron jobs as the way to run these commands on a timetable. Beyond that, the skill sits in the Smart Home category alongside other optional skills, and the upstream tags (Smart-Home, Hue, Lights, IoT, Automation) are the best guide to what else in that category fits the same workflow.