nicolaischmid/openclaw · Archived

homeassistant

Control Home Assistant (lights, switches, climate, scenes, scripts) via the Home Assistant REST API. Use when Nicolai asks to control devices at home, query entity states, or run Home Assistant services.

First seen Jun 19, 2026

Installation

$ npx skills add nicolaischmid/openclaw --skill homeassistant

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch master
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,949 B
  • docs SUMMARY.md 224 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Home Assistant (REST) — Quick Use

Security first

  • Prefer a dedicated Home Assistant user for this assistant.
  • Use a Long-Lived Access Token (LLAT) from that user.
  • Never commit tokens to git; store them in secrets/ (gitignored).
  • If HA is exposed on the public internet, ensure HTTPS, strong auth, and ideally IP restrictions / VPN.

Setup (one-time)

  1. Set your HA base URL (you have: https://ghar.nicolaischmid.de).
  2. Save token to a local secret file:

- mkdir -p /root/.openclaw/workspace/secrets - chmod 700 /root/.openclaw/workspace/secrets - write token to: /root/.openclaw/workspace/secrets/hatoken - chmod 600 /root/.openclaw/workspace/secrets/hatoken

Optional env overrides:

  • HAURL (default taken from secrets/haurl if present)
  • HATOKEN (default read from secrets/hatoken)

Inventory / context

  • The current device/entity overview lives in:

- skills/homeassistant/references/inventory-nice.md (most useful controls) - skills/homeassistant/references/inventory.md (broader controllable list)

  • Refresh anytime by running:

- node scripts/ha-refresh-context.mjs

Commands

Wrapper script (JSON by default):

  • Ping:

- node scripts/ha.mjs ping

  • Get entity state:

- node scripts/ha.mjs state light.living_room

  • Call a service:

- node scripts/ha.mjs call light turnon '{"entityid":"light.livingroom","brightnesspct":50}'

  • List entities (compact):

- node scripts/ha.mjs list --domain light

REST endpoints (reference)

  • GET /api/
  • GET /api/states/<entity_id>
  • POST /api/services/<domain>/<service> with JSON body

Docs: