> For the complete documentation index, see [llms.txt](https://docs.brewfather.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.brewfather.app/integrations/plaato/airlock.md).

# Airlock

{% hint style="warning" %}
Plaato has been discontinued. The original Plaato app and cloud workflow is no longer the recommended setup path.

For Brewfather, the working replacement is to connect the device to an [`open-plaato-keg`](https://github.com/DarkJaeger/open-plaato-keg) server first, then forward that Airlock to Brewfather from the server UI.
{% endhint %}

## Quick guide

The following quick guide covers the self-hosted option.

1. Start an `open-plaato-keg` server and note its local IP address. See the [`open-plaato-keg` setup and deployment docs](https://github.com/DarkJaeger/open-plaato-keg#setup) and the full steps in [1. Start the open-plaato-keg server](#1-start-the-open-plaato-keg-server).
2. Connect to the Airlock Wi-Fi network `PLAATO-XXXXX`, open `http://192.168.4.1`, and save your Wi-Fi, Auth Token, server host, and port `1234`. See the [`PLAATO Airlock Setup Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_Airlock_Setup_Guide.pdf) and the full steps in [2. Connect the Airlock to open-plaato-keg](#2-connect-the-airlock-to-open-plaato-keg).
3. In Brewfather, enable **Settings > Power-ups > Plaato Airlock** and copy the **Logging URL**. See [Settings](/settings.md) and the full steps in [3. Enable Plaato Airlock in Brewfather](#3-enable-plaato-airlock-in-brewfather).
4. In `open-plaato-keg`, open **Configure > Airlock Setup**, select the Airlock, paste the Brewfather Logging URL, and save the Brewfather settings. See the [`PLAATO Airlock Brewfather Integration Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_AirLock_Brewfather_Setup_Guide.pdf) and the full steps in [4. Link the server to Brewfather](#4-link-the-server-to-brewfather).
5. Wait for the Airlock to appear on the [Devices](/devices.md) page, then attach it to your batch from **Fermenting > Readings > Devices**. See the full steps in [5. Verify the device in Brewfather](#5-verify-the-device-in-brewfather).

## External references

* [`open-plaato-keg` GitHub repo](https://github.com/DarkJaeger/open-plaato-keg)
* [`open-plaato-keg` User Guides](https://github.com/DarkJaeger/open-plaato-keg/tree/master/User%20Guides)
* [`PLAATO Airlock Setup Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_Airlock_Setup_Guide.pdf)
* [`PLAATO Airlock Brewfather Integration Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_AirLock_Brewfather_Setup_Guide.pdf)

## Before you start

The following requirements apply to the self-hosted option.

* A working **Plaato Airlock**
* A **2.4 GHz Wi-Fi** network
* A device on your local network running `open-plaato-keg`, such as a Raspberry Pi, Docker host, or home server
* Access to the **Plaato Airlock** power-up in Brewfather
* An active batch in **Fermenting** when you are ready to attach the device

## 1. Start the open-plaato-keg server

Set up and start the server by following the upstream project documentation:

* [`open-plaato-keg` README](https://github.com/DarkJaeger/open-plaato-keg)
* [Setup](https://github.com/DarkJaeger/open-plaato-keg#setup)
* [Deployment](https://github.com/DarkJaeger/open-plaato-keg#deployment)

Quick example:

```bash
docker run --rm -it -p 1234:1234 -p 8085:8085 ghcr.io/darkjaeger/open-plaato-keg:latest
```

After the server starts:

1. Note the server IP address on your local network.
2. Make sure the Airlock can reach the server on port `1234`.
3. Open `http://<server-ip>:8085` to confirm the web UI is reachable.

## 2. Connect the Airlock to open-plaato-keg

Follow the upstream [`PLAATO Airlock Setup Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_Airlock_Setup_Guide.pdf) for the original Airlock onboarding flow. The summary below matches that guide.

1. Power on the Plaato Airlock.
2. On first boot or after reset, it creates a temporary Wi-Fi network named `PLAATO-XXXXX`.
3. Connect your phone, tablet, or computer to that Wi-Fi network.
4. Ignore any "no internet" warning and stay connected.
5. Open `http://192.168.4.1` in a browser.
6. Enter the Airlock configuration values:
   * **WiFi SSID**: your 2.4 GHz home network name
   * **WiFi Password**: your network password
   * **Auth Token**: a unique 32-character hexadecimal value
   * **Host**: the IP address of your `open-plaato-keg` server
   * **Port**: `1234`, or your configured `KEG_LISTENER_PORT`
7. Save the configuration and let the Airlock reboot.
8. Open `http://<server-ip>:8085`, go to **Configure > Airlock Setup**, select the Airlock, and give it a unique name.
9. Confirm the Airlock appears on the server dashboard and starts reporting data.

{% hint style="info" %}
If you are using more than one Airlock, each device needs its own unique **Auth Token** and its own descriptive name on the server.
{% endhint %}

## 3. Enable Plaato Airlock in Brewfather

This is the Brewfather side of the setup. See [Settings](/settings.md) for the Power-ups page overview.

1. In Brewfather, open **Settings > Power-ups > Plaato Airlock**.
2. Enable the integration.
3. Copy the **Logging URL** shown by Brewfather.

{% hint style="info" %}
The upstream `open-plaato-keg` guide may refer to **Settings > Integrations**. In Brewfather docs and current UI, this setup lives under **Settings > Power-ups**.
{% endhint %}

## 4. Link the server to Brewfather

Follow the upstream [`PLAATO Airlock Brewfather Integration Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_AirLock_Brewfather_Setup_Guide.pdf) for the server-to-Brewfather forwarding flow. The steps below summarize that process in Brewfather terms.

1. Open the `open-plaato-keg` web UI at `http://<server-ip>:8085`.
2. Go to **Configure > Airlock Setup**.
3. Select the Airlock you want to send to Brewfather.
4. In the Brewfather section, enter:
   * **Brewfather URL**: paste the Logging URL from Brewfather
   * **Temp Units**: match your Brewfather batch temperature unit
   * **Starting SG / Specific Gravity**: the batch starting gravity or current specific gravity
   * **Original Gravity**: optional
   * **Batch Volume**: optional
5. Save the Brewfather settings.

The server forwards readings to Brewfather at most once every **15 minutes** per Airlock.

## 5. Verify the device in Brewfather

See [Devices](/devices.md) for how discovered devices appear and how batch attachment works.

1. Wait up to **15 minutes** for the first forwarded reading.
2. Open the [Devices](/devices.md) page in Brewfather and confirm the Plaato Airlock appears there.
3. Open the active batch you want to track.
4. In the **Fermenting** tab, open **Readings > Devices**.
5. Attach the Plaato Airlock to the batch.
6. Wait for the next logging interval for readings to appear in the batch.

{% hint style="info" %}
Brewfather ignores device updates that arrive more often than once every 15 minutes per device. The BPM graph may take around **one hour** to populate because it needs multiple readings.
{% endhint %}

## Data logged

This section describes the self-hosted configuration above.

With this setup, Brewfather receives:

* **Temperature**
* **BPM**
* **Specific gravity**
* **Original gravity** if you configured it on the server
* **Batch volume** if you configured it on the server

## Troubleshooting

The server-specific checks below apply to the self-hosted option. The Brewfather device and batch checks apply to both hosted and self-hosted setups.

* **The Airlock does not show `PLAATO-XXXXX`**

  Power-cycle or reset the Airlock, then follow the upstream [`PLAATO Airlock Setup Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_Airlock_Setup_Guide.pdf) again.
* **`http://192.168.4.1` does not open**

  Confirm your phone or computer is still connected to the Airlock Wi-Fi network, not your normal home network.
* **The Airlock does not appear on the open-plaato-keg server**

  Verify the Wi-Fi is 2.4 GHz, the server IP address is correct, and the port matches `KEG_LISTENER_PORT`.
* **The Airlock appears on the server but not in Brewfather**

  Re-copy the Brewfather Logging URL, save the Brewfather section again in `open-plaato-keg`, then wait for the next 15-minute interval. If needed, recheck the upstream [`PLAATO Airlock Brewfather Integration Guide`](https://raw.githubusercontent.com/DarkJaeger/open-plaato-keg/master/User%20Guides/PLAATO_AirLock_Brewfather_Setup_Guide.pdf).
* **The device appears in Brewfather but not in the batch**

  Attach it from **Fermenting > Readings > Devices**. Readings are not logged to a batch until the device is attached.

## Hosted option: CraftLab

If you do not want to run your own server, [CraftLab AirlockRevival](https://airlock.craftlab.no/get-token) provides a free, public `open-plaato-keg` instance. No CraftLab account is required.

1. Open [Get a Token](https://airlock.craftlab.no/get-token) and generate a unique Auth Token for this Airlock. Generate a separate token for each additional device.
2. Reset the Airlock, connect to its `PLAATO-XXXXX` Wi-Fi network, and open `http://192.168.4.1`.
3. Enter your 2.4 GHz Wi-Fi details, the generated Auth Token, `airlock.craftlab.no` as the host, and port `1234`.
4. Follow the remaining instructions on CraftLab to open your device dashboard.
5. Give the Airlock a unique name on the CraftLab dashboard, especially if you use more than one Airlock.
6. Enable **Settings > Power-ups > Plaato Airlock** in Brewfather and copy the **Logging URL**.
7. On the CraftLab dashboard, select **Send to Brewfather**, paste the Brewfather Logging URL, and save the Brewfather settings.
8. Wait up to 15 minutes for the Airlock to appear in Brewfather, then attach it to your active batch from **Fermenting > Readings > Devices**.

If you add multiple devices to the CraftLab dashboard, bookmark the latest dashboard link after each change because the device list is stored in the link. Brewfather Premium is required to attach the Airlock to a batch.

See the [CraftLab FAQ](https://airlock.craftlab.no/faq) for troubleshooting, data handling, and service availability information.

{% hint style="info" %}
CraftLab refers to the Brewfather URL as a "custom stream URL." For this workflow, use the **Logging URL** from **Settings > Power-ups > Plaato Airlock**, not the URL from the separate **Custom Stream** power-up.
{% endhint %}

{% hint style="warning" %}
CraftLab currently sends a fixed specific gravity value of `1.000` with Airlock readings. Brewfather may store this value as gravity and may use the first reading as measured OG. Do not treat it as a measured gravity value. If this would affect your batch data, do not enable Brewfather forwarding until CraftLab supports omitting or configuring gravity.

Your Brewfather Logging URL grants permission to submit readings, while the CraftLab Auth Token and personal dashboard link provide access to your device data. Keep them private and only share the Logging URL with a service you trust.

CraftLab AirlockRevival is an independent, third-party hobby service. It has not been verified or endorsed by Brewfather, is not operated by Brewfather, and does not provide a service-level guarantee.
{% endhint %}

## Related docs

* [Plaato Keg](/integrations/plaato/keg.md)
* [Plaato](/integrations/plaato.md)
* [Devices](/devices.md)
* [Settings](/settings.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.brewfather.app/integrations/plaato/airlock.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
