home-assistant

Control and query Home Assistant covers, lights, and switches via the REST API.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/moistalgia/hermes-tools --skill home-assistant-moistalgia
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: home-assistant
Source: https://github.com/moistalgia/hermes-tools/tree/main/skills-from-hermes/smart-home/home-assistant
Command: npx skills add https://github.com/moistalgia/hermes-tools --skill home-assistant-moistalgia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Controlling Home Assistant devices like blinds, lights, and climate entities often fails silently due to polarity quirks, empty service responses, and guessed entity IDs. This Skill provides a disciplined workflow for discovering entities, reading state before commanding, testing polarity, and verifying physical results so device control actually works. ## Core Features & Use Cases - Entity Discovery: List entities by domain or area instead of guessing IDs, and resolve naming mismatches like "blinds" versus "curtain". - State-First Control: Read current position and supported features before sending commands, then verify the physical result afterward. - Polarity Testing: Detect reversed open/close behavior common with ZHA, Zigbee, Tuya, and Shelly integrations using set_cover_position as an unambiguous baseline. - Use Case: A user asks to close the theater curtains to 25%. The Skill lists cover entities, reads current position, sends set_cover_position with an explicit value, waits, and confirms the new position via ha_get_state. ## Quick Start Ask the assistant to list all cover entities in the theater room and set the curtain position to 25 percent, verifying the final state afterward.

Frequently Asked Questions about home-assistant

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control Home Assistant covers and blinds via the API?▼

Use ha_list_entities to find the cover entity IDs, read current_position with ha_get_state, then call ha_call_service with the cover domain and a service like set_cover_position. Always verify the new position afterward with another state read.

How do I find the right Home Assistant entity ID for a device?▼

List entities by domain with ha_list_entities(domain='cover') or by room with ha_list_entities(area='theater') instead of guessing IDs. If the requested name differs from the actual entity name, use the correct ID and note the mismatch.

Why does open_cover close my blinds in Home Assistant?▼

Polarity reversal is common with ZHA, Zigbee, Tuya, and Shelly integrations, so binary open and close commands can be flipped. Use set_cover_position with explicit values, which typically follows the standard 0-100 scale even when binary commands are reversed.

What does success with empty affected_entities mean in Home Assistant?▼

Some integrations return success with zero affected entities even when hardware actually moved, while others silently drop the command. Wait for the device to respond, then read the entity state to confirm whether the position changed.

Does Home Assistant position 25 mean open or closed?▼

In the standard convention, 0 means closed and 100 means open, so position 25 is 75 percent closed. If polarity is reversed for binary commands, set_cover_position with explicit values still follows this absolute scale.