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.
@adampetrovic thank you so much for putting this together.
Have you experienced very unstable Bluetooth connection? IN the ESP32 logs it seems to connect, but immediately after it disconnects and none of the HA buttons result in any action on the scale.
I have removed the ACAIA integration from HA and remove the scale from the ACAIA app in order not to have duplicate connection requests to the scale.
[10:08:23][I][esp32_ble_client:227]: [0] [60:8A:10:4D:C1:6E] Connected
[10:08:23][D][ACAIA:062]: Registering for notifications
[10:08:23][W][ACAIA:069]: No control service found at device, not an Anova..?
[10:08:23][D][esp32_ble_client:188]: [0] [60:8A:10:4D:C1:6E] cfg_mtu status 0, mtu 247
[10:08:23][D][ACAIA:232]: GATTC Event incoming, type 18
[10:08:23][W][component:237]: Component esp32_ble took a long time for an operation (53 ms).
[10:08:23][W][component:238]: Components should block for at most 30 ms.
[10:08:25][D][button:010]: 'Start Timer' Pressed.
[10:08:25][D][ACAIA:273]: Starting timer