← All tutorials
Cellar & hardware

Connecting fermentation sensors (Tilt, iSpindel, RAPT)

Floating hydrometers can push gravity and temperature straight into MakeWine over HTTP. Each fermentation batch gets its own webhook URLs and a private ingest token, so readings land on the right batch automatically.

Find your setup details

  1. Open the wine, then open the 📡 Hardware tab. If the wine has more than one batch, pick it from the Batch selector.
  2. Note the Fermentation ID shown in the callout — your device must include it in every payload. Active batches show an Active — accepting readings badge.
  3. For copy-paste URLs that already include your ingest token, go to Fermentations in the main navigation and press 📡 Sensor setup on the batch. You get one URL per device type (Tilt, iSpindel, RAPT) with a Copy button beside each.

The ingest token

Webhooks are public endpoints, so every push must carry the batch's ingest token — either appended to the URL as ?token=... (most sensor firmwares let you set the full POST URL) or sent as an X-Ingest-Token header. Requests without a valid token are rejected with a 401. If a token leaks, press Rotate token in the sensor setup panel; existing devices will then need the new URL.

Configure your device

All three endpoints accept an HTTP POST with JSON:

DeviceEndpointNotes
Tilt Hydrometer/api/webhooks/tiltVia Tilt Pi or a cloud bridge. Send fermentationId, color, gravity, temp, tempUnit — Fahrenheit is converted for you.
iSpindel/api/webhooks/ispindelStandard iSpindel HTTP push; the angle is stored as tilt. Add fermentationId as a custom parameter in the config portal.
RAPT Pill / generic/api/webhooks/raptSend fermentationId, gravity, temperature (Celsius) and tilt.

The 📡 Hardware tab shows a ready-made example payload and, for iSpindel, the exact server, port and path values to enter in its configuration portal.

Watch the data arrive

Back on the 📡 Hardware tab, the Live Readings chart plots gravity and temperature over time. Once readings flow you also get summary figures for Current gravity, Temperature and Attenuation — a quick read on how far fermentation has progressed. Data typically appears within minutes of the first successful push.

Troubleshooting

  • 401 response — the token is missing or wrong. Re-copy the URL from Sensor setup, or check the X-Ingest-Token header.
  • 400 "fermentation not found" — the fermentationId in the payload doesn't match an existing batch.
  • Nothing on the chart — confirm the device is POSTing JSON and that you're viewing the same batch in the Batch selector.

Sensor webhooks work on every plan, including the free Cellar Hand tier.

Can't find what you need? Browse all tutorials or check the Learn hub for winemaking knowledge.