Awesome-omni-skill lilhomie

Control HomeKit devices via REST API. Use when controlling lights, switches, scenes, or checking device status in the user's home.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/lilhomie" ~/.claude/skills/diegosouzapw-awesome-omni-skill-lilhomie && rm -rf "$T"
manifest: skills/development/lilhomie/SKILL.md
source content

lilhomie - HomeKit REST API

Control HomeKit devices from your AI assistant. lilhomie is a macOS app that exposes HomeKit via a local REST API.

When to use (trigger phrases)

  • "turn on/off the lights"
  • "toggle the [device name]"
  • "control my home"
  • "what devices are on?"
  • "trigger [scene name] scene"
  • "turn on/off the [room]"

Prerequisites

  • macOS 13.0+ with lilhomie.app installed and running
  • HomeKit devices configured in Apple Home
  • lilhomie server running on
    localhost:8420

API Basics

Base URL:

http://localhost:8420

Important: Use underscores for spaces in device/room names:

Desk_Lamp
,
Guest_Bedroom

Common Commands

List all devices

curl localhost:8420/devices

Toggle a device

curl -X POST localhost:8420/device/Desk_Lamp/toggle

Get device status

curl localhost:8420/device/Desk_Lamp

Room-scoped toggle (for duplicate names)

curl -X POST localhost:8420/room/Office/device/Lamp/toggle

Turn room on/off

curl -X POST localhost:8420/room/Office/on
curl -X POST localhost:8420/room/Office/off

List scenes

curl localhost:8420/scenes

Trigger a scene

curl -X POST localhost:8420/scene/Good_Night/trigger

Endpoints Reference

MethodEndpointDescription
GET
/devices
List all devices
GET
/device/{name}
Get device details
POST
/device/{name}/toggle
Toggle device
POST
/device/{name}/set
Set brightness/state
GET
/rooms
List all rooms
GET
/room/{name}
Get devices in room
POST
/room/{name}/on
Turn all room devices on
POST
/room/{name}/off
Turn all room devices off
POST
/room/{r}/device/{d}/toggle
Room-scoped toggle
GET
/scenes
List all scenes
POST
/scene/{name}/trigger
Trigger a scene

Known Issues

  • Toggle response
    isOn
    state may be inverted (#1)
  • Use room-scoped endpoints when device names are duplicated across rooms

Tips

  1. Always use room-scoped endpoints for devices with common names like "Light" or "Lamp"
  2. Don't trust the
    isOn
    field in responses until issue #1 is fixed
  3. If unsure of device names, query
    /devices
    first