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.
Best use case
homey is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using homey should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/homey/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How homey Compares
| Feature / Agent | homey | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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):**
```bash
homeycli auth discover-local --save --pick 1
echo "<LOCAL_API_KEY>" | homeycli auth set-local --stdin
# or interactive (hidden input): homeycli auth set-local --prompt
```
**Cloud (recommended for VPS/headless hosting):**
```bash
echo "<CLOUD_TOKEN>" | homeycli auth set-token --stdin
# or interactive (hidden input): homeycli auth set-token --prompt
```
Check status:
```bash
homeycli auth status
```
3. **Test connection**
```bash
homeycli status
```
## Commands
### Snapshot (recommended for agents)
```bash
homeycli snapshot --json
homeycli snapshot --json --include-flows
```
### List Devices
```bash
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:
```bash
homeycli device "Living Room Light" on
homeycli device "Bedroom Lamp" off
```
Set specific capabilities:
```bash
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:
```bash
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)
```bash
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 <flow-id> # Trigger by ID
```
### Zones (Rooms)
```bash
homeycli zones # List all zones/rooms
homeycli zones --json # JSON output
```
### Status
```bash
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:
```bash
homeycli devices --json | jq '.[] | select(.class == "light")'
homeycli status --json
```
## Examples
**Morning routine:**
```bash
homeycli device "Bedroom Light" on
homeycli device "Bedroom Light" set dim 0.3
homeycli device "Thermostat" set target_temperature 20
```
**Check temperature:**
```bash
homeycli device "Living Room" get measure_temperature
```
**Trigger scene:**
```bash
homeycli flow trigger "Movie Time"
```
**List all lights:**
```bash
homeycli devices --json | jq '.[] | select(.class == "light") | .name'
```
## Troubleshooting
**"No auth configured"**
Local (LAN/VPN):
- Save local config: `echo "<LOCAL_API_KEY>" | homeycli auth set-local --address http://<homey-ip> --stdin`
Cloud (remote/headless):
- Save cloud token: `echo "<CLOUD_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` (or `homeycli devices --match <query> --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.Related Skills
homey-cli
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.
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance
portainer
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
portable-tools
Build cross-device tools without hardcoding paths or account names
polymarket
Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.
polymarket-traiding-bot
No description provided.
polymarket-analysis
Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.
polymarket-agent
Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities
polymarket-5
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-4
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-3
Query Polymarket prediction market odds and events via CLI. Search for markets, get current prices, list events by category. Supports sports betting (NFL, NBA, soccer/EPL, Champions League), politics, crypto, elections, geopolitics. Real money markets = more accurate than polls. No API key required. Use when asked about odds, probabilities, predictions, or "what are the chances of X".
polymarket-2
Query Polymarket prediction markets - check odds, trending markets, search events, track prices.