Skip to main content

home-assistant

Control Home Assistant devices and automations via hass-cli. Use when controlling smart home devices, lights, switches, sensors, climate, media players, or running automations/scripts. Requires HASS_SERVER and HASS_TOKEN environment variables.

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

المستودع
Kernel8901/ai-agent-skills-classification
آخر نشاط في المصدر
٤ أبريل ٢٠٢٦ في ١٥:٢٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦
التفرعات
١

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

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

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

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

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
home-assistant
description
Control Home Assistant devices and automations via hass-cli. Use when controlling smart home devices, lights, switches, sensors, climate, media players, or running automations/scripts. Requires HASS_SERVER and HASS_TOKEN environment variables.
metadata
{"clawdbot":{"emoji":"🏠","requires":{"bins":"[Truncated]"},"install":["[Truncated]"]}}
# Home Assistant CLI Control Home Assistant via `hass-cli`. ## Install ```bash # macOS (Homebrew) brew install homeassistant-cli # pip (any platform) pip install homeassistant-cli # Verify hass-cli --version ``` ## Setup ### 1. Find Your Home Assistant URL Common URLs (try in order): - `http://homeassistant.local:8123` — Default mDNS hostname - `http://homeassistant:8123` — If using Docker/hostname - `http://<IP-ADDRESS>:8123` — Direct IP (e.g., `http://192.168.1.100:8123`) - `https://your-instance.ui.nabu.casa` — If using Nabu Casa cloud Test it: open the URL in a browser — you should see the HA login page. ### 2. Create a Long-Lived Access Token 1. Open Home Assistant in your browser 2. Click your **profile** (bottom-left of the sidebar, your name/icon) 3. Scroll down to **Long-Lived Access Tokens** 4. Click **Create Token** 5. Give it a name (e.g., "Clawdbot" or "CLI") 6. **Copy the token immediately** — you won't see it again! The token looks like: `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3...` ### 3. Configure Environment Variables Add to your shell profile (`~/.zshrc` or `~/.bashrc`): ```bash export HASS_SERVER="http://homeassistant.local:8123" export HASS_TOKEN="your-token-here" ``` Or for Clawdbot, store credentials in TOOLS.md: ```markdown ## Home Assistant - **URL:** `http://homeassistant.local:8123` - **Token:** `eyJ...your-token...` ``` Then reference TOOLS.md before making calls. ## Quick Reference ```bash # List all entities hass-cli state list # Filter entities (pipe to grep) hass-cli state list | grep -i kitchen # Get specific entity state hass-cli state get light.kitchen # Turn on/off hass-cli service call switch.turn_on --arguments entity_id=switch.fireplace hass-cli service call switch.turn_off --arguments entity_id=switch.fireplace hass-cli service call light.turn_on --arguments entity_id=light.kitchen hass-cli service call light.turn_off --arguments entity_id=light.kitchen # Light brightness (0-255) hass-cli service call light.turn_on --arguments entity_id=light.kitchen,brightness=128 # Toggle hass-cli service call switch.toggle --arguments entity_id=switch.fireplace # Climate hass-cli service call climate.set_temperature --arguments entity_id=climate.thermostat,temperature=72 # Run automation/script hass-cli service call automation.trigger --arguments entity_id=automation.evening_lights hass-cli service call script.turn_on --arguments entity_id=script.movie_mode ``` ## Entity Naming Patterns - `light.*` — Lights - `switch.*` — Switches, plugs, relays - `sensor.*` — Temperature, humidity, power, etc. - `binary_sensor.*` — Motion, door/window, presence - `climate.*` — Thermostats, HVAC - `cover.*` — Blinds, garage doors - `media_player.*` — TVs, speakers - `automation.*` — Automations - `script.*` — Scripts - `scene.*` — Scenes ## Discovery Tips ```bash # Find all lights hass-cli state list | grep "^light\." # Find devices by room name hass-cli state list | grep -i bedroom # Find all "on" devices hass-cli state list | grep -E "\s+on\s+" # Get entity attributes (JSON) hass-cli --format json state get light.kitchen ``` ## Notes - Empty `[]` response from service calls = success - Use exact entity_id from `state list` - Multiple arguments: comma-separated (no spaces) - If hass-cli unavailable, use REST API as fallback: ```bash curl -s -H "Authorization: Bearer $HASS_TOKEN" "$HASS_SERVER/api/states" | jq ```
عرض على GitHub