Deploy Varco in 10 minutes
This is the shortest supported path: Home Assistant runs the Varco Authority, the consumer uses the public bridge, and the browser app installs @varco/client from npm.
1. Install Varco in Home Assistant
Section titled “1. Install Varco in Home Assistant”-
In HACS, open Custom repositories.
-
Add this repository with type Integration:
https://github.com/vekexasia/varco -
Install Varco.
-
Restart Home Assistant.
-
Go to Settings -> Devices & services -> Add integration.
-
Search for Varco and add it.
-
Keep the default bridge URL:
wss://varco-bridge.andreabaccega.com -
Leave Enable WebRTC on unless you want relay-only transport.
Manual installation is documented in Install Home Assistant.
2. Copy the Authority ID
Section titled “2. Copy the Authority ID”Open the Varco sidebar panel or browse to:
/varcoCopy the Authority ID. The consumer needs this public identifier to request access.
3. Build a minimal consumer
Section titled “3. Build a minimal consumer”Create a browser app and install the client:
npm install @varco/clientUse the Authority ID from Home Assistant:
import { createVarcoConsumerClient } from "@varco/client";
const client = createVarcoConsumerClient({ authorityId: "PASTE_AUTHORITY_ID_FROM_HOME_ASSISTANT", bridgeUrl: "wss://varco-bridge.andreabaccega.com", manifest: { name: "My dashboard", version: "0.1.0", read_entities: ["sensor.temperature"], subscriptions: ["sensor.temperature"], history: [], camera_snapshots: [], actions: [], },});
const access = await client.requestAccess();console.log("Pairing code", access.pairing_code);
// After approval in Home Assistant:await client.connect();const states = await client.getStates(["sensor.temperature"]);console.log(states);Deploy that app anywhere that can serve static browser assets, for example Cloudflare Pages, Vercel, Netlify, GitHub Pages, or your own web server.
4. Approve the request
Section titled “4. Approve the request”- Open the Varco panel in Home Assistant.
- Find the pending request.
- Compare the pairing code shown by the consumer with the code shown in Home Assistant.
- Review the manifest.
- Approve the request.
The grant is stored in Home Assistant and is bound to the consumer public key. The consumer never receives a Home Assistant token.
5. Verify it works
Section titled “5. Verify it works”- The consumer can call
connect()withoutnot_authorized. getStates()returns only approved entities.- The Varco panel shows the active grant.
- Refreshing the consumer reconnects with the same browser identity.
If pairing or reconnect fails, use Troubleshooting.
What to customize next
Section titled “What to customize next”- Add entity and action scopes in the Manifest reference.
- Use typed helpers from the Client API.
- Self-host the relay only if you need operational control; see Self-host the bridge.