RAPT Account

Your Kegland RAPT credentials. Get your API secret from your RAPT account at api.rapt.io.

MQTT Broker

Connection details for your MQTT broker (e.g. Mosquitto). RAPT2MQTT publishes device data here.

HA device to notify (e.g. mobile_app_my_phone). Publishes to homeassistant_notifications. Leave blank to disable.

Home Assistant

Automatically creates sensors in Home Assistant via MQTT discovery.

Controls which brew events publish to MQTT for phone notifications.

RAPT2MQTT Bridge

The bridge connects to the RAPT cloud API and your MQTT broker, polling your devices and publishing data. Stop and restart after changing credentials.

Console

Dashboard

Select devices to monitor. Values refresh automatically.

Charts

Active Brews

Brew History

No previous brews.

Start a New Brew

🍺

--

Active

Devices & Configuration

Hydrometer
--
Controller
--
Temp Source
--
Beer Target
--
Beer Temp
--
Fridge Temp
--
Specific Gravity
--
ABV
--
OG
--
Fridge Target
--

Fermentation

-- ABV
--

Beer Temperature

--

Specific Gravity

--

Fridge Controller

--

Fermentation Chart

Add Extra Series

Manually add extra data series to the chart beyond the default Actual Temp, Target Temp, and SG.

Smart Temperature Feedback

Reminders & Notifications
Recipe

Brew Log

Legendary Brews

Your completed brews, rated and documented for posterity. Every great beer deserves a story.

🏆

Coopers DIY Beer Recipes

385 recipes compiled by the legendary Shamus O'Sean from the DIY Beer Community. Years of work cataloguing every Coopers recipe with full ingredients, hop schedules, grain bills, and brewing notes. An absolute treasure for the homebrewing community.

Spreadsheet version 3.04.26. Data extracted and made interactive here. All recipe links point to the original Coopers DIY Beer recipe pages.

🌡

--

--
Current Temperature
--
Target Temperature
--
Mode
--

Device Info

Name--
Device Type--
Use--
MAC Address--
Firmware--
Signal--
Temp Unit--
Sensor--
Telemetry Frequency--
Last Activity--

Runtime Stats

Total Runtime--
Cooling Runtime--
Cooling Starts--
Heating Runtime--
Heating Starts--

Controller Settings

Cooling Allowed--
Heating Allowed--
PID Enabled--
Cooling Hysteresis--
Heating Hysteresis--
Compressor Delay--
Mode Switch Delay--
High Temp Alarm--
Low Temp Alarm--
Bluetooth--

Signal Strength

Target Temperature

Change the target temperature on the RAPT controller via cloud API.

PID Control

Toggle PID mode and tune parameters. Changes are sent to the RAPT API.

PID is currently: --

Device Management

All devices that have ever connected to RAPT2MQTT. Customize names, add photos, or forget devices you no longer use.

What is a Tilt Hydrometer?

The Tilt is a wireless floating hydrometer that sits inside your fermenter and continuously measures specific gravity and temperature. No samples, no mess, no opening the fermenter.

Available in 8 colours — run up to 8 fermenters simultaneously, each tracked independently.

How It Works

1
Drop it in

Sanitise the Tilt and drop it into your fermenter before sealing. It floats upright in the beer.

2
Bluetooth broadcast

The Tilt uses a tilt angle sensor and thermometer to measure gravity and temperature. It broadcasts readings via Bluetooth Low Energy (BLE) every few seconds.

3
TiltPi receives

A Raspberry Pi Zero WH running TiltPi software sits near the fermenter, picks up the BLE signal, and forwards readings to your network via MQTT.

4
RAPT2MQTT displays

RAPT2MQTT receives the MQTT data and gives you live charts, brew session tracking, and smart temperature feedback when paired with a RAPT controller.

What You Need

💧
Tilt Hydrometer

The floating sensor itself. Battery lasts ~1 year of continuous use. Waterproof, food-safe plastic tube.

~$135 USD
📡
Raspberry Pi Zero WH

The BLE receiver. Has built-in Bluetooth and WiFi. Sits near the fermenter, forwards data to your network. Cheap and low power.

~$17 USD
💾
MicroSD Card

8GB or larger. Flash the free TiltPi image and boot. That's the whole install.

~$8 USD

Total cost to get started: ~$160 USD for the Tilt + Pi setup. You probably already have an SD card.

Why Not Just Use a Manual Hydrometer?

Manual Hydrometer Tilt Hydrometer
Reading frequency When you remember Every few seconds, 24/7
Open the fermenter? Yes, every time Never (after dropping it in)
Infection risk Every sample Zero
Know when fermentation is done Guess and check Watch the curve flatten in real time
Temperature logging Nope Continuous, in the beer itself
Middle-of-the-night readings Set an alarm Already logged

What About TiltPico?

Baron Brew also sells the TiltPico ($45 USD) — a WiFi-only bridge. It works, but it only speaks HTTP (no MQTT), only supports one Tilt at a time, and requires their cloud service for remote access.

A Raspberry Pi Zero WH ($17 USD) running TiltPi does everything the Pico does plus MQTT publishing, multi-Tilt support, and full local control — for less than half the price. We recommend the Pi.

Reviews & Reputation

The Tilt has been the go-to wireless hydrometer in the homebrewing community since 2015. It's used by thousands of homebrewers and small commercial breweries worldwide.

  • Homebrew Academy: "The Tilt changed how I brew. I can't go back to manual readings."
  • Brulosophy: "One of the most useful brewing gadgets available."
  • Reddit r/homebrewing: Consistently recommended as the best gravity monitoring solution.

The Tilt is manufactured by Baron Brew Equipment LLC in the USA.

Where to Buy

Available directly from the manufacturer and authorised retailers:

Links may contain affiliate codes. Purchases help support RAPT2MQTT development.

Nerd Stuff

iBeacon UUID Colour Key

Each Tilt colour has a unique iBeacon UUID. The only byte that changes is position 4 (highlighted):

ColourUUID
Reda495bb10-c5b1-4b44-b512-1370f02d74de
Greena495bb20-c5b1-4b44-b512-1370f02d74de
Blacka495bb30-c5b1-4b44-b512-1370f02d74de
Purplea495bb40-c5b1-4b44-b512-1370f02d74de
Orangea495bb50-c5b1-4b44-b512-1370f02d74de
Bluea495bb60-c5b1-4b44-b512-1370f02d74de
Yellowa495bb70-c5b1-4b44-b512-1370f02d74de
Pinka495bb80-c5b1-4b44-b512-1370f02d74de

Pattern: a495bb{10-80}c5b14b44b5121370f02d74de — increments of 0x10 per colour.

BLE Broadcast Format

The Tilt broadcasts as an iBeacon. The two data fields piggyback on the iBeacon spec:

  • Major value = Temperature in Fahrenheit (raw integer, e.g. 68)
  • Minor value = Specific gravity × 1000 (e.g. 1045 = SG 1.045)
  • TX Power = Used for RSSI distance estimation (standard iBeacon field)

The Tilt doesn't use Celsius or decimal SG natively — all conversion happens on the receiving end.

How Gravity is Measured

The Tilt is a sealed tube with a weighted bottom. As the beer's density (sugar content) decreases during fermentation, the tube tilts further from vertical. An accelerometer inside measures the tilt angle, which maps to specific gravity via a calibration curve. More sugar = more buoyant = more upright.

BLE Range & Practical Limits

  • Bluetooth Low Energy theoretical range: ~100m open air
  • Through a stainless steel fermenter: 1-3 metres
  • Through a glass carboy or plastic bucket: 5-10 metres
  • The Pi Zero WH should sit within a few metres of the fermenter for reliable reception
  • Broadcast interval: ~1 second (the Tilt is always transmitting while the battery is in)

Battery

CR123A lithium cell. Lasts approximately 12 months of continuous broadcasting. The Tilt has no off switch — remove the battery when not in use to conserve it. Replacement batteries are a couple of dollars.

TiltPi Data Pipeline

The stock TiltPi runs Node-RED v0.18.4 on Raspbian. The flow works like this:

  1. A Python script (tiltScanner.py) runs as a service, scanning for iBeacon advertisements
  2. Detected Tilt data is written to a JSON file in /var/www/html/
  3. Node-RED reads the JSON file on a 5-second inject timer
  4. A series of "check" function nodes compare current vs. previous readings for each colour slot
  5. Changed readings update the Node-RED dashboard and optionally log to Google Sheets or cloud services

The RAPT2MQTT upgraded flow adds an MQTT output node that publishes per-colour JSON to your broker, making the data available to any MQTT subscriber.

Next Step: Set Up TiltPi

Got your Tilt and Pi? Head to TiltPi Setup to flash the image, connect to MQTT, and start seeing live data in RAPT2MQTT.

What is RAPT?

RAPT (Real Ale Precision Technology) is a line of connected brewing equipment by Kegland, an Australian brewing supply company. The RAPT ecosystem gives you cloud-connected fermentation control with real-time monitoring from anywhere.

The RAPT Temperature Controller

The flagship product for fermentation. A WiFi-enabled temperature controller that manages heating and cooling in your fermentation fridge or chamber.

🌡
Precision Control

PID-based temperature regulation. Set your target and the controller handles heating and cooling relays automatically.

📶
WiFi Connected

Connects to your home WiFi and reports to the RAPT cloud. Monitor and adjust from anywhere via the RAPT Portal or API.

❄️
Heat & Cool

Two relay outputs — one for heating (heat belt, heat pad) and one for cooling (fridge compressor). Switchover delay protects your compressor.

📊
Cloud API

Full REST API at api.rapt.io. RAPT2MQTT polls this to bring your data into MQTT and Home Assistant without any extra hardware.

How It Connects

1
Controller joins WiFi

Plug in the RAPT controller, connect to your home WiFi via the setup process. It registers with the RAPT cloud automatically.

2
Cloud stores data

The controller reports temperature, mode, and status to api.rapt.io. All data is accessible via their REST API with your API secret.

3
RAPT2MQTT polls the API

Every 5 minutes (configurable), RAPT2MQTT fetches your device data from the cloud and publishes it to your local MQTT broker.

4
Home Assistant picks it up

Your MQTT broker feeds the data into Home Assistant, giving you native sensors, dashboards, and automations for your fermentation setup.

What You Need

🏛
RAPT Temperature Controller

The controller unit itself. Includes a temperature probe, two relay outputs, and WiFi. Powers from a standard outlet.

~$69 AUD
💻
RAPT Account + API Secret

Free account at rapt.io. Create an API secret under My Account > API Secrets. This is how RAPT2MQTT authenticates.

Free
📦
Docker Host

Any machine running Docker — Unraid, Synology NAS, Raspberry Pi 3/4, old laptop, VM. Runs RAPT2MQTT and your MQTT broker.

You probably have this

The Wider RAPT Ecosystem

Kegland makes more than just the temperature controller. The RAPT platform includes:

  • RAPT Pill: A wireless hydrometer (Kegland's competitor to the Tilt). Floats in your fermenter, reports gravity and temperature via the RAPT cloud.
  • RAPT Portal: The web dashboard at rapt.io where you can monitor devices, view charts, set up brew profiles, and manage your API credentials.
  • KegLand App: Mobile app for iOS and Android. Real-time device monitoring on the go.

RAPT2MQTT currently supports the Temperature Controller. RAPT Pill support may come in the future.

RAPT vs Other Controllers

Inkbird ITC-308 RAPT Controller
WiFi / Remote control No (basic model) / Yes (WiFi model) Yes, built-in
Cloud API No Yes, full REST API
PID control Simple on/off with hysteresis Full PID with tunable parameters
Home Assistant integration Manual / IR hacks Via RAPT2MQTT (MQTT)
Smart feedback (beer temp) Not possible With Tilt via RAPT2MQTT
Logging None Cloud + RAPT2MQTT local history

Where to Buy

Available from Kegland directly and authorised retailers:

Links may contain affiliate codes. Purchases help support RAPT2MQTT development.

Nerd Stuff

RAPT Cloud API

The RAPT API lives at api.rapt.io. Authentication is OAuth2 client credentials:

  • Token endpoint: https://id.rapt.io/connect/token
  • Grant type: password (your RAPT email + API secret)
  • Token lifetime: 3600 seconds (1 hour). RAPT2MQTT refreshes at ~56 minutes.
  • API base: https://api.rapt.io/api/

The API secret is not your account password. It's generated separately under My Account > API Secrets in the RAPT Portal.

Endpoints Used by RAPT2MQTT

MethodEndpointPurpose
GET/Hydrometers/GetHydrometersList all registered controllers
GET/Hydrometers/GetHydrometer/{id}Detailed state for one controller
POST/Hydrometers/SetTargetTemperature/{id}Change the target setpoint
POST/Hydrometers/SetPID/{id}Update PID tuning parameters

Yes, the API calls temperature controllers "Hydrometers" — a holdover from the RAPT Pill (their hydrometer product). The same endpoints serve both device types.

POST Encoding Gotcha

The RAPT API expects form-encoded POST bodies (Content-Type: application/x-www-form-urlencoded), not JSON. If you're building your own integration, watch out: sending json= instead of data= in Python requests will silently fail — the API returns 200 but does nothing. No error, no clue. RAPT2MQTT handles this correctly, but it's a common trap in the RAPT API.

PID Controller

The RAPT controller runs a PID loop internally. The three tunable parameters:

  • P (Proportional): How aggressively it responds to the current error. Higher = faster but more overshoot.
  • I (Integral): Corrects for sustained offsets over time. Eliminates steady-state error.
  • D (Derivative): Dampens oscillation by responding to the rate of change.

Default PID values work well for most setups. Only tune if you're seeing persistent oscillation or slow convergence.

Smart Feedback (RAPT2MQTT Feature)

When you pair a Tilt (in the beer) with a RAPT controller (on the fridge), RAPT2MQTT can run a cascaded P-only control loop:

  1. You set a beer target temperature (what you want the beer at)
  2. The Tilt reads the actual beer temperature every few minutes
  3. RAPT2MQTT calculates the error: target - actual
  4. It adjusts the fridge target on the controller to compensate
  5. The controller's internal PID handles the fridge air temp — RAPT2MQTT only nudges the setpoint

Why P-only (no I or D)? The sample rate is 5 minutes and the hardware has its own delays. Adding integral or derivative terms at this timescale causes oscillation, not improvement. The P-only approach was validated through testing and is deliberate.

Polling & Rate Limits

  • Default poll interval: 300 seconds (5 minutes)
  • RAPT API rate limit: not officially documented, but polling faster than every 60 seconds risks throttling
  • The controller itself only reports to the cloud every ~60 seconds, so polling faster than that gains nothing
  • RAPT2MQTT stores all readings locally in SQLite — you never lose data even if the cloud goes down temporarily

MQTT Topic Structure

TopicDirectionPayload
RAPT/temperatureControllerPublishJSON controller state (temp, target, mode, RSSI, etc.)
RAPT/temperatureController/CommandSubscribeJSON command (e.g. set target temp)
TiltPiSubscribeJSON from TiltPi (all colours, flat topic)
TiltPi/{colour}SubscribePer-colour JSON from upgraded TiltPi flow
homeassistant_notificationsPublishNotifications with target_device for HA phone push

Next Step: Configure RAPT2MQTT

Got your controller and API secret? Head to Settings to enter your credentials and start bridging data.

TiltPi Setup

Your TILT hydrometer floats inside the fermenter, silently broadcasting temperature and gravity over Bluetooth. But Bluetooth has a range of about 10 metres and no concept of WiFi, MQTT, or your network. Something needs to sit near the fermenter, hear those broadcasts, and relay the data to the rest of your system.

That something is a TiltPi -- a Raspberry Pi Zero WH running Node-RED, acting as a Bluetooth-to-WiFi bridge. It's the only piece of hardware between your TILT and RAPT2MQTT.

This page lets you find your TiltPi on the network, inspect what software it's running, and upgrade it with one click to unlock everything RAPT2MQTT needs.

How does a TiltPi work?

The Hardware

A TiltPi is just a Raspberry Pi Zero WH (~$17) with a pre-flashed SD card. The Pi Zero WH has built-in Bluetooth LE and WiFi -- that's all you need. It sits near your fermenter (within ~10m Bluetooth range), plugged into USB power.

There's no custom circuit board, no proprietary hardware. It's a standard Pi running standard software. You could build one yourself with a blank Pi Zero WH and the TiltPi SD card image from tilthydrometer.com.

The Software: Node-RED

Inside, TiltPi runs Node-RED -- a visual flow-based programming tool. The stock TiltPi flow does this:

TILT broadcasts iBeacon via Bluetooth LE every ~5 seconds
Pi Zero WH picks up the BLE signal using aioblescan (Python)
Node-RED decodes the iBeacon: UUID identifies the colour, major = temperature, minor = gravity
Calibration applied (if you've set calibration points in the TiltPi dashboard)
Dashboard display (http://tiltpi.local:1880/ui) Google Sheets cloud logging (optional)

That's it. Stock TiltPi has no MQTT output. The data stays on the Pi's dashboard and optionally goes to Google Sheets. Your local network, Home Assistant, and RAPT2MQTT can't see it.

How Colour Detection Works

Each TILT colour has a unique Bluetooth UUID baked into the hardware. When the Pi scans for BLE devices, it matches the UUID to a colour table:

RED
GREEN
BLACK
PURPLE
ORANGE
BLUE
YELLOW
PINK

The Pi doesn't need to be told which colour to look for. It discovers whatever TILTs are broadcasting nearby -- up to 8 colours simultaneously.

What About TiltPico?

Tilt sells a TiltPico ($45) -- a Raspberry Pi Pico W with fixed firmware that does BLE-to-WiFi bridging. It's simpler but HTTP only, no MQTT, no Node-RED, no extensibility. A Pi Zero WH ($17) does everything TiltPico does and more, for less than half the price. RAPT2MQTT works with TiltPi, not TiltPico.

What does the RAPT2MQTT upgrade do?

We don't touch your TILT. The TILT hydrometer is a sealed device floating in your beer. It has no software to update, no settings to change. It just broadcasts.

What we upgrade is the Node-RED flow on your TiltPi -- the software that decides what to do with the data after the Pi receives it. Think of it like upgrading the app on your phone, not the sensor itself.

What stays the same

  • BLE scanning pipeline -- the same aioblescan process listens for your TILT
  • TiltPi dashboard -- still accessible at http://tiltpi.local:1880/ui
  • Calibration points -- your SG and temperature calibrations are preserved
  • Google Sheets cloud logging -- still works if you had it configured
  • All 8 display slots -- the dashboard still shows all detected TILTs

What gets added

  • MQTT output -- your TILT data gets published to your MQTT broker, where RAPT2MQTT (and Home Assistant) can read it
  • All colours, not just one -- stock TiltPi's MQTT scrape (if you added one manually) only sees the first detected TILT. The upgrade publishes every colour on its own topic (TiltPi/BLUE, TiltPi/RED, etc.)
  • Enriched data -- instead of just temperature and gravity, the MQTT message includes:
FieldWhat it isStock MQTTUpgraded
TemperatureIn-liquid beer temperature (Celsius)
GravitySpecific gravity as decimal (1.045)SG x 1000
ColourWhich TILT (BLUE, RED, etc.)
RSSIBluetooth signal strength (dBm)
tx_powerTransmit power / battery indicator
CalibratedWhether calibration points are applied
Beer NameName set in TiltPi dashboard
Pro ModelWhether it's a TILT Pro (higher precision)
MAC AddressHardware ID for same-colour TILTs
TimestampWhen the reading was taken

Known TiltPi quirk: the nuclear disconnect

There's a bug in the stock TiltPi flow worth knowing about. Each TILT colour has a "check" function that monitors whether the TILT is still in Bluetooth range. When one TILT goes stale (no signal for ~2 minutes), the check function doesn't just clear that TILT's data — it clears all 25 storage slots for every colour, plus the selection dropdown. If you have two TILTs running two brews, one going out of range causes every other TILT to flicker and re-detect.

This only affects the TiltPi's local dashboard display. RAPT2MQTT's MQTT nodes tap in upstream of the check functions, so your data in RAPT2MQTT is unaffected. RAPT2MQTT handles device timeouts its own way — if a TILT stops broadcasting, the last reading stays on the dashboard and charts continue normally.

The data flow with RAPT2MQTT nodes

TILT broadcasts via Bluetooth LE
TiltPi receives, decodes, calibrates (same as before)
Dashboard + Google Sheets (unchanged) MQTT broker (new)
RAPT2MQTT picks up the MQTT message, records history, shows charts, enables smart feedback

Find Your TiltPi

RAPT2MQTT will scan your local network for any device running Node-RED on port 1880. If your TiltPi isn't found automatically, enter its IP address directly.

Tip: check your router's DHCP client list for a device called "tiltpi" if you don't know the IP.

About RAPT2MQTT

Version ...

RAPT2MQTT is an open-source bridge between Kegland RAPT brewing devices and MQTT, built for homebrewers who want real control over their fermentation.

This project was born from frustration with cloud-only brewery management. Your data should live on your network, in your Home Assistant, under your control.

What You Get -- Free

RAPT Temperature Controller

Full cloud API integration -- monitor temperature, target, mode (heating/cooling/idle), PID tuning, all from your own dashboard.

Multi-TILT Hydrometer Support

Live specific gravity and beer temperature from TILT hydrometers via MQTT. Multiple TILTs, multiple brews, no problem.

HACS / Home Assistant Sensors

Every metric published to MQTT is ready for Home Assistant auto-discovery. Temperature, SG, ABV, mode -- all as native sensors.

Custom MQTT Notifications

Brew reminders, SG stability alerts, and day-based triggers -- all pushed to your MQTT broker for Home Assistant automations.

Smart Temperature Feedback

Cascaded control that uses the hydrometer (in-liquid) temperature to adjust the fridge controller target. Nail your beer temp, not your air temp.

Brew Session Tracking

Multi-brew management with fermentation charts, OG/FG/ABV tracking, brew logs, needle gauge, and full event history.

Built By a Homebrewer

This isn't a corporate product. It's one person, one fridge, one hydrometer, writing code between brew days. Every feature exists because I needed it for my own fermentation.

If you want an integration for gear I don't own -- I need to buy it, brew with it, understand it, and then write the code. That's where the community funding comes in.

Currently Supported

These devices work right now, out of the box.

Controller Supported

RAPT Temperature Controller

Full cloud API integration. Monitor fridge and target temperature, set target remotely, detect heating/cooling/idle mode, compressor delay, hysteresis settings, PID tuning, signal strength.

Get one: kegland.com.au

Full support
Sensor Supported

TILT Hydrometer

Live specific gravity and beer temperature via TiltPi MQTT. All TILT colours supported. Multiple TILTs, multiple concurrent brews.

Get one: tilthydrometer.com

Full support (via TiltPi)
Bridge Supported

Home Assistant / MQTT

All device metrics published to MQTT. Native Home Assistant sensors via auto-discovery. Brew reminders and alerts as MQTT notifications with MDI icons.

Full support
Controller Sensor Supported

Smart Temperature Feedback

Cascaded control loop that reads the hydrometer temperature (in the liquid) and adjusts the controller's fridge target to hold your actual beer at the desired temperature.

Built in

Request an Integration

I don't own every piece of brewing gear on the market. To write an integration properly, I need to:

  1. Buy the device -- hardware costs money
  2. Brew with it -- understand how it actually works in a real fermentation
  3. Reverse-engineer the API -- figure out the data format, protocols, and quirks
  4. Write the integration -- and give it away to the community for free

If you want to see a specific device supported, fund it below. Once funded, it goes to the top of the build queue.

Sensor

iSpindel

DIY digital hydrometer. WiFi-based, open hardware. Needs MQTT integration + calibration support.

Get one: ispindel.de

$0 / $45
Fund This
Sensor

Plaato Airlock

CO2 activity-based fermentation monitor. Cloud API with activity data, temperature, and estimated ABV.

Get one: plaato.io

$0 / $120
Fund This
Controller Sensor

Grainfather Connect

All-in-one electric brewery with Bluetooth/WiFi. Brew-day automation, mash profiles, and fermentation tracking.

Get one: grainfather.com

$0 / $350
Fund This
Controller

BrewZilla / Robobrew

Kegland all-in-one brew system. Gen 4 has Bluetooth + app control. Needs protocol analysis.

Get one: kegland.com.au

$0 / $280
Fund This
Controller

Inkbird ITC-308 WiFi

Budget temperature controller. WiFi model has cloud API. Popular entry-level fermentation control.

Get one: inkbird.com

$0 / $40
Fund This
Sensor

Tilt Pro

Higher-resolution TILT with extended range. Same BLE protocol, finer SG resolution (4 decimal places).

Get one: tilthydrometer.com

$0 / $130
Fund This
Sensor

RAPT Pill

Kegland's floating hydrometer. BLE-based, cloud API via RAPT Portal. Direct competitor to TILT.

Get one: kegland.com.au

$0 / $55
Fund This

Suggest a Device

Don't see your gear? Let me know what you're brewing with and I'll look into it.

--
Request

Temperature Profiles

Create reusable temperature schedules and apply them to active brews.

Home Assistant Setup

RAPT2MQTT can automatically create sensors in Home Assistant via MQTT discovery, or you can set them up manually.

Option 1: Auto-Discovery (Recommended)

Go to Settings and enable MQTT Auto-Discovery. Restart the bridge. Your devices will appear in Home Assistant automatically.

Requires the MQTT integration in Home Assistant with discovery enabled (the default).

What gets created:

  • RAPT Controller: Fridge temperature, target temperature, cooling/heating status, signal strength, target temp slider
  • Tilt Hydrometer: Beer temperature, specific gravity, signal strength

Forgetting a device in RAPT2MQTT automatically removes its sensors from Home Assistant.

Option 2: Manual MQTT Sensors

Add these to your Home Assistant configuration.yaml:

RAPT Controller Sensors
mqtt:
  sensor:
    - name: "Fermenter Temperature"
      state_topic: "RAPT/temperatureController"
      value_template: "{{ value_json.current_temp }}"
      unit_of_measurement: "°C"
      device_class: temperature

    - name: "Fermenter Target"
      state_topic: "RAPT/temperatureController"
      value_template: "{{ value_json.target_temp }}"
      unit_of_measurement: "°C"
      device_class: temperature

    - name: "Fermenter Mode"
      state_topic: "RAPT/temperatureController"
      value_template: >
        {% if value_json.cooling_active %}Cooling
        {% elif value_json.heating_active %}Heating
        {% else %}Idle{% endif %}
Tilt Hydrometer Sensors
mqtt:
  sensor:
    - name: "Beer Temperature"
      state_topic: "rapt2mqtt/tilt-blue/state"
      value_template: "{{ value_json.temperature }}"
      unit_of_measurement: "°C"
      device_class: temperature

    - name: "Specific Gravity"
      state_topic: "rapt2mqtt/tilt-blue/state"
      value_template: "{{ value_json.specificGravity }}"
      unit_of_measurement: "SG"

Brew Notifications to Your Phone

Push brew events to your phone via Home Assistant.

Notification Automation
automation:
  - alias: "HASS Notifications"
    trigger:
      - platform: mqtt
        topic: "homeassistant_notifications"
    action:
      - service: "notify.{{ trigger.payload_json.target_device }}"
        data:
          title: "{{ trigger.payload_json.title }}"
          message: "{{ trigger.payload_json.message }}"
          data:
            notification_icon: "{{ trigger.payload_json.icon }}"

Any service can publish to homeassistant_notifications — the target_device in the payload routes to the right phone.

Custom Template Sensors

Build custom sensors from the available data.

ABV Calculator
template:
  - sensor:
      - name: "Estimated ABV"
        state: >
          {{ ((states('sensor.original_gravity') | float -
             states('sensor.specific_gravity') | float) * 131.25) | round(1) }}
        unit_of_measurement: "%"
        icon: mdi:percent

Support This Project

Contribute to the project so I can keep coding more integrations without losing my buzz.

I set goals on Ko-fi for each new integration — hardware, ingredients, brew days. When a goal gets funded, it goes to the top of the build queue.

Buy Me a Beer on Ko-fi

RAPT2MQTT

Bridge between RAPT (Kegland) brewing devices and MQTT for Home Assistant and other home automation platforms.

Getting Started

  1. Go to Config and enter your MQTT broker address and port.
  2. Enter your RAPT email and API Secret.
  3. Set the Poll Interval (default 300s).
  4. Click Save Configuration, then Start the bridge.
  5. Devices appear in the sidebar as they are discovered.

MQTT Topics

RAPT DataRAPT/temperatureController
RAPT CommandsRAPT/temperatureController/Command
TILT Data (inbound)TiltPi
Notifications (outbound)homeassistant_notifications

TILT Hydrometer Integration

RAPT2MQTT displays live TILT data if it publishes to your MQTT broker on the TiltPi topic.

TiltPi + Custom MQTT Node

  1. Open TiltPi Node-RED at http://tiltpi.local:1880
  2. Find the ui_template node for your TILT color
  3. Add a function node, then rbe, then mqtt out to topic TiltPi

Alternative: TiltBridge (ESP32)

Flash TiltBridge firmware onto an ESP32 for native MQTT output.

Brew Reminders & Notifications

Set reminders on active brews (e.g. "Dry hop on day 5"). When triggered, a notification is published to homeassistant_notifications with your configured target device. Set up the HA automation above to route these to your phone.

Links

GitHubMetalOctopus/RAPT-to-MQTT
RAPT Portalapp.rapt.io
RAPT API Docsapi.rapt.io/index.html