c79e0a2d87227c987442c65b36e1d44823a73a8c
Smart Home — Home Assistant
Integration project for the home Home Assistant instance running on RogueOne.
Connection
| Host | R2D2 (Unraid, 10.10.40.10, VLAN 40) |
| Base URL | http://10.10.40.10:8123 |
| Version | Home Assistant 2026.7.2 |
| API | REST (/api/...), Bearer token auth |
| Status | ✅ Connected — token stored in Vaultwarden ("Home Assistant - R2D2") |
Auth token (one-time setup)
Home Assistant uses long-lived access tokens. Create one in the HA UI:
- Open
http://10.10.40.10:8123→ click your user name (bottom-left). - Security tab → scroll to Long-Lived Access Tokens → Create Token.
- Name it
claude-smart-home, copy the token (shown once).
Then store it — do not commit it to a file:
# Save to Vaultwarden org "Homelab - Claude" (preferred)
bw create ... "Home Assistant - R2D2" # already done — stored 2026-07-20
# Or just export it for the current shell
$env:HA_TOKEN = "<paste token>"
Usage (bun — this machine has no node)
$env:HA_TOKEN="..."; bun ha.js ping # verify connection + HA version
bun ha.js states # all entities -> data/states.json (+ domain summary)
bun ha.js states light # just the "light" domain
bun ha.js get light.kitchen # one entity
bun ha.js services # available services -> data/services.json
bun ha.js call light turn_on '{"entity_id":"light.kitchen"}'
Or use the wrapper (auto-pulls the token from Vaultwarden):
pwsh -File scripts\connect.ps1 ping
Layout
smart-home/
ha.js # bun HA REST client (ping/states/get/services/call)
config.example.json # baseUrl + which env var holds the token
config.json # (optional) local override, gitignored
scripts/connect.ps1 # pull token from Vaultwarden + run a command
data/ # entity/service dumps (gitignored)
Notes
- RogueOne is on the home LAN (
192.168.1.x), not the VLAN-30/40 lab network. - The token is never hard-coded —
ha.jsreads it from$env:HA_TOKEN.
Languages
JavaScript
93.5%
PowerShell
6.5%