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.
What this skill does
# 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 in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.