La Marzocco GS/3 & Linea Mini support

@nix please check my latest post on the git issue, just posted some interesting observations which you might be able to confirm for me

Hi,

just checked this integration with Lina Micra, but not suceed.

Receiving error:

Failed to connect

current gateway version: V2.2-RC0, FW1.11

The same is happening to me, what @yurissek is experiencing. I also commented on the Github repo. New Linea Micra API Ā· Issue #35 Ā· rccoleman/lamarzocco Ā· GitHub

For those waiting: My fork GitHub - zweckj/lamarzocco: Interact with your La Marzocco espresso machine is already working for the Micra. Once Rob (or somebody else) finds the time to check with the old machines we can merge, but until then you can install it directly from my fork.

1 Like

Install seemed to go ok, thanks for your time. Few of the entities have not been added using the Micra. Not sure if this is expected?

  • sensor.<machine_name>_total_drinks
  • binary_sensor.<machine_name>_water_reservoir
  • button.<machine_name>_start_backflush

I added the 2 sensors only this afternoon. The button I legit forgot to enable for the Micra, thanks for the tip. If you pull the newest update they should all be there now.
Keep in mind Iā€™m still working on this, so not everything might be working perfectly.

Thanks for the quick response - the two sensors and button are now included. No real issuesā€¦ the lag using the entities via the cloud is very noticeable, so not sure if this is just me or not.

No unfortunately it is. Communication has to get to the cloud, then to your machine and backā€¦
But unless somebody figures out how communication happens once streaming mode is initiated itā€™s what we are stuck with

For future reference: The app opens a webocket connection to /api/v1/streaming where it receives things like the current boiler temperature, the tank status and the shot timer. If commands are sent directly to the machine (turning on/off) that appears to be happening through Bluetooth connections.

Anyone here who has a LM Mini or GS3 who would be willing to test my fork and report any errors the integration produces?

LM Micra has a new firmware available - has this caused any issues worth reporting?

Appears to be working fine, at least for me

1 Like

Noticing this in the logs after 2023.6.3 update - 2023-06-24 14:39:13.926 ERROR (MainThread) [custom_components.lamarzocco.api] Caught exception:

Do you have the full error?

It appears to have settled down and working ok now - thanks for your response.

New gateway update v3.1-RC4 seems to have broken HA integration.

Not many errors. Just cannot connect to IP.

This just me or everyone?

Just curious, have you also upgraded to the latest HA core?

Been getting these in the logs since 2023.7 update

File "/usr/src/homeassistant/homeassistant/helpers/discovery_flow.py", line 95, in _async_start

await gather_with_concurrency(

File "/usr/src/homeassistant/homeassistant/util/async_.py", line 185, in gather_with_concurrency

return await gather(

^^^^^^^^^^^^^

File "/usr/src/homeassistant/homeassistant/util/async_.py", line 183, in sem_task

return await task

^^^^^^^^^^

File "/usr/src/homeassistant/homeassistant/config_entries.py", line 856, in async_init

flow, result = await task

^^^^^^^^^^

File "/usr/src/homeassistant/homeassistant/config_entries.py", line 884, in _async_init

result = await self._async_handle_step(flow, flow.init_step, data)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 393, in _async_handle_step

result: FlowResult = await getattr(flow, method)(user_input)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/config/custom_components/lamarzocco/config_flow.py", line 110, in async_step_zeroconf

raw = discovery_info.properties["_raw"]

~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^

KeyError: '_raw'

I fixed that in a commit in the last day or so, but havenā€™t released an update yet.

2 Likes

Have installed the latest firmware upgrade to my LM Micra and it has broken the CC. Turned on debugging and nothing in the logs at all. If I turn the machine on via the app, the status will replicate, try to control the machine via HA it wont respond. @rccoleman is there any testing you require?

I get this error if I attempt to turn on ā€œPre-Brewingā€ as an example via the HA interface, if I turn on via phone app it works without issue and replicated to HA:

3-07-06 08:41:31.381 WARNING (MainThread) [lmcloud.lmcloud] Request to endpoint https://gw.lamarzocco.io/v1/home/machines/MR002629/enable-preinfusion failed with status code 500. Details: {"statusCode":500,"status":false}
2023-07-06 08:41:31.388 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140605032875792] Request to endpoint https://gw.lamarzocco.io/v1/home/machines/MR002629/enable-preinfusion failed with status code 500
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1957, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 1997, in _execute_service
    return await cast(
           ^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 833, in entity_service_call
    response_data = task.result()  # pop exception if have
                    ^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1191, in async_request_call
    return await coro
           ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 877, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/lamarzocco/switch.py", line 141, in async_turn_on
    await call_service(
  File "/config/custom_components/lamarzocco/services.py", line 28, in call_service
    await func(*args, **kwargs)
  File "/config/custom_components/lamarzocco/interface.py", line 145, in set_prebrewing_enable
    await self._lm_cloud.set_prebrew(enable)
  File "/usr/local/lib/python3.11/site-packages/lmcloud/lmcloud.py", line 410, in set_prebrew
    return await self._set_pre_brew_infusion(mode)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lmcloud/lmcloud.py", line 401, in _set_pre_brew_infusion
    response = await self._rest_api_call(url=url, verb="POST", data=data)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lmcloud/lmcloud.py", line 286, in _rest_api_call
    raise RequestNotSuccessful(msg)
lmcloud.exceptions.RequestNotSuccessful: Request to endpoint https://gw.lamarzocco.io/v1/home/machines/MR002629/enable-preinfusion failed with status code 500