Skip to content

Reporting

Sean Cardus edited this page May 17, 2026 · 1 revision

Reporting Tab

The Reporting tab configures off-device data targets — Brewer's Friend, Brewfather, and MQTT. Each target is configured here once and then enabled per-fermenter on the Fermenters tab.

The tab shows three cards: Brewer's Friend, Brewfather, and MQTT.


Brewer's Friend

Uploads temperature and gravity data to a Brewer's Friend custom stream.

Field Description
Enabled Master switch for the service. When off, no uploads happen regardless of per-fermenter toggles.
Device Name Friendly name sent with each payload (e.g. OurBrewbot).
API Key Your Brewer's Friend stream API key. Get it from your Brewer's Friend account → Profile → API.

Use the Test button to send a single test payload and verify connectivity. The result appears next to the button.

When enabled, each fermenter that has the Brewer's Friend toggle on (on the Fermenters tab) is uploaded on the controller's normal reporting cadence.


Brewfather

Uploads to the Brewfather Custom Stream API.

Field Description
Enabled Master switch for the service.
Device Name Friendly name sent with each payload.
Stream ID Your Brewfather custom-stream ID. Get it from Brewfather → Settings → Power-ups → Custom Stream. Copy the path segment after /stream/.

The Test button sends a single payload. Successful test payloads appear immediately in the Brewfather stream-history page.


MQTT

Publishes per-fermenter state to any MQTT broker. Also drives the Home Assistant integration if HA Discovery is enabled.

Field Description
Enabled Master switch for the MQTT client.
Broker Host DNS name or IP of the MQTT broker (e.g. homeassistant.local, 192.168.0.5).
Port Broker port — usually 1883 for plain TCP, 8883 for TLS (TLS not currently supported by the firmware).
Username / Password Broker credentials. Leave blank for anonymous brokers.
Base Topic Topic prefix for all publishes. Default ourbrewbot. Final topics become <baseTopic>/<DeviceName>/Fermenter<N>/....
HA Discovery When on, the device publishes Home Assistant MQTT discovery payloads so HA entities are auto-created. See the Home Assistant section of the project README for entity-type details.
Allow HA Control When on, the device subscribes to <baseTopic>/+/+/set and accepts commands from HA (turn power on/off, change setpoints, etc.). When off, HA entities are read-only.
Publish Logs When on, log lines are also published as MQTT messages to <baseTopic>/Device/log. Useful for centralised logging or HA-side log feeds.

MQTT Buttons

Button Effect
Save Persists the settings. The MQTT client reconnects if needed.
Test Connects to the broker once and reports success or the underlying error.
Discover Forces a re-publish of all HA discovery topics now. Useful after re-adding the integration in HA, or after toggling settings.

When MQTT is enabled, the Fermenters tab shows an additional per-fermenter MQTT toggle that selects whether that fermenter's data is published.


How Reporting Maps to Fermenters

Enabling a service here is not enough on its own — each service needs to be turned on per-fermenter too:

  1. Configure the service here (API key, broker, etc.) and tick Enabled.
  2. Click Test to verify connectivity.
  3. Save.
  4. Go to the Fermenters tab. For each fermenter that should be reported, tick the matching service toggle (Brewer's Friend, Brewfather, MQTT).

The split is intentional — you can have a "test" fermenter that doesn't pollute your Brewfather logs, or one fermenter that goes to HA via MQTT while another goes to Brewfather.


Tips

  • Get the device on Home Assistant in two steps: Enable MQTT, tick HA Discovery, click Test. Entities appear automatically with no YAML.
  • Brewer's Friend and Brewfather both rate-limit uploads — sending more often than 15 minutes may be ignored. The controller's default cadence is well within those limits.
  • Stream ID vs API Key — Brewfather uses a Stream ID (a UUID-like token from the Custom Stream URL), not an API key.
  • Allow HA Control off but discovery on is a useful "read-only dashboard" mode — the entities show in HA but can't be commanded from there.
  • MQTT password is sent as-is over plain TCP. Treat it as low-security unless your broker is on a trusted network.

Clone this wiki locally