https://github.com/openclaw/casa
Exposing your home base to Clawdbot!
https://github.com/openclaw/casa
Last synced: 4 months ago
JSON representation
Exposing your home base to Clawdbot!
- Host: GitHub
- URL: https://github.com/openclaw/casa
- Owner: openclaw
- Created: 2026-01-05T23:23:39.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-07T19:56:11.000Z (4 months ago)
- Last Synced: 2026-02-08T04:35:42.893Z (4 months ago)
- Language: Swift
- Size: 989 KB
- Stars: 19
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Casa

Casa is a Mac Catalyst app that exposes your local HomeKit data as a localhost-only REST API, plus a CLI for scripting. It is designed for automation, agents, and power users who want a fast, reliable bridge into HomeKit on their own machine.
## Highlights
- Local-only API (loopback, no remote access)
- HomeKit module is opt-in and off by default
- Built-in CLI for fast scripting and automation
- Onboarding flow for permissions and setup
- Works with existing Home and accessories
## Quick start
1) Open `Casa.xcodeproj` in Xcode.
2) Select your Team and enable the HomeKit capability.
3) Build and run the app.
4) Complete onboarding (enable HomeKit and install CLI).
Build from the terminal:
```
./scripts/restart-mac.sh
```
## Using the API
Default base URL:
```
http://127.0.0.1:14663
```
If you set an auth token in the app, pass `X-Casa-Token: `.
Common endpoints:
- `GET /health`
- `GET /homekit/accessories`
- `GET /homekit/accessories/:id`
- `GET /homekit/rooms`
- `GET /homekit/services`
- `GET /homekit/characteristics/:id`
- `PUT /homekit/characteristics/:id`
- `GET /homekit/schema`
- `GET /homekit/cameras`
- `GET /homekit/cameras/:id`
## CLI
The CLI is embedded into the app at build time and can be installed from Settings or onboarding.
Examples:
```
# Health check
casa health
# Browse HomeKit
casa devices
casa rooms
casa services
# Read/write a characteristic
casa characteristics get
casa characteristics set true
# Custom URL/token
CASA_URL=http://127.0.0.1:14663 CASA_TOKEN=token casa devices
```
## Development notes
- The server only binds to loopback (`127.0.0.1`).
- HomeKit access requires the entitlement; the module stays off until enabled in the app.
- If you change the port or auth token, update your CLI environment variables.
## Troubleshooting
- No accessories: confirm you have a Home in the Home app and grant HomeKit access in System Settings.
- Server not running: verify the port is free and check the app status badge.
- Missing CLI: use the Install CLI action in onboarding or Settings.
## Sparkle updates
Casa uses Sparkle for app updates. Set these build settings or environment values:
- `SPARKLE_FEED_URL` (appcast URL)
- `SPARKLE_PUBLIC_KEY` (Sparkle EdDSA public key)
The release workflow expects these secrets:
- `APPLE_CERT_BASE64`
- `APPLE_CERT_PASSWORD`
- `APPLE_TEAM_ID`
- `APPLE_SIGNING_IDENTITY`
- `APPLE_PROVISION_PROFILE_BASE64`
- `KEYCHAIN_PASSWORD`
- `SPARKLE_PRIVATE_KEY`
- `SPARKLE_PUBLIC_KEY`