← Back to Skills Marketplace
mischa-petschenig

minos

by Mischa-Petschenig · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
318
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install home-assistant-bridge-python
Description
Control Home Assistant devices, read sensors, and manage automations using the Python Bridge. Use when the user wants to interact with their smart home - tur...
README (SKILL.md)

Home Assistant Skill (Python Bridge)

Integration with Home Assistant via Python Bridge for reliable smart home control.

Prerequisites

  • Home Assistant instance running (local or remote)
  • Long-lived access token from HA profile
  • Network connectivity to HA instance
  • Python 3 with requests module

Configuration

One-time setup:

cd /root/.openclaw/workspace/skills/home-assistant/scripts
./ha-setup.sh

This creates ~/.homeassistant.conf with your HA_URL and HA_TOKEN.

Load configuration:

source ~/.homeassistant.conf

Core Commands

All commands go through ha-bridge.py. Aliases are supported everywhere — use friendly names instead of entity IDs.

Device Control

python3 ha-bridge.py on \x3Centity|alias>          # Turn on
python3 ha-bridge.py off \x3Centity|alias>         # Turn off
python3 ha-bridge.py toggle \x3Centity|alias>      # Toggle
python3 ha-bridge.py on \x3Centity> --verify       # Turn on + verify state after 3s

Examples:

python3 ha-bridge.py on kitchen                 # Alias → switch.kitchen_light_relay
python3 ha-bridge.py off tv --verify            # Turn off + verify
python3 ha-bridge.py toggle bedroom             # Toggle bedroom light

Light Control

python3 ha-bridge.py light \x3Centity|alias> --brightness \x3C0-255>
python3 ha-bridge.py light \x3Centity|alias> --color-temp \x3Cmireds>
python3 ha-bridge.py light \x3Centity|alias> --rgb "255,0,0"

Examples:

python3 ha-bridge.py light bedroom --brightness 128
python3 ha-bridge.py light kitchen --rgb "255,200,100"

Climate Control

python3 ha-bridge.py climate \x3Centity|alias> --temperature \x3Cvalue>
python3 ha-bridge.py climate \x3Centity|alias> --mode \x3Cheat|cool|auto|off>

Scene Activation

python3 ha-bridge.py scene \x3Cscene_entity>

Read States

python3 ha-bridge.py states                     # All entities (JSON)
python3 ha-bridge.py state \x3Centity|alias>       # Specific entity (JSON)

Search Entities

python3 ha-bridge.py search \x3Cquery>             # Search by name or entity_id
python3 ha-bridge.py search licht               # Find all "licht" entities
python3 ha-bridge.py search temp --domain sensor  # Only sensors matching "temp"

History

python3 ha-bridge.py history \x3Centity|alias>              # Last 24h
python3 ha-bridge.py history kitchen --hours 48           # Last 48h

Aliases

python3 ha-bridge.py aliases                    # Show all configured aliases

Aliases are stored in scripts/aliases.json. Edit directly to add/change/remove.

Services

python3 ha-bridge.py services                   # List all available HA services

Alias System

Aliases map friendly names to entity IDs. Stored in scripts/aliases.json:

{
  "kitchen": "switch.kitchen_light_relay",
  "bedroom": "light.bedroom_led_strip",
  "thermostat": "climate.living_room"
}

Use aliases anywhere an entity ID is expected.

Aliases

Aliases are stored in scripts/aliases.json. Copy scripts/aliases.example.json as starting point:

cp scripts/aliases.example.json scripts/aliases.json

Then edit with your own device mappings. Use python3 ha-bridge.py search \x3Cquery> to find entity IDs.

Status Delay Note

Home Assistant needs 1-3 seconds to update state after a command. Use --verify to auto-check after 3 seconds.

File Structure

skills/home-assistant/
├── SKILL.md                          # This file
├── README.md                         # Human-readable docs
├── scripts/
│   ├── ha-bridge.py                  # Main bridge (all commands)
│   ├── ha-setup.sh                   # One-time setup
│   ├── aliases.json                  # Your alias mappings (create from example)
│   └── aliases.example.json          # Example alias mappings
└── references/
    └── finding-entities.md           # How to find entity IDs
Usage Guidance
This package is coherent with its stated purpose, but take these precautions before installing: - Verify the HA_TOKEN handling: ha-setup.sh saves your long-lived HA token to ~/.homeassistant.conf (permissions set to 600). Consider whether you want a file-stored token or prefer exporting the token into the current shell session only. Do not add the source line to ~/.bashrc unless you understand the tradeoff of persisting the token in your shell startup. - Confirm the setup path: SKILL.md instructs cd to /root/.openclaw/... which may not match your system. Run ha-setup.sh from the actual scripts directory included with the skill. - Inspect the code locally before running: the Python script issues API calls only to the HA_URL you provide and does not contact other endpoints, but you should still review it if you have higher security needs. - Use a dedicated long-lived token with minimal privileges if possible, and rotate it if compromised. - Ensure requests is installed in a controlled environment (virtualenv) to avoid interfering with system packages. If you want the registry metadata to be more accurate, ask the author to declare HA_URL and HA_TOKEN as required env vars/primary credentials and to avoid hardcoded paths in SKILL.md.
Capability Analysis
Type: OpenClaw Skill Name: home-assistant-bridge-python Version: 1.0.0 The Home Assistant skill bundle is a well-structured integration for controlling smart home devices via the Home Assistant REST API. It includes a setup script (ha-setup.sh) that securely stores user-provided credentials in a local configuration file with restricted permissions (600) and a Python bridge (ha-bridge.py) that implements standard API calls for device management, state retrieval, and history. No evidence of data exfiltration, malicious execution, or prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description, CLI, and Python code all implement Home Assistant control via REST API. Required tools (Python + requests) and the behaviors (turn_on/off, lights, climate, search, history) are coherent with the stated purpose. No unrelated cloud providers, services, or binaries are requested.
Instruction Scope
Runtime instructions ask you to run ha-setup.sh which prompts for HA_URL and a long-lived HA_TOKEN and writes them to ~/.homeassistant.conf; they also instruct sourcing that file and optionally adding it to ~/.bashrc. The SKILL.md hardcodes a setup path (/root/.openclaw/workspace/skills/home-assistant/scripts) which may not match your environment and could confuse non-root users. The instructions do not attempt to read or transmit unrelated system files or external endpoints beyond the Home Assistant URL.
Install Mechanism
There is no install spec that downloads code from arbitrary URLs. The skill is instruction-only but does include local scripts bundled with the skill. No remote install/extract operations or third-party package downloads are performed by the skill itself.
Credentials
The skill genuinely needs a Home Assistant URL and long-lived token (HA_URL, HA_TOKEN) which the setup script stores in ~/.homeassistant.conf and the Python client also accepts from environment variables. However, the registry metadata lists no required environment variables or primary credential — an inconsistency you should be aware of. Storing long-lived tokens in a file is functional but requires caution.
Persistence & Privilege
The skill does not request forced/always-on installation and does not modify other skills or system-wide agent settings. The only persistent change the setup script suggests is writing ~/.homeassistant.conf and optionally adding a source entry to ~/.bashrc (user-level changes under your control).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install home-assistant-bridge-python
  3. After installation, invoke the skill by name or use /home-assistant-bridge-python
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Major update: Switched from bash CLI to Python Bridge for all Home Assistant control and automation. - New Python-based bridge script (ha-bridge.py) with comprehensive commands for device control, state queries, history, and scenes. - Alias system introduced: Use `aliases.json` to map friendly names to Home Assistant entity IDs. - One-time interactive setup script (`ha-setup.sh`) for configuration. - Documentation expanded: added concise usage guide in README.md and detailed reference on finding entity IDs. - Removed legacy bash scripts and outdated API reference.
Metadata
Slug home-assistant-bridge-python
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is minos?

Control Home Assistant devices, read sensors, and manage automations using the Python Bridge. Use when the user wants to interact with their smart home - tur... It is an AI Agent Skill for Claude Code / OpenClaw, with 318 downloads so far.

How do I install minos?

Run "/install home-assistant-bridge-python" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is minos free?

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

Which platforms does minos support?

minos is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created minos?

It is built and maintained by Mischa-Petschenig (@mischa-petschenig); the current version is v1.0.0.

💬 Comments