homey-cli

Smart Home & IoT
v1.0.0
Benign

Control Homey home automation hub.

31.8K downloads1.8K installsby @krausefx

Setup & Installation

Install command

clawhub install krausefx/homey-cli

If the CLI is not installed:

Install command

npx clawhub@latest install krausefx/homey-cli

Or install with OpenClaw CLI:

Install command

openclaw skills install krausefx/homey-cli

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/krausefx/homey-cli

What This Skill Does

A CLI tool for controlling Homey home automation hubs from the terminal or an AI agent. Supports device control (on/off, dimming, colors, temperature), zone listing, flow triggering, and full hub inventory. Uses OAuth for authentication and restricts write operations to a capability allowlist.

The allowlisted capability model lets agents safely control smart home devices without risking destructive operations like deleting devices or modifying flows.

When to Use It

  • Turn specific lights on or off by name
  • Dim living room lights to a set percentage
  • Check current temperature reading from a bedroom sensor
  • Trigger a scheduled automation flow
  • Get a full inventory of all smart home devices
View original SKILL.md file
# Homey CLI

Safe, agent-friendly CLI for controlling Homey home automation hubs.

## What This Skill Provides

- **Device control**: Turn devices on/off, dim lights, change colors, set temperatures
- **Device inspection**: List devices, check status, read capabilities
- **Zone management**: List zones and devices per zone
- **Flow control**: List and trigger flows
- **Inventory**: Get complete hub overview

## Setup

### 1. Install Dependencies

```bash
cd skills/homey-cli
npm install
```

### 2. Create Homey App Credentials

1. Go to https://tools.developer.homey.app/tools/app
2. Create a new app with:
   - **Callback URL**: `http://localhost:8787/callback`
   - Note your **Client ID** and **Client Secret**

### 3. Configure Environment

Create `.env` file:

```bash
export HOMEY_CLIENT_ID="your-client-id"
export HOMEY_CLIENT_SECRET="your-client-secret"
export HOMEY_REDIRECT_URL="http://localhost:8787/callback"
```

### 4. Login

```bash
bash run.sh auth login
```

Follow the OAuth flow in your browser. Tokens are stored in `~/.config/homey-cli/`.

## Usage

### List Homeys

```bash
bash run.sh homey list
```

### Select Active Homey

```bash
bash run.sh homey use <homeyId>
```

### Device Operations

```bash
# 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
```

### Flow Operations

```bash
# List flows
bash run.sh flows list

# Trigger flow
bash run.sh flows trigger <flowId>
```

### Complete Inventory

```bash
bash run.sh inventory --json
```

## Safety Model

Write operations are **capability-allowlisted** for safety:

- Default allowed: `onoff`, `dim`, `light_hue`, `light_saturation`, `light_temperature`, `target_temperature`
- Override via: `export HOMEY_CLI_ALLOWED_CAPABILITIES=onoff,dim,target_temperature`

Destructive operations (delete devices, modify flows, change app settings) are **not supported**.

## Common Queries

When users ask:
- "Turn on the kitchen lights" → List devices, find match, use `devices on <deviceId>`
- "Dim living room to 50%" → Find device, use `devices dim <deviceId> 0.5`
- "What's the temperature in the bedroom?" → Find device, use `devices read <deviceId> measure_temperature`
- "List all my lights" → Use `devices list --json` and filter by class/capabilities

## Configuration Storage

- **Tokens**: `~/.config/homey-cli/credentials.json`
- **Active Homey**: `~/.config/homey-cli/config.json`

## Troubleshooting

- **Auth errors**: Re-run `bash run.sh auth login`
- **Device not found**: Check device name/ID with `bash run.sh devices list`
- **Capability not allowed**: Add to `HOMEY_CLI_ALLOWED_CAPABILITIES` or check if it's a read-only capability

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Turn specific lights on or off by name

AGENT
  1. 1Turn specific lights on or off by name
  2. 2Dim living room lights to a set percentage
  3. 3Check current temperature reading from a bedroom sensor
  4. 4Trigger a scheduled automation flow
  5. 5Get a full inventory of all smart home devices
OUTPUT
Control Homey home automation hub.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 27, 2026