Skip to content

Reference

Go Automate is a command-line tool built on urfave/cli. It talks to Home Assistant over the WebSocket API and runs a local bridge that shares a single connection with every watcher on your machine.

When you run a command that needs Home Assistant, Go Automate:

  1. Loads your configuration (URL and token).
  2. Opens a WebSocket to /<scheme>://<host>/api/websocket and authenticates with the token.
  3. Sends the request (a service call, a state read, or an event subscription).

The bridge does the same upstream connection once and keeps it open, then serves cached state and live updates to local clients over a Unix socket. This keeps many watchers cheap: they connect to the socket instead of each opening their own WebSocket to Home Assistant.