La Marzocco GS/3 & Linea Mini support

You can’t downgrade, and I assume that new machines will come with the new gateway version. You can choose not to upgrade for now, but the La Marzocco blog said that you need to update by Sept 10 or you’ll lose the ability to use the app.

https://home.lamarzoccousa.com/important-firmware-update/

The only stat you can get is a drink count (per button, if for the GS3 AV). If you can derive useful information from the number of drinks dispensed, I suppose it’s fine.

I treat the drink stats as more of a curiosity than meaningful data. It wasn’t any part of my choice of machine for home, and I suspect there are others that have more detailed stats.

1 Like

If you’re into deep statistics I guess a Decent is the way to go, I doubt there is a machine that will give you more stats than that

1 Like

Agreed. I normally think of Decent as a home-hacker machine, but maybe it would be okay in a low-volume cafe.

Appreciate the explanation, I’m looking for simple data like total ingredients usage for each category, and drinks generated. The latter seems to be covered, but is ingredient usage covered in the native app / HA app?
I am planning to use HA to trigger printed coupon every time a drink is generated, so I really hope this will work again.
Also I noticed there is a pro version of the app, although it seems to be only for the higher end types.
what’s the difference with the home version? Because it might affect my purchase decision.

Unfortunately decent doesn’t have distributor (and therefore no service center) in my country and it’s too risky for me since this is for business usage.

I really think you should work with LM about your needs. I suspect we’re all home users here and, again, the only metric that I’ve seen is ‘drinks’. The API provides access to that, if it’s useful to you.

I did contact them when i posted here, but there hasn’t been any response so far… Maybe they will only respond to customers who already bought the machine?

I also found out about other coffee machine with IOT

  • cafematic, chinese made has complete tablets, data, etc but the taste is subpar
  • rancioli connect, seems to be cloud based, so its worse than la marzocco for HA integration.

Anyways thanks for your answer, i guess drinks count is better than nothing.
Maybe I will settle with native app until this works again.

Using LM Beta 12.11 and latest HA core Beta 2023.8.beta produces the following;

2023-07-27 09:26:47.277 ERROR (MainThread) [homeassistant.components.switch] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.278 ERROR (MainThread) [homeassistant.components.switch] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.279 ERROR (MainThread) [homeassistant.components.switch] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.279 ERROR (MainThread) [homeassistant.components.switch] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.280 ERROR (MainThread) [homeassistant.components.switch] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.281 ERROR (MainThread) [homeassistant.components.binary_sensor] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.282 ERROR (MainThread) [homeassistant.components.binary_sensor] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.282 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.283 ERROR (MainThread) [homeassistant.components.button] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.295 ERROR (MainThread) [homeassistant.components.water_heater] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.
2023-07-27 09:26:47.296 ERROR (MainThread) [homeassistant.components.water_heater] Ignoring invalid device info: Invalid device info {‘default_name’: ‘La Marzocco Micra’, ‘identifiers’: {(‘lamarzocco’, ‘MR002629’)}, ‘manufacturer’: ‘La Marzocco’, ‘model’: ‘Micra’, ‘name’: ’ Espresso’, ‘sw_version’: ‘1.17’} for ‘lamarzocco’ config entry: device info needs to either describe a device, link to existing device or provide extra information.

fixed in beta.12

2 Likes

Legend, thanks for your support.

Do you mean the home-assitant integration beta 12? Or the LM firmware beta 12?
Because my integration in HACS only goes to 0.9.8, even if I enable “beta versions”.

If I search for La Marzocco in HACS, I only find the rccoleman version, not the zweckj version. How do I get the correct version?

Edit: nvm, managed to add this as a custom repository and install it :+1:

So after a couple of good years of using the APIs listed by @plonx near the top of this thread for some simple automations, after the recent software updates, I can no longer turn my LMLM on/off using a POST call to [gw]/v1/home/machines/serialNumber/status. GET to the same now returns slightly different data, but it does not reflect my machine’s actual status either.

@zweckj , I see you commented that the APIs have changed. Are you aware if there are APIs that can still be used to turn the machine on/off?

Yes there are. I collected them all in a library here and also adapted the HA integration to use this library instead. The link has already been posted a couple times above.

Thanks for that. Missed the previous links to this library - great work documenting these.
Good to see that the format has not changed, but using these REST APIs, I’m unable to set my machine ON or STANDBY, nor does a GET status return the actual status - always returns the following regardless of the actual status or temp:

{
    "status": true,
    "data": {
        "received": "2023-07-22T21:19:58.922Z",
        "MACHINE_STATUS": "ON",
        "LEVEL_TANK": true,
        "TEMP_COFFEE": 85,
        "TEMP_STEAM": 0,
        "MACHINE_REMOTSETS": {
            "BOILER_ENABLE": true,
            "BACKFLUSH_ENABLE": false,
            "PLUMBIN_ENABLE": false
        }
    }
}

Can anyone else confirm APIs are actually setting state? I’ve used these APIs and methods to set status for over 2 years, but since the upgrade, they no longer seem to work.
I’m interested if this is a problem affecting Linea Mini users, or if there’s a change I need to make that I’m not aware of.

UPDATE: I’ve just taken notice that on all API responses, the “received” date is 22nd July. I’m pretty sure this coincides with me performing the last LM software update. I’ll reach out to LM support and see something needs to be checked/unblocked with this machine’s serial.

your problem probably is, that they changed the base URL with the Update from gw.lamarzocco.io to gw-lmz.lamarzocco.io. I didn’t have time to update my documentation yet, only the functionality.

Thank you, @zweckj ! That was it!
I should have used the mitmproxy routine to sniff what was going on. Lazy.
I went through your code more closely and saw the gw-lmz update when defining constants, plus the use of new status values "BrewingMode" and "StandBy" (instead of the former “ON” and “STANDBY”).
Thanks again, I’m back in action. :wink:

A warning/error from the latest beta. No connectivity issue noticed

2023-08-05 11:05:47.704 WARNING (MainThread) [lmcloud.lmcloud] Request to endpoint https://gw-lmz.lamarzocco.io/v1/home/machines/MR002629/statistics/counters failed with status code 500. Details: {“statusCode”:500,“status”:false,“message”:“Error: read ECONNRESET”}

2023-08-05 11:05:47.706 ERROR (MainThread) [lmcloud.lmcloud] Could not get config from cloud. Full error: Request to endpoint https://gw-lmz.lamarzocco.io/v1/home/machines/MR002629/statistics/counters failed with status code 500

As well as bluetooth warnings.NOTE: I do have a BT proxy sitting right next to the Micra

023-08-05 13:05:29.186 WARNING (MainThread) [homeassistant.helpers.frame] Detected integration that attempted to call BleakClient with an address instead of a BLEDevice. Please report issue to the custom integration author for lamarzocco using this method at custom_components/lamarzocco/lm_client.py, line 131: await self._lm_bluetooth.new_bleak_client_from_ble_device(ble_device)

2023-08-05 13:05:29.188 ERROR (MainThread) [lmcloud.lmbluetooth] Failed to connect to machine with Bluetooth: No backend with an available connection slot that can reach address None was found

2023-08-05 13:05:29.190 WARNING (MainThread) [lmcloud.lmcloud] Could not send command to bluetooth device, even though initalized. Falling back to cloud…

you can ignore those. The first one means that LM’s server is down (once again). The others are just flaky HA BT implementation that sometimes show (the warning even shows that I’m not doing what they warn me not to do…)

1 Like

I’m currently experimenting with the new entity Brew Active.
I have a HUE LED strip. This turns on with the Linea Mini. In the default setting, the LEDs show the colors of the Italian flag. During the reference (Brew Active is running) it now changes to white. As soon as the reference ends (Brew Active is not running), the colors of the Italian flag come back.
unfortunately it is not accurate at the moment. Even if I stop the reference, reference is still displayed in the HA and the color of the light does not change.