Homey
/install homey
Homey Smart Home Control
Control Athom Homey devices via local (LAN/VPN) or cloud APIs using token authentication.
Setup
Requires Node.js >= 18.
-
Decide local vs cloud
- Local (LAN/VPN): use a local API key from the Homey Web App + Homey IP address
- Cloud (remote/headless): use a cloud token from Developer Tools
-
Configure
Local (recommended when the agent runs on your home network):
homeycli auth discover-local --save --pick 1 echo "\x3CLOCAL_API_KEY>" | homeycli auth set-local --stdin # or interactive (hidden input): homeycli auth set-local --promptCloud (recommended for VPS/headless hosting):
echo "\x3CCLOUD_TOKEN>" | homeycli auth set-token --stdin # or interactive (hidden input): homeycli auth set-token --promptCheck status:
homeycli auth status -
Test connection
homeycli status
Commands
Snapshot (recommended for agents)
homeycli snapshot --json
homeycli snapshot --json --include-flows
List Devices
homeycli devices # Pretty table output
homeycli devices --json # JSON output for AI parsing (includes latest values)
# Filter by name (returns multiple matches)
homeycli devices --match "kitchen" --json
Control Devices
Turn devices on/off:
homeycli device "Living Room Light" on
homeycli device "Bedroom Lamp" off
Set specific capabilities:
homeycli device "Dimmer" set dim 0.5 # 50% brightness
homeycli device "Thermostat" set target_temperature 21 # Set temperature
homeycli device "RGB Light" set light_hue 0.5 # Hue (0-1)
homeycli device "Lock" set locked true # Lock device
Get capability values:
homeycli device "Thermostat" get measure_temperature
homeycli device "Motion Sensor" get alarm_motion
# Get all values for a device (multi-sensors)
homeycli device "Living Room Air" values
homeycli device "Living Room Air" get
Flows (Automations)
homeycli flows # List all flows
homeycli flows --json # JSON output
homeycli flows --match "good" --json # Filter flows by name
homeycli flow trigger "Good Night" # Trigger by name
homeycli flow trigger \x3Cflow-id> # Trigger by ID
Zones (Rooms)
homeycli zones # List all zones/rooms
homeycli zones --json # JSON output
Status
homeycli status # Show Homey connection info
Common Capabilities
| Capability | Type | Description | Example |
|---|---|---|---|
onoff |
boolean | Power on/off | true, false |
dim |
number | Brightness (0-1) | 0.5 (50%) |
light_hue |
number | Color hue (0-1) | 0.33 (green) |
light_saturation |
number | Color saturation (0-1) | 1.0 (full) |
light_temperature |
number | Color temp (0-1) | 0.5 (neutral) |
target_temperature |
number | Thermostat target (°C) | 21 |
measure_temperature |
number | Current temp (read-only) | - |
locked |
boolean | Lock state | true, false |
alarm_motion |
boolean | Motion detected (read-only) | - |
alarm_contact |
boolean | Contact sensor (read-only) | - |
volume_set |
number | Volume (0-1) | 0.5 |
Use homeycli devices to see what capabilities each device supports.
Fuzzy Matching
Device and flow names support fuzzy matching:
- Exact match: "Living Room Light" → finds "Living Room Light"
- Substring: "living light" → finds "Living Room Light"
- Levenshtein distance: "livng light" → finds "Living Room Light" (typo-tolerant)
JSON Mode
Add --json to any command for machine-readable output:
homeycli devices --json | jq '.[] | select(.class == "light")'
homeycli status --json
Examples
Morning routine:
homeycli device "Bedroom Light" on
homeycli device "Bedroom Light" set dim 0.3
homeycli device "Thermostat" set target_temperature 20
Check temperature:
homeycli device "Living Room" get measure_temperature
Trigger scene:
homeycli flow trigger "Movie Time"
List all lights:
homeycli devices --json | jq '.[] | select(.class == "light") | .name'
Troubleshooting
"No auth configured"
Local (LAN/VPN):
- Save local config:
echo "\x3CLOCAL_API_KEY>" | homeycli auth set-local --address http://\x3Chomey-ip> --stdin
Cloud (remote/headless):
- Save cloud token:
echo "\x3CCLOUD_TOKEN>" | homeycli auth set-token --stdin - Cloud tokens can be created in Homey Developer Tools: https://tools.developer.homey.app/api/clients
"Device not found" / ambiguous match
- List devices with
homeycli devices --json(orhomeycli devices --match \x3Cquery> --json) to find the rightid - If a query matches more than one device, the CLI returns candidate IDs and asks you to specify the device by ID
"Capability not supported"
- Check available capabilities:
homeycli devicesshows what each device supports - Common issue: trying to turn on a sensor (use
getinstead ofset)
API Reference
The CLI uses the official homey-api npm package (v3.15.0).
Auth/connection modes:
- Local mode:
HomeyAPI.createLocalAPI({ address, token })using the Homey Web App local API key. - Cloud mode:
AthomCloudAPIusing a cloud bearer token (PAT) to create a session and access devices/flows/zones.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install homey - 安装完成后,直接呼叫该 Skill 的名称或使用
/homey触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Homey 是什么?
Control Athom Homey smart home devices via local (LAN/VPN) or cloud APIs. List/control devices, trigger flows, query zones. Works with Homey Pro, Cloud, and Bridge. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2919 次。
如何安装 Homey?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install homey」即可一键安装,无需额外配置。
Homey 是免费的吗?
是的,Homey 完全免费(开源免费),可自由下载、安装和使用。
Homey 支持哪些平台?
Homey 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Homey?
由 maxsumrall(@maxsumrall)开发并维护,当前版本 v1.1.2。