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
Start a New Brew
--
Devices & Configuration
Fermentation
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.
--
--Device Info
| Name | -- |
| Device Type | -- |
| Use | -- |
| MAC Address | -- |
| Firmware | -- |
| Signal | -- |
| Temp Unit | -- |
| Sensor | -- |
| Telemetry Frequency | -- |
| Last Activity | -- |
| Manage | -- |
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.
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
Sanitise the Tilt and drop it into your fermenter before sealing. It floats upright in the beer.
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.
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.
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
The floating sensor itself. Battery lasts ~1 year of continuous use. Waterproof, food-safe plastic tube.
~$135 USDThe BLE receiver. Has built-in Bluetooth and WiFi. Sits near the fermenter, forwards data to your network. Cheap and low power.
~$17 USD8GB or larger. Flash the free TiltPi image and boot. That's the whole install.
~$8 USDTotal 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):
| Colour | UUID |
|---|---|
| Red | a495bb10-c5b1-4b44-b512-1370f02d74de |
| Green | a495bb20-c5b1-4b44-b512-1370f02d74de |
| Black | a495bb30-c5b1-4b44-b512-1370f02d74de |
| Purple | a495bb40-c5b1-4b44-b512-1370f02d74de |
| Orange | a495bb50-c5b1-4b44-b512-1370f02d74de |
| Blue | a495bb60-c5b1-4b44-b512-1370f02d74de |
| Yellow | a495bb70-c5b1-4b44-b512-1370f02d74de |
| Pink | a495bb80-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:
- A Python script (
tiltScanner.py) runs as a service, scanning for iBeacon advertisements - Detected Tilt data is written to a JSON file in
/var/www/html/ - Node-RED reads the JSON file on a 5-second inject timer
- A series of "check" function nodes compare current vs. previous readings for each colour slot
- 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.
PID-based temperature regulation. Set your target and the controller handles heating and cooling relays automatically.
Connects to your home WiFi and reports to the RAPT cloud. Monitor and adjust from anywhere via the RAPT Portal or API.
Two relay outputs — one for heating (heat belt, heat pad) and one for cooling (fridge compressor). Switchover delay protects your compressor.
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
Plug in the RAPT controller, connect to your home WiFi via the setup process. It registers with the RAPT cloud automatically.
The controller reports temperature, mode, and status to api.rapt.io. All data is accessible via their REST API with your API secret.
Every 5 minutes (configurable), RAPT2MQTT fetches your device data from the cloud and publishes it to your local MQTT broker.
Your MQTT broker feeds the data into Home Assistant, giving you native sensors, dashboards, and automations for your fermentation setup.
What You Need
The controller unit itself. Includes a temperature probe, two relay outputs, and WiFi. Powers from a standard outlet.
~$69 AUDFree account at rapt.io. Create an API secret under My Account > API Secrets. This is how RAPT2MQTT authenticates.
FreeAny machine running Docker — Unraid, Synology NAS, Raspberry Pi 3/4, old laptop, VM. Runs RAPT2MQTT and your MQTT broker.
You probably have thisThe 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
| Method | Endpoint | Purpose |
|---|---|---|
GET | /Hydrometers/GetHydrometers | List 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:
- You set a beer target temperature (what you want the beer at)
- The Tilt reads the actual beer temperature every few minutes
- RAPT2MQTT calculates the error:
target - actual - It adjusts the fridge target on the controller to compensate
- 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
| Topic | Direction | Payload |
|---|---|---|
RAPT/temperatureController | Publish | JSON controller state (temp, target, mode, RSSI, etc.) |
RAPT/temperatureController/Command | Subscribe | JSON command (e.g. set target temp) |
TiltPi | Subscribe | JSON from TiltPi (all colours, flat topic) |
TiltPi/{colour} | Subscribe | Per-colour JSON from upgraded TiltPi flow |
homeassistant_notifications | Publish | Notifications 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:
aioblescan (Python)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:
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
aioblescanprocess 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:
| Field | What it is | Stock MQTT | Upgraded |
|---|---|---|---|
| Temperature | In-liquid beer temperature (Celsius) | ✓ | ✓ |
| Gravity | Specific gravity as decimal (1.045) | SG x 1000 | ✓ |
| Colour | Which TILT (BLUE, RED, etc.) | ✗ | ✓ |
| RSSI | Bluetooth signal strength (dBm) | ✗ | ✓ |
| tx_power | Transmit power / battery indicator | ✗ | ✓ |
| Calibrated | Whether calibration points are applied | ✗ | ✓ |
| Beer Name | Name set in TiltPi dashboard | ✗ | ✓ |
| Pro Model | Whether it's a TILT Pro (higher precision) | ✗ | ✓ |
| MAC Address | Hardware ID for same-colour TILTs | ✗ | ✓ |
| Timestamp | When 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
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
Full cloud API integration -- monitor temperature, target, mode (heating/cooling/idle), PID tuning, all from your own dashboard.
Live specific gravity and beer temperature from TILT hydrometers via MQTT. Multiple TILTs, multiple brews, no problem.
Every metric published to MQTT is ready for Home Assistant auto-discovery. Temperature, SG, ABV, mode -- all as native sensors.
Brew reminders, SG stability alerts, and day-based triggers -- all pushed to your MQTT broker for Home Assistant automations.
Cascaded control that uses the hydrometer (in-liquid) temperature to adjust the fridge controller target. Nail your beer temp, not your air temp.
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.
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
TILT Hydrometer
Live specific gravity and beer temperature via TiltPi MQTT. All TILT colours supported. Multiple TILTs, multiple concurrent brews.
Get one: tilthydrometer.com
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.
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.
Request an Integration
I don't own every piece of brewing gear on the market. To write an integration properly, I need to:
- Buy the device -- hardware costs money
- Brew with it -- understand how it actually works in a real fermentation
- Reverse-engineer the API -- figure out the data format, protocols, and quirks
- 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.
iSpindel
DIY digital hydrometer. WiFi-based, open hardware. Needs MQTT integration + calibration support.
Get one: ispindel.de
Plaato Airlock
CO2 activity-based fermentation monitor. Cloud API with activity data, temperature, and estimated ABV.
Get one: plaato.io
Grainfather Connect
All-in-one electric brewery with Bluetooth/WiFi. Brew-day automation, mash profiles, and fermentation tracking.
Get one: grainfather.com
BrewZilla / Robobrew
Kegland all-in-one brew system. Gen 4 has Bluetooth + app control. Needs protocol analysis.
Get one: kegland.com.au
Inkbird ITC-308 WiFi
Budget temperature controller. WiFi model has cloud API. Popular entry-level fermentation control.
Get one: inkbird.com
Tilt Pro
Higher-resolution TILT with extended range. Same BLE protocol, finer SG resolution (4 decimal places).
Get one: tilthydrometer.com
RAPT Pill
Kegland's floating hydrometer. BLE-based, cloud API via RAPT Portal. Direct competitor to TILT.
Get one: kegland.com.au
Suggest a Device
Don't see your gear? Let me know what you're brewing with and I'll look into it.
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:
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 %}
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.
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.
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-fiRAPT2MQTT
Bridge between RAPT (Kegland) brewing devices and MQTT for Home Assistant and other home automation platforms.
Getting Started
- Go to Config and enter your MQTT broker address and port.
- Enter your RAPT email and API Secret.
- Set the Poll Interval (default 300s).
- Click Save Configuration, then Start the bridge.
- Devices appear in the sidebar as they are discovered.
MQTT Topics
| RAPT Data | RAPT/temperatureController |
| RAPT Commands | RAPT/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
- Open TiltPi Node-RED at
http://tiltpi.local:1880 - Find the ui_template node for your TILT color
- 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
| GitHub | MetalOctopus/RAPT-to-MQTT |
| RAPT Portal | app.rapt.io |
| RAPT API Docs | api.rapt.io/index.html |