This is my 'homebrew' version of the brew-by-weight functionality that comes with a Linea Mini plus the LaMarzocco + Acaia proprietary scales. Given I have a Micra, this functionality isn't supported out of the box.
It uses:
- ESPHome to connect to my Acaia Lunar scales over Bluetooth using a forked version of https://github.com/open-lcc/esphome-acaia-component (my forked version fixes the flow calculation)
- The LaMarzocco custom HomeAssistant integration: https://github.com/zweckj/lamarzocco
input_number.coffee_target_weight
: used to set the desired weightinput_number.coffee_drip_duration
: used to estimate how long (in secs) the coffee continues to drip after the pump is stopped.
- Turn on the scales and wait for the connected symbol to show on the scales (next to the timer).
- Start the shot. Homeassistant will tare the scales automatically and start the timer on the scales.
- Once the shot timer reaches 10 seconds, the brew-by-weight automation should trigger
- The automation continues to monitor the current weight and flow rate from the scales, continually updating the
coffee_estimated_drip_weight
template sensor. - Once the current weight reaches the threshold of (
current_weight
+coffee_estimated_drip_weight
>=target_weight
) it turns off the machine (only way to stop the pump) and turns it back on.
Adjust the input_number.coffee_drip_duration
over time to get more accurate.
It's also worth noting that the reliance on the ESP32 controller firmware is optional now. If instead, you use ESP32 bluetooth proxies in your HomeAssistant installation, you can use the Acaia component bundled in the HomeAssistant core now. Which supports everything we're doing here: https://www.home-assistant.io/integrations/acaia/
I will look to provide a blueprint to perform brew-by-weight when I get a chance, which should significantly lower the barrier to entry for people to get started.