From home-assistant
Create or update the state of a Home Assistant entity. Use when the user wants to set a virtual sensor value, override an entity's state, or create a synthetic entity.
npx claudepluginhub cameri/claude-skills --plugin home-assistantThis skill is limited to using the following tools:
<objective>
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Guides TDD-style skill creation: pressure scenarios as tests, baseline agent failures, write docs to enforce compliance, verify with RED-GREEN-REFACTOR.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
<quick_start>
/home-assistant:set-state input_boolean.test_flag on
/home-assistant:set-state sensor.outdoor_temp 22.5 unit_of_measurement=°C device_class=temperature
/home-assistant:set-state binary_sensor.front_door on device_class=door
</quick_start>
<context> Load credentials before every call: ```bash source ~/.claude/channels/home-assistant/.env ``` If `.env` is missing or `HA_URL`/`HA_TOKEN` are not set, tell the user to run `/home-assistant:access` first. </context> <workflow> Parse `$ARGUMENTS`: - First arg: `<entity_id>` (required) - Second arg: `<state>` value (required) - Remaining args: `key=value` pairs → entity attributesBuild JSON body:
{
"state": "<state>",
"attributes": {
"key": "value",
...
}
}
httpie call:
http --ignore-stdin -b POST "${HA_URL%/}/api/states/<entity_id>" \
"Authorization: Bearer $HA_TOKEN" \
state="<state>" \
attributes:='{"key": "value"}'
Display result:
<entity_id> → <new_state>"<entity_id> → <new_state>"Note to user if appropriate: Setting state via the API bypasses integrations and automations — physical device state may differ. For controlling real devices, use /home-assistant:call-service.
</workflow>
<success_criteria>