gohome-clawdis

majiayu000's avatarfrom majiayu000

Use when Clawdis needs to test or operate GoHome (Home Assistant clone) via gRPC discovery, metrics, and Grafana.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026⬇️1downloads

When & Why to Use This Skill

The GoHome Clawdis skill empowers Claude to interact with and manage GoHome, a Home Assistant clone, through advanced observability and control interfaces. By integrating gRPC discovery, Prometheus metrics validation, and Grafana dashboard access, this skill enables automated system health checks, service exploration, and remote device operation within a smart home or IoT ecosystem.

Use Cases

  • Service Discovery: Automatically listing and describing available plugins and gRPC methods to understand the capabilities of the GoHome stack.
  • Health Monitoring: Validating the status of scrapers and system components by querying Prometheus metrics for real-time performance data.
  • Remote Operation: Executing safe or stateful RPC calls to control IoT devices, such as adjusting temperatures or toggling switches, with built-in safety approvals.
  • Visual Analysis: Accessing and navigating Grafana dashboards to visualize historical data and system trends for troubleshooting and optimization.
namegohome-clawdis
descriptionUse when Clawdis needs to test or operate GoHome (Home Assistant clone) via gRPC discovery, metrics, and Grafana.

GoHome Clawdis Skill

This skill teaches Clawdis how to discover capabilities and validate the GoHome stack using the repo CLI, Prometheus metrics, and Grafana.

Quick start

Set the target host and ports:

export GOHOME_HOST="gohome"
export GOHOME_HTTP_BASE="http://${GOHOME_HOST}"
export GOHOME_GRPC_ADDR="${GOHOME_HOST}:9000"

Use the repo-shipped CLI binary (preferred):

./bin/gohome-cli services

Use the CLI from source if needed:

go run ./cmd/gohome-cli services

If Go is not available, build with Nix and run the CLI from the result:

nix build .#packages.x86_64-linux.default
./result/bin/gohome-cli services

Discovery flow (read-only)

  1. List plugins:
GOHOME_GRPC_ADDR="$GOHOME_GRPC_ADDR" go run ./cmd/gohome-cli plugins list
  1. Describe a plugin:
GOHOME_GRPC_ADDR="$GOHOME_GRPC_ADDR" go run ./cmd/gohome-cli plugins describe tado
  1. List methods for a service:
GOHOME_GRPC_ADDR="$GOHOME_GRPC_ADDR" go run ./cmd/gohome-cli methods gohome.plugins.tado.v1.TadoService
  1. Call a safe RPC (read-only):
GOHOME_GRPC_ADDR="$GOHOME_GRPC_ADDR" go run ./cmd/gohome-cli call gohome.plugins.tado.v1.TadoService/ListZones --data '{}'

Metrics validation

Confirm the Tado scraper is healthy and metrics are present:

curl -s "${GOHOME_HTTP_BASE}/gohome/metrics" | rg -n "gohome_tado_"

Expect:

  • gohome_tado_scrape_success 1
  • zone temperature + humidity metrics

Grafana access

Grafana is proxied under:

${GOHOME_HTTP_BASE}/grafana/

Use MagicDNS (gohome) or set GOHOME_HOST to the tailnet FQDN if needed.

Stateful / destructive actions (require explicit approval)

Only call write RPCs after user approval. Example:

GOHOME_GRPC_ADDR="$GOHOME_GRPC_ADDR" go run ./cmd/gohome-cli call \
  gohome.plugins.tado.v1.TadoService/SetTemperature \
  --data '{"zone_id":"1","temperature_celsius":20.0}'

Troubleshooting

  • If DNS fails, verify MagicDNS is enabled and run tailscale status.
  • If metrics are missing, check gohome_tado_scrape_success and token validity.