Skip to main content
Version: 4.2

Local Home Assistant for Development

Use this setup to test the Home Assistant plugin locally without a real Home Assistant server. The FiestaBoard dev container connects to a Home Assistant container on the same Docker network.

This is for local development only. Only the FiestaBoard dev container is intended to talk to this Home Assistant instance.

Prerequisites

Start the dev stack with Home Assistant

Run both the FiestaBoard dev stack and the optional Home Assistant service:

docker-compose -f docker-compose.dev.yml -f docker-compose.ha.yml up -d

From inside the FiestaBoard container, Home Assistant is reachable at http://homeassistant:8123.

First-time login (no default password)

Home Assistant does not ship with a default username or password. The first time you open http://localhost:8123 you will see Create account: choose a name, username, and password.

Suggested for local dev only: when creating the account, use something easy to remember, e.g. username dev and password dev. (Do not use these on a real or exposed instance.)

If you already completed setup and forgot the password, you can reset and create a new account by removing the config volume (see Data persistence) and opening http://localhost:8123 again.

Configure FiestaBoard to use local Home Assistant

  1. Create a long-lived access token in Home Assistant

    • Open http://localhost:8123 and sign in (using the account you created above).
    • Go to Profile (your user, bottom left) → Long-Lived Access Tokens.
    • Create a token and copy it.
  2. Point FiestaBoard at the local HA container

    • In your project .env, set:
      • HOME_ASSISTANT_BASE_URL=http://homeassistant:8123
        (Use the hostname homeassistant so the container can resolve it; do not use localhost.)
      • HOME_ASSISTANT_ACCESS_TOKEN=<your_long_lived_token>
    • Or configure the same URL and token in the FiestaBoard UI: IntegrationsHome Assistant → enable and enter URL and token.
  3. Restart the FiestaBoard container if you changed .env:

    docker-compose -f docker-compose.dev.yml -f docker-compose.ha.yml restart fiestaboard

You can now use the Home Assistant plugin and entity picker in the UI; the dev container will talk to the local Home Assistant container.

Optional: MQTT so HA discovers FiestaBoard as a device

To have FiestaBoard appear as a controllable device in Home Assistant (switches, sensors, buttons), enable MQTT in your .env:

  • MQTT_ENABLED=true
  • MQTT_BROKER_HOST=mosquitto (use hostname mosquitto when using docker-compose.ha.yml)

Then restart the FiestaBoard container. After configuring the MQTT integration in HA to use the Mosquitto broker (Settings → Add integration → MQTT → broker mosquitto, port 1883), the FiestaBoard device and all its entities will appear automatically.

Stopping Home Assistant

To stop only Home Assistant and keep the dev stack running:

docker-compose -f docker-compose.dev.yml -f docker-compose.ha.yml stop homeassistant

To bring it back:

docker-compose -f docker-compose.dev.yml -f docker-compose.ha.yml start homeassistant

Data persistence

Home Assistant data (config, entities, token usage) is stored in a Docker volume homeassistant-config. It persists across container restarts. To reset:

docker-compose -f docker-compose.dev.yml -f docker-compose.ha.yml down
docker volume rm fiestaboard_homeassistant-config # exact name may vary by project name

Then start again; Home Assistant will go through first-time setup again.