Control Homey home automation hub via CLI. Use when you need to control smart home devices (lights, thermostats, sockets, etc.), check device status, list zones, trigger flows, or perform any Homey automation tasks. Supports on/off, dimming, color changes, temperature control, and device inspection. Safe, capability-allowlisted operations only.
Safe, agent-friendly CLI for controlling Homey home automation hubs.
cd skills/homey-cli
npm install
http://localhost:8787/callbackCreate .env file:
export HOMEY_CLIENT_ID="your-client-id"
export HOMEY_CLIENT_SECRET="your-client-secret"
export HOMEY_REDIRECT_URL="http://localhost:8787/callback"
bash run.sh auth login
Follow the OAuth flow in your browser. Tokens are stored in ~/.config/homey-cli/.
bash run.sh homey list
bash run.sh homey use <homeyId>
# List all devices
bash run.sh devices list
# List devices as JSON
bash run.sh devices list --json
# Get specific device
bash run.sh devices get <deviceId>
# Read capability value
bash run.sh devices read <deviceId> onoff
# Control devices
bash run.sh devices on <deviceId>
bash run.sh devices off <deviceId>
bash run.sh devices dim <deviceId> 0.4
bash run.sh devices color <deviceId> #FF8800
bash run.sh devices temperature <deviceId> 21.5
# List flows
bash run.sh flows list
# Trigger flow
bash run.sh flows trigger <flowId>
bash run.sh inventory --json
Write operations are capability-allowlisted for safety:
onoff, dim, light_hue, light_saturation, light_temperature, target_temperatureexport HOMEY_CLI_ALLOWED_CAPABILITIES=onoff,dim,target_temperatureDestructive operations (delete devices, modify flows, change app settings) are not supported.
When users ask:
devices on <deviceId>devices dim <deviceId> 0.5devices read <deviceId> measure_temperaturedevices list --json and filter by class/capabilities~/.config/homey-cli/credentials.json~/.config/homey-cli/config.jsonbash run.sh auth loginbash run.sh devices listHOMEY_CLI_ALLOWED_CAPABILITIES or check if it's a read-only capability