La Marzocco GS/3 & Linea Mini support

Thanks @dxr

Will check it out.

There are some youtube videos showing it in action

Had a look @dxr looks like a very cool project. My thinking was that I see that Josef @zweckj has an integration for the Acacia bluetooth scales. Was thinking that if I canā€™s stop the extraction from the La Marzocco integration, it might be easier to just use an ESP32 to open the paddle switch using a relay when it reaches the desired volume/weight to stop the extraction.

The La Marzocco Brew by Weight scale just seems a bit excessive @ $400

Relay + ESP32 would probably work I guess, but I never tried it

iā€™m sure both would work. The only concern I would have about using the home assistant integration is the delay between reading the weight, switching off the relay, and the flow stopping. The Apollo project has a built in compensation that works really well.

With either, its very nice to be able to start the shot and then steam milk without having to keep an eye on the shot (knowing it will stop on its own)

1 Like

I have my Micra and Acaia scales integrated with HomeAssistant (via Esphome) so that the scales tare and start the timer automatically when the shot starts. However I was wondering if the Micra has the ability to send a ā€˜stop shotā€™ command programatically?

I donā€™t want to mess with the wiring of my paddle to do that and knowing that the Micra supports brew by weight using the proprietary LM / Lunar scales, surely its possible to send a BT command to stop the shot, but it doesnā€™t seem like the HASS integration supports such a thing. Has anyone reverse engineered the LM custom Acaia scales to see what that command is?

As a hacky workaround, could I just turn off the machine when I want the shot to stop? Would that have any unintended consequences?

i got the question. how to get the api encryption key ?
thanks!

The steam boiler temperature on my Linea Mini is always 0 degree. Does anyone else have this issue? Does the Linea Mini expose boiler temperature? I canā€™t seem to find it in La Marzocco app.

you donā€™t need that normally.

Mini doesnā€™t

My Linea Mini definitely has the current boiler temp.

sensor.current_coffee_temperature

Thanks guys. I was worried that there is something wrong with the electronic board. So Linea Mini doesnā€™t have the steam boiler temp sensor.

@mrvautin I was talking about steam boiler temperature not the coffee boiler :).

Apologies, missed the key word :wink:

Has anyone poked at a commercial machine to see what the IoT differences are?

LM said no when I asked for API details, although said it was something they were working on so it may be available in the future.

Decompiling the LM Pro APK suggests that things are pretty similar.

(Not sure whether this should be in its own thread or not.)

Progress is being made

The URLs are a little different and the API calls are a little different, but some of itā€™s easy enough to find in the app

                    w = o.EN,
                    M = c.G.CELSIUS,
                    S = 20,
                    T = i.N.cropster_base_url,
                    L = i.N.middleware_base_url + "/v1/professional/machines/${machineSerialNumber}/cropster/",
                    x = i.N.middleware_base_url + "/v1/professional/machines/${machineSerialNumber}/cropster/token",
                    C = [s.M.group, s.M.button],
                    E = [u.w.BREWING_MODE, u.w.STANDBY, u.w.ECO_MODE],
                    D = i.N.base_url,
                    O = i.N.middleware_base_url,
                    A = i.N.middleware_base_url + "/v1/professional/machines/",
                    N = i.N.aws_middleware_base_url,
                    P = "/oauth/v2/token",
                    Y = "/oauth/v2/logout",
                    R = "/api/professional/customer",
                    I = "/api/professional/customer/social",
                    H = "/oauth/apple/revoke-permission",
                    F = "/api/professional/customer/image",
                    j = "/api/professional/customer/activation/send",
                    G = "/api/professional/customer/reset/send",
                    B = "/api/professional/hobbies/aliases",
                    U = "/api/professional/tutorial",
                    z = "/api/professional/privacy/latest-to-accept",
                    V = "/api/professional/fleet",
                    W = "/api/professional/fleet/pair",
                    $ = "/api/professional/fleet/unpair/",
                    q = "/api/professional/fleet/users/invite",
                    Z = "/api/professional/fleet/users/change/role/machine",
                    J = "/api/professional/fleet/users/",
                    K = "/api/professional/fleet/users/remove/machine",
                    X = "/api/professional/fleet/update",
                    Q = "/api/professional/dictionary",
                    ee = "/api/professional/news",
                    te = "/api/machine-models",
                    ne = "/api/countries",
                    re = "/api/professional/privacy/",
                    ie = "/api/professional/map-locations",
                    ae = "/oauth/check-email-exist",
                    oe = "/${serialNumber}/things/${relayrId}/location",
                    se = "/api/professional/app/check-version",
                    ue = ["GB5", "LCR", "KB90", "StradaAV", "STRADAS", "StradaS", "StradaEP", "StradaX", "LineaPB"],
                    ce = ["LCR"],
                    le = [R, F, "/api/professional/hobbies", B, U, z, V, W, $, "/api/professional/fleet/get/", ee, ie, N, A],
                    de = [ee, N, J, V, A, "firmware.lamarzocco.io"],
                    he = [ee, q, J, N, "command-status", "latest-measurement", A, U, "firmware.lamarzocco.io"],
                    fe = ["IT", "EN"]

Hello there
Since my installation of the integration i am not able to connect with the La Marzocco App. On github it says something about WebSocket. can it have something to do with that? In the meantime I have removed the integration but the machine still cannot be connected. However, it is always visible in the network.

Hi Avacyn,

Iā€™ve recently gotten a La Marzocco GS3 and one of the things Iā€™ve noticed in the month that Iā€™ve had it is that the connection was pretty reliable for the first couple of weeks, but gradually, the connection used by the integration appears to ā€œdegradeā€.

What I did was to create a custom template

  - name: "La Marzocco Entities Unavailable"
    state: >
      {%- set threshold_percentage = ".80" | float(0) -%}
      {{((expand(integration_entities('lamarzocco')) | selectattr('state', 'in', 'dead, unavailable, unknown') | map(attribute="object_id") | list | count)/(expand(integration_entities('lamarzocco')) | map(attribute="object_id") | list | count)>threshold_percentage) and is_state('binary_sensor.internet_not_pingable',"off")}}

which provides me a binary sensor when a threshold percentage (80%) of La Marzocco entities state are dead or unavailable (as well as I have a binary_sensor if Internet is not pingable since this integration depends upon internet connectivity as well).

What Iā€™ve seen is that over time, this binary sensor increases and increases.

You can see how the red becomes more and more prevalent. What Iā€™ve noticed in both the integration and the Native La Marzocco app is that the reported sensors are inaccurate or generally wrong. What I did the other day was the simply unplug the machine, let it sit for a few minutes and plugged it back in and voila, the integration AND the app started reporting correctly again. I only have about a month of data so not quite ready to put a smart plug on the espresso machine and turn it power off at the source when the threshold gets high again, but am watching. Hope that helps!

My HACS integration is working pretty well since months.
What is acutally the difference between the current preview an the HACS integration? Is it worth to change to preview? Mainly using the Acaia integration and to turn the machine on/off and change brewing temperature

Hey @DomID, not sure which HACS integration you might be using. I searched HACS and only found a depreciated integration rccoleman/lamarzocco: Interact with your La Marzocco espresso machine (github.com) which is depreciated in lieu of the integration which is in Home Assistant zweckj/lamarzocco: Interact with your La Marzocco espresso machine (github.com). So not really sure which what you are using to provide any detail of what the possible differences are.

You can see what the Home Assistant integration provides by looking at the documentation. The developer wrote out all the entities it can provide and under what conditions.