Skip to main content

homebridge

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.

معلومات المصدر

المستودع
ThinkfleetAI/thinkfleet-engine
آخر نشاط في المصدر
١٠ فبراير ٢٠٢٦ في ١٢:٤٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
homebridge
description
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.
homepage
https://github.com/homebridge/homebridge-config-ui-x
metadata
{"thinkfleet":{"emoji":"🏠"}}
# 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 `~/.thinkfleet/credentials/homebridge.json`: ```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: ```bash # 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 ```bash curl -s "${HOMEBRIDGE_URL}/api/accessories" \ -H "Authorization: Bearer ${TOKEN}" | jq ``` Response includes accessory `uniqueId`, `serviceName`, `type`, and current `values`. ### Get Accessory Layout (Rooms) ```bash curl -s "${HOMEBRIDGE_URL}/api/accessories/layout" \ -H "Authorization: Bearer ${TOKEN}" | jq ``` ### Control an Accessory Use PUT to update accessory characteristics: ```bash # 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 ```bash scripts/homebridge_api.py list scripts/homebridge_api.py list --room "Living Room" scripts/homebridge_api.py list --type Lightbulb ``` ### Control Devices ```bash # 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 ```bash 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
عرض على GitHub