← 返回 Skills 市场
maxsumrall

Homey

作者 maxsumrall · GitHub ↗ · v1.1.2
cross-platform ✓ 安全检测通过
2919
总下载
3
收藏
6
当前安装
5
版本数
在 OpenClaw 中安装
/install 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.
使用说明 (SKILL.md)

Homey Smart Home Control

Control Athom Homey devices via local (LAN/VPN) or cloud APIs using token authentication.

Setup

Requires Node.js >= 18.

  1. 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
  2. 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 --prompt
    

    Cloud (recommended for VPS/headless hosting):

    echo "\x3CCLOUD_TOKEN>" | homeycli auth set-token --stdin
    # or interactive (hidden input): homeycli auth set-token --prompt
    

    Check status:

    homeycli auth status
    
  3. 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):

"Device not found" / ambiguous match

  • List devices with homeycli devices --json (or homeycli devices --match \x3Cquery> --json) to find the right id
  • 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 devices shows what each device supports
  • Common issue: trying to turn on a sensor (use get instead of set)

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: AthomCloudAPI using a cloud bearer token (PAT) to create a session and access devices/flows/zones.
安全使用建议
This skill appears to be what it says: a Homey CLI wrapper meant for agent use. Before installing, consider: 1) Tokens are powerful — any HOMEY_TOKEN or local API key you save or export grants control of your devices (locks, switches, flows). Only install if you trust the author/repo. 2) The installer runs npm install and will fetch dependencies from the npm registry; review package.json and dependency tree if you have supply-chain concerns. 3) The CLI stores credentials in ~/.homey/config.json (or reads env vars); if you later remove the skill, check and delete that file and rotate tokens if needed. 4) Prefer local mode when the agent runs on your LAN (limits exposure) and use --stdin or hidden prompt to avoid leaving tokens in shell history. 5) If you want extra assurance, inspect package.json and the included JS files (lib/) yourself or run the CLI in an isolated environment (container/VM) before giving it real tokens.
功能分析
Type: OpenClaw Skill Name: homey Version: 1.1.2 The OpenClaw AgentSkills skill bundle for Homey CLI is benign. It provides legitimate functionality for controlling smart home devices via local or cloud APIs. The skill handles authentication tokens securely by storing them with restricted permissions in `~/.homey/config.json` and using secure input methods (`--stdin`, `--prompt`) in `bin/homeycli.js` and `lib/commands.js`. Network and file system access are strictly aligned with its stated purpose (communicating with Homey devices, mDNS discovery, and managing its own configuration). There is no evidence of data exfiltration, malicious execution, persistence mechanisms, or prompt injection attempts to subvert the agent's behavior beyond the skill's intended scope.
能力评估
Purpose & Capability
Name/description match the code and runtime instructions. The package implements a CLI (homeycli) that uses the official homey-api library to list/control devices, flows, and zones. Required binary 'homeycli' and the node install that produces it are appropriate for this purpose. No unrelated credentials or tools are requested.
Instruction Scope
SKILL.md and CLI docs are narrowly scoped to Homey control: auth setup (local API key or cloud token), device/flow commands, snapshot, and JSON output. Instructions reference ~/.homey/config.json and environment variables (HOMEY_TOKEN, HOMEY_LOCAL_TOKEN, HOMEY_ADDRESS) — these are the expected configuration locations for storing Homey tokens. The skill prompts for tokens and recommends --stdin to avoid shell history, which is reasonable. Note: the skill can control sensitive devices (locks, flows) if given tokens.
Install Mechanism
Install spec uses a Node package install from the included package (npm install in the skill directory) and creates the 'homeycli' binary. This pulls dependencies from npm (including homey-api). That's standard for a Node CLI but carries the usual supply-chain risk of npm packages and any postinstall scripts in dependencies. No downloads from obscure external URLs or URL shorteners were observed.
Credentials
The skill does not require unrelated credentials. It optionally uses Homey credentials (HOMEY_TOKEN, HOMEY_LOCAL_TOKEN) and HOMEY_ADDRESS; these are appropriate. SKILL.md/frontmatter did not declare required env vars because tokens are optional until you configure the CLI — this is coherent. Be aware that any saved token or config (~/.homey/config.json or env vars) gives the skill (and therefore any agent invoking the CLI) full ability to control your Homey devices.
Persistence & Privilege
always:false and normal autonomous invocation are set. The install files write the CLI and may create/modify ~/.homey/config.json to store tokens (expected behavior). The skill does not request system-wide privileges or alter other skills' configs.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install homey
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /homey 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.2
- Add `homeycli` wrapper entrypoint to reduce "permission denied" issues and automatically install npm deps if missing. - Add `homeycli device <name> capabilities` to list settable capabilities. - Local onboarding smoothing: `auth set-local` attempts mDNS discovery if address is missing.
v1.1.1
- Auth hardening: reject wrong token types early (local triple-part key vs cloud token) and validate token characters to avoid invalid HTTP header errors.
v1.1.0
- Add **local + cloud** connection modes with `HOMEY_MODE=auto|local|cloud`. - Add local onboarding: - `homeycli auth discover-local` (mDNS) - `homeycli auth discover-local --save --pick <n>` / `--homey-id <id>` - `homeycli auth set-local` (stores local API key) - Improve cloud/headless setup (`auth set-token --stdin/--prompt`) and clearer `auth status` output. - Refactor name/id resolution to be deterministic and shared across devices/flows. - Docs: updated setup instructions + stable JSON output contract (`docs/output.md`).
v1.0.1
- Added detailed output documentation in docs/output.md. - Improved fuzzy matching with new resolve logic (lib/resolve.js added). - Updated and streamlined documentation, including commands and error docs. - Removed old CI workflow and summary/meta files for a cleaner codebase. - Made internal improvements in CLI, config, and command handling files.
v0.1.0
Initial release of the Homey skill: - Control Athom Homey smart home devices via Cloud API using a simple CLI (`homeycli`). - Supports listing and controlling devices, triggering flows, and querying zones. - Works with Homey Pro, Cloud, and Bridge platforms. - Enables device discovery, status queries, and capability control (power, dimming, color, temperature, lock, sensors). - Includes fuzzy matching and JSON output for easy integration and automation.
元数据
Slug homey
版本 1.1.2
许可证
累计安装 6
当前安装数 6
历史版本数 5
常见问题

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。

💬 留言讨论