Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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/skills/sundial-org-homey/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -17% | 0% |
Control Athom Homey devices via local (LAN/VPN) or cloud APIs using token authentication.
Requires Node.js >= 18.
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
bash homeycli status
bashhomeycli snapshot --json homeycli snapshot --json --include-flows
bashhomeycli 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
Turn devices on/off:
bashhomeycli device "Living Room Light" on homeycli device "Bedroom Lamp" off
Set specific capabilities:
bashhomeycli 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:
bashhomeycli 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
bashhomeycli 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
bashhomeycli zones # List all zones/rooms homeycli zones --json # JSON output
bashhomeycli status # Show Homey connection info
| 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.
Device and flow names support fuzzy matching:
Add --json to any command for machine-readable output:
bashhomeycli devices --json | jq '.[] | select(.class == "light")' homeycli status --json
Morning routine:
bashhomeycli device "Bedroom Light" on homeycli device "Bedroom Light" set dim 0.3 homeycli device "Thermostat" set target_temperature 20
Check temperature:
bashhomeycli device "Living Room" get measure_temperature
Trigger scene:
bashhomeycli flow trigger "Movie Time"
List all lights:
bashhomeycli devices --json | jq '.[] | select(.class == "light") | .name'
"No auth configured"
Local (LAN/VPN):
echo "<LOCAL_API_KEY>" | homeycli auth set-local --address http://<homey-ip> --stdinCloud (remote/headless):
echo "<CLOUD_TOKEN>" | homeycli auth set-token --stdin"Device not found" / ambiguous match
homeycli devices --json (or homeycli devices --match <query> --json) to find the right id"Capability not supported"
homeycli devices shows what each device supportsget instead of set)The CLI uses the official homey-api npm package (v3.15.0).
Auth/connection modes:
HomeyAPI.createLocalAPI({ address, token }) using the Homey Web App local API key.AthomCloudAPI using a cloud bearer token (PAT) to create a session and access devices/flows/zones.Other measured skills in the registry, with their headline benchmark lift.