TapCocktail is a custom Home Assistant integration for managing cocktails, mocktails, lemonades and other drinks served from draft taps and Cornelius kegs.
Create recipes in the Home Assistant UI, assign drinks to up to eight taps, control carbonation, track shelf life and show the current drink on dashboards and an optional round ESPHome display.
- Create, edit and delete drinks from Settings → Devices & services → TapCocktail → Configure
- Configure 1–8 taps
- Organize drinks as cocktails, mocktails, lemonades and other categories
- Store 1–12 ingredients per recipe
- Scale recipes for one glass, 2-litre and 9-litre kegs
- Calculate finished-drink ABV from ingredient amounts and alcohol percentages
- Choose ingredients from a reusable library with automatic name and ABV
- Create, edit and delete your own library ingredients in the integration UI
- Keep recipe snapshots stable when a library ingredient is changed or deleted
- Built-in themes, icons and colours, with optional custom values
- Store CO₂ volume, recommended serving temperature, glass type and serving tips
- Select an optional live temperature sensor independently for each tap
- Preset, recommended, custom or unlimited keg shelf life
- Restore tap selections and carbonation state after restarts
- Danish and English translations
- Sensors, selects and buttons for dashboards and automations
- Optional TapCocktail Card
- Optional LILYGO T-RGB 2.1-inch ESPHome tap display
Each tap provides a drink selector, a 2/24/48-hour carbonation selector, start and stop buttons, status, progress, remaining time, expected finish time and time on tap. The selected-drink sensor exposes recipe data including ABV, CO₂, recommended temperature, colour, icon, ingredients and shelf-life status.
Open Settings → Devices & services → TapCocktail → Configure to select an optional temperature sensor for each enabled tap. Every tap can use a different Home Assistant sensor. The selected sensor entity is exposed on that tap's TapCocktail sensor for compatible dashboards.
With TapCocktail Card v1.4.0 or newer, the card shows the measured and recommended temperatures together, for example 4.2 / 3 °C. If no sensor is selected, or its state is unknown or unavailable, the card continues to show only the recommended temperature.
- Open HACS.
- Search for TapCocktail.
- Download the integration.
- Restart Home Assistant.
- Open Settings → Devices & services → Add integration and select TapCocktail.
If TapCocktail is not listed in your HACS catalogue yet, add this repository as a custom Integration repository:
https://github.com/MVtag/TapCocktail
- Download or clone this repository.
- Copy
custom_components/tapcocktailto/config/custom_components/tapcocktail. - Restart Home Assistant.
- Add TapCocktail from Settings → Devices & services.
- Choose the number of taps.
- Open TapCocktail → Configure.
- Create or edit a recipe.
- Select a drink and carbonation duration for a tap.
- Press Start carbonation.
Recipes are stored as JSON under:
/config/cocktails/<category>/
The reusable ingredient library includes common spirits and mixers, and you can create, edit or delete your own entries from Settings → Devices & services → TapCocktail → Configure → Ingredient library. Each ingredient can store a name and alcohol percentage.
When creating or editing a cocktail, select library entries in any of its 1–12 ingredient rows. TapCocktail copies the ingredient name and ABV into the recipe and calculates the finished-drink ABV from all ingredient amounts. Enable the per-row ABV override when a specific bottle has a different strength, or disable automatic calculation to enter the cocktail's final ABV manually.
Recipes keep an independent snapshot of their ingredients. Editing or deleting a library entry therefore never changes cocktails that were already saved. User-created library data is stored in /config/tapcocktail/ingredients.json.
Shelf life supports:
- Recommended value based on category
- 3, 5, 7, 14 or 30 days
- A custom number of days
- No expiration date
When a tap becomes ready, TapCocktail calculates time on tap, days remaining and whether the drink is fresh, near its recommended limit or overdue.
Install TapCocktail Card for a visual Lovelace card with drink selection, carbonation controls, recipe view, animated bubbles, time on tap and green/orange/red shelf-life status.
type: custom:tapcocktail-card
tap: 1
name: Hane 1The package in esphome/packages/tapcocktail-display.yaml supports the LILYGO T-RGB 2.1-inch ESP32-S3 display with FT3267 touch.
It shows:
- Drink colour, icon, name, ABV, CO₂, temperature and glass
- Animated CO₂ bubbles
- Carbonation status and remaining time
- KLAR TIL SERVERING screen
- Shelf-life days remaining in green or orange
- Overdue shelf life in red
- Touch switching between the ready screen and drink information
Create a small device YAML in ESPHome:
substitutions:
tap: "1"
esphome:
name: tapcocktail-display-hane-1
friendly_name: TapCocktail Display Hane 1
packages:
tapcocktail_display:
url: https://github.com/MVtag/TapCocktail
ref: main
file: esphome/packages/tapcocktail-display.yaml
refresh: 1d
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
ota:
- platform: esphome
logger:For the next display, copy the device YAML and change both the names and tap: "2". The same package supports taps 1–8.
For every enabled tap, TapCocktail creates:
sensor.tapcocktail_hane_<number>sensor.hane_<number>_statussensor.hane_<number>_progresssensor.hane_<number>_remainingsensor.hane_<number>_faerdigsensor.hane_<number>_tid_pa_fad- Cocktail and carbonation selects
- Start and stop buttons
- Keg pressure sensors
- Remaining-volume estimation
- Drink and serving statistics
- Ingredient pricing and stock management
Ideas, bug reports and pull requests are welcome.
MIT License