Jump to related tools in the same category or review the original source on GitHub.

Smart Home & IoT @jiasenl Updated 2/26/2026

🏠 Homebridge OpenClaw Skill - ClawHub

Do you want your AI agent to automate Homebridge workflows? This free skill from ClawHub helps with smart home & iot tasks without building custom tools from scratch.

What this skill does

Control smart home devices via Homebridge Config UI X REST API. Use to list, turn on/off, adjust brightness, color, or temperature of HomeKit-compatible accessories. Supports lights, switches, thermostats, fans, and other Homebridge-managed devices.

Install

npx clawhub@latest install clawdbot-skill-homebridge

Full SKILL.md

Open original
namedescriptionhomepage
homebridgeControl smart home devices via Homebridge Config UI X REST API. Use to list, turn on/off, adjust brightness, color, or temperature of HomeKit-compatible accessories. Supports lights, switches, thermostats, fans, and other Homebridge-managed devices.https://github.com/homebridge/homebridge-config-ui-x

Homebridge Control

Control smart home devices through Homebridge Config UI X's REST API.

Prerequisites

  1. Homebridge with Config UI X installed and running
  2. Credentials file at ~/.clawdbot/credentials/homebridge.json:
    {
      "url": "https://homebridge.local:8581",
      "username": "admin",
      "password": "your-password"
    }
    

API Overview

Homebridge Config UI X exposes a REST API. View full documentation at {HOMEBRIDGE_URL}/swagger.

Authentication

All API calls require a Bearer token. Obtain it first:

# Get auth token
TOKEN=$(curl -s -X POST "${HOMEBRIDGE_URL}/api/auth/login" \
  -H "Content-Type: application/json" \
  -d "{\"username\":\"${HOMEBRIDGE_USERNAME}\",\"password\":\"${HOMEBRIDGE_PASSWORD}\"}" \
  | jq -r '.access_token')

Common Operations

List All Accessories

curl -s "${HOMEBRIDGE_URL}/api/accessories" \
  -H "Authorization: Bearer ${TOKEN}" | jq

Response includes accessory uniqueId, serviceName, type, and current values.

Get Accessory Layout (Rooms)

curl -s "${HOMEBRIDGE_URL}/api/accessories/layout" \
  -H "Authorization: Bearer ${TOKEN}" | jq

Control an Accessory

Use PUT to update accessory characteristics:

# Turn on a light/switch
curl -s -X PUT "${HOMEBRIDGE_URL}/api/accessories/{uniqueId}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"characteristicType": "On", "value": true}'

# Turn off
curl -s -X PUT "${HOMEBRIDGE_URL}/api/accessories/{uniqueId}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"characteristicType": "On", "value": false}'

# Set brightness (0-100)
curl -s -X PUT "${HOMEBRIDGE_URL}/api/accessories/{uniqueId}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"characteristicType": "Brightness", "value": 50}'

# Set color (Hue: 0-360, Saturation: 0-100)
curl -s -X PUT "${HOMEBRIDGE_URL}/api/accessories/{uniqueId}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"characteristicType": "Hue", "value": 240}'

# Set thermostat target temperature
curl -s -X PUT "${HOMEBRIDGE_URL}/api/accessories/{uniqueId}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"characteristicType": "TargetTemperature", "value": 22}'

Common Characteristic Types

Type Values Description
On true/false Power state
Brightness 0-100 Light brightness %
Hue 0-360 Color hue in degrees
Saturation 0-100 Color saturation %
ColorTemperature 140-500 Color temp in Mired
TargetTemperature 10-38 Thermostat target °C
TargetHeatingCoolingState 0-3 0=Off, 1=Heat, 2=Cool, 3=Auto
RotationSpeed 0-100 Fan speed %
Active 0/1 Active state (fans, etc.)

Using the Scripts

For convenience, use the provided scripts:

List Accessories

scripts/homebridge_api.py list
scripts/homebridge_api.py list --room "Living Room"
scripts/homebridge_api.py list --type Lightbulb

Control Devices

# Turn on/off
scripts/homebridge_api.py set <uniqueId> On true
scripts/homebridge_api.py set <uniqueId> On false

# Adjust brightness
scripts/homebridge_api.py set <uniqueId> Brightness 75

# Set color
scripts/homebridge_api.py set <uniqueId> Hue 120
scripts/homebridge_api.py set <uniqueId> Saturation 100

Get Accessory Status

scripts/homebridge_api.py get <uniqueId>

Tips

  • Find your accessory's uniqueId by listing all accessories first
  • The API documentation at /swagger shows all available endpoints
  • Characteristic names are case-sensitive (use On not on)
  • Some accessories may have multiple services; check the response for service types
  • Token expires after some time; re-authenticate if you get 401 errors
Original URL: https://github.com/openclaw/skills/blob/main/skills/jiasenl/clawdbot-skill-homebridge

Related skills

If this matches your use case, these are close alternatives in the same category.