← Back to Skills Marketplace
xwings

py-homeassistant-cli

by xwings · GitHub ↗ · v1.0.10 · MIT-0
cross-platform ✓ Security Clean
304
Downloads
0
Stars
0
Active Installs
11
Versions
Install in OpenClaw
/install py-homeassistant-cli
Description
Tiny and short Python CLI tool to control Home Assistant devices and automations via the REST API. No external dependencies — uses only Python 3.6+ standard...
Usage Guidance
This skill is coherent for controlling Home Assistant and includes its source code so you can review it. Note the registry metadata omitted required env vars — you will need to provide HA_URL and a long‑lived HA_TOKEN (sensitive). Before installing: (1) create a dedicated long‑lived token with minimal scope for this CLI, (2) ensure HA_URL points to your trusted Home Assistant instance (prefer a private network address or HTTPS endpoint), (3) verify the confirmation prompts for sensitive actions are respected in your agent workflow, and (4) review the bundled script if you have any policy that forbids network calls from skills. If you want stricter limits, do not give this skill a token that can control locks, alarms, or garage doors.
Capability Analysis
Type: OpenClaw Skill Name: py-homeassistant-cli Version: 1.0.10 The skill is a functional Python CLI tool designed to control Home Assistant via its REST API using only standard libraries. It includes safety instructions in SKILL.md that explicitly tell the AI agent to seek user confirmation for sensitive actions like operating locks or security systems. While the tool provides powerful capabilities such as arbitrary service calls and Jinja2 template evaluation via the Home Assistant API, these are consistent with its stated purpose, and there is no evidence of data exfiltration, obfuscation, or malicious intent.
Capability Assessment
Purpose & Capability
Name, description, SKILL.md, README, and the included script all align: this is a Home Assistant CLI that talks to a user-provided Home Assistant REST API. The only mismatch is registry-level metadata that reported 'Required env vars: none' while the SKILL.md and the script clearly use HA_URL and HA_TOKEN.
Instruction Scope
Runtime instructions and the script confine actions to the Home Assistant REST API (server provided by HA_URL/--server). The SKILL.md explicitly asks for user confirmation before sensitive actions (locks, alarms, garage doors). The instructions do not ask to read unrelated files or contact external endpoints outside the configured HA server.
Install Mechanism
There is no install spec and no network downloads; the skill is instruction-only plus a bundled Python script. No external packages or arbitrary URLs are fetched during install.
Credentials
The script legitimately needs HA_URL and HA_TOKEN (long‑lived access token) — these are proportionate to its functionality. However, the registry metadata omitted those required env vars, which is an inconsistency users should be aware of. HA_TOKEN is sensitive: provide a token with minimal privileges and avoid sharing broadly.
Persistence & Privilege
The skill does not request always:true or any elevated persistence. It runs locally and only performs network calls to the configured HA server. Autonomous invocation is allowed (platform default) but is not combined with other concerning privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install py-homeassistant-cli
  3. After installation, invoke the skill by name or use /py-homeassistant-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.10
- Fixed typo in environment variable name: replaced "HASS_TOKEN" with "HA_TOKEN" in `metadata`. - No changes to code or features; documentation metadata only.
v1.0.9
- Added optional environment variable setup instructions for `HA_URL` and `HA_TOKEN`. - Updated references from `HASS_SERVER`/`HASS_TOKEN` to `HA_URL`/`HA_TOKEN` in metadata and documentation. - Clarified environment variable usage and ordering relative to command-line arguments.
v1.0.8
- Added environment variable documentation (HASS_SERVER, HASS_TOKEN) to metadata for clearer configuration. - No changes to tool commands or CLI behavior. - Documentation in SKILL.md updated for improved clarity on environment variable setup.
v1.0.7
- Metadata updated: renamed skill to "py-homeassistant-cli", and version number removed from metadata. - Description refined to "Tiny and short Python CLI tool". - No code or functional changes in this version. - Documentation remains unchanged except for minor metadata and description updates.
v1.0.6
- Removed setup instructions using environment variables; now the only documented method is passing credentials via command-line arguments. - No other content or command changes detected.
v1.0.5
- Removed unused "env" value from the metadata "requires" section in SKILL.md. - No user-facing functionality changes.
v1.0.4
- Minor metadata update: removed the unused "primaryEnv" field from the metadata section. - No changes to functionality, commands, or documentation content.
v1.0.3
- Updated skill description to clarify the tool is a Python CLI with no external dependencies. - No code or functionality changes in this version.
v1.0.2
- Updated the GitHub homepage URL in the skill metadata from `https://github.com/xwings/homeassistant-cli` to `https://github.com/xwings/py-homeassistant-cli`. - No other changes detected.
v1.0.1
- Updated the metadata author field from "anotb" to "xwings". - Changed the metadata "bins" field to explicitly include the Python CLI path: "python3 {baseDir}/scripts/homeassistant-cli.py". - No functional or command changes made to the skill.
v1.0.0
Major update: Switches from using the official hass-cli and extensive markdown documentation to a new, self-contained Python CLI with simplified, wide-ranging functionality. - Replaces the previous hass-cli-based implementation with a custom Python CLI tool for direct Home Assistant REST API control. - No external dependencies; only the Python standard library is required. - Significantly expanded command set covering 25 domains (lights, climate, locks, presence, weather, calendar, script, and more). - Documentation focuses on concise usage, entity and service discovery, advanced control, and safety rules for sensitive actions. - Old reference/example/troubleshooting files removed; usage and setup are now fully documented within a single markdown. - New MIT license and updated project metadata.
Metadata
Slug py-homeassistant-cli
Version 1.0.10
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 11
Frequently Asked Questions

What is py-homeassistant-cli?

Tiny and short Python CLI tool to control Home Assistant devices and automations via the REST API. No external dependencies — uses only Python 3.6+ standard... It is an AI Agent Skill for Claude Code / OpenClaw, with 304 downloads so far.

How do I install py-homeassistant-cli?

Run "/install py-homeassistant-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is py-homeassistant-cli free?

Yes, py-homeassistant-cli is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does py-homeassistant-cli support?

py-homeassistant-cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created py-homeassistant-cli?

It is built and maintained by xwings (@xwings); the current version is v1.0.10.

💬 Comments