homey-cli

TotalClaw 作者 totalclaw

通过 CLI 控制 Homey 家庭自动化中心。当您需要控制智能家居设备(灯、恒温器、插座等)、检查设备状态、列出区域、触发流量或执行任何 Homey 自动化任务时使用。支持开/关、调光、颜色变化、温度控制和设备检查。仅限安全、功能允许的操作。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~krausefx-homey-cli
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~krausefx-homey-cli/file -o krausefx-homey-cli.md
## 概述(中文)

通过 CLI 控制 Homey 家庭自动化中心。当您需要控制智能家居设备(灯、恒温器、插座等)、检查设备状态、列出区域、触发流量或执行任何 Homey 自动化任务时使用。支持开/关、调光、颜色变化、温度控制和设备检查。仅限安全、功能允许的操作。

## 原文

# 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