La Marzocco GS/3 & Linea Mini support

I just released v0.9.0 as a beta/prerelease, and it should show up on HACS if you manually update the info for the integration or just wait until it polls again. Let me know how it goes, specifically the temp setting/reporting on an LM. I’ve been running it on my prod HA instance for a week or so with my GS/3 AV, so hopefully it’s in good shape.


Temp on LM looks to be +10 deg C, my machine is set at 93C and shows that temp in LM app. But on 0.90 beta shows as 103C.

I’m seeing a similar temperature reading using Fahrenheit on my LM as well. Prior to the update it would hover around 202ºF and after its 220ºF.

Ok, I’ll need to think about how to debug this.

The problem is that the temperature reports are now based on the brew boiler temp and not the actual temp at the puck (which is what the GS/3 display shows, and I confirmed with a Scace device), so I try to take the offset specified in the GS/3 config options into account to calculate the right temperature. While I found the offset and reverse engineered how it’s represented, all the config values change based on whether the machine is set for Celsius or Fahrenheit. I suspect that you can’t set an offset on the LM at all, so I don’t know what that data looks like. It’s all very complicated.

Do you LM owners have a way to specify a temperature offset from coffee boiler->grouphead?

I’m also almost done updating the Lovelace card to enable/disable preinfusion and set the time. And I already found a small bug in the code to set the preinfusion time.

It’s about 10c above my configured temp. There is only one temp setting on the LM. No offsets.

Could either of you replace api.py in /config/custom_components/lamarzocco with this one and enable debug with custom_components.lamarzocco: debug?

api.py (4.7 KB)

You should get a large data structure in your log every so often with all the data lmdirect has collected. I’m looking for the values of these in there:

'brew_group_offset'
't_unit'
'coffee_temp'
'steam_temp'

Edit: okay, good to test now

Thanks for your efforts!

My LM is outputting:

'brew_group_offset': -10.0
't_unit': 0
'coffee_temp': 101.0
'steam_temp': 0.0

Note:

  1. Both boilers are turned on so the steam_temp is not correct.
  2. 101.0 is the correct configured temp which is output in the log but not on the card.

Ok, thanks. That’s useful. I think the steam boiler in an LM is controlled via a pressurestat and not a PID, so it doesn’t know what the temperature is. I was just curious what it reported.

What card are you using for the temperature? Does coffee_temp change over time to what’s displayed on the card? The data is collected over time and I do the math as it becomes available, so it may take a couple of minutes to settle down. I adjust coffee_temp based on brew_group_offset when it shows up and it sounds like you may have an in-between reading where the offset is available, but hasn’t been acted on yet.

Edit: Try v0.9.1, which I just published. I think I understand the values in the data better and it should assume zero offset for the LM.

It would also be really helpful if someone else with a GS/3 AV or MP could run the same experiment above and tell me what you get for t_unit. I suspect that it’s the factory-set offset, but I don’t know if it varies from machine to machine. If it does, I need to find a better way to handle it.

Updated to v0.9.1 and it appears the temperature is now reporting correctly on my LM. Steam Boiler state also reflecting correctly. Excellent work, thanks!

2 Likes

Working for me too.

1 Like

Secret installation stats:

Total: 17
0.9.1: 3
0.9.3: 3
0.7.5: 11

I encourage all the “0.7.5” stragglers to update to 0.9.3!

I knew there was something fishy about their new temp calculation. From an email today:

We have found a bug in the most recent version of the GS3 firmware, which is included as part of the v2.0 release of the La Marzocco Home App, and would like to explain you how to quickly fix it.

This bug, which was accidentally introduced with the latest firmware update, causes the actual brew temperature to differ from the expected value.
The issue is related to how the firmware manages the coffee boiler temperature offset, which represents the delta between the temperature measured by the coffee boiler temperature probe and the value displayed as “brewing temperature”.

The proposed fix is to manually return the offset to the “factory default” of 2.0C/3.6F, which I still don’t think results in the real temp matching the displayed temp (I have my measured offset at 0.5C/0.9F). It sounds like their planned “fix” is just to force the offset back to that factory value via another firmware update. Hopefully that’s all it does and doesn’t require any changes to my library.

I may be the only one using it (which is fine, since I wrote it for me!), but I updated the dashboard card to support preinfusion:

I always get a message in the log that something is wrong with the unit of the total drinks.
Is this a general problem or something that I can fix myself?

Logger: homeassistant.components.sensor.recorder
Source: components/sensor/recorder.py:374
Integration: Sensor (documentation, issues)
First occurred: 22:00:18 (1 occurrences)
Last logged: 22:00:18

The unit of sensor.linea_mini_total_drinks (drinks) can not be converted to the unit of previously compiled statistics (None). Generation of long term statistics will be suppressed unless the unit changes back to None or a compatible unit. Go to Link to Developer tools: statistics – My Home Assistant to fix this

Did you follow the link that it suggests?

To be honest, I was not aware that you can fix the problem here so easily yourself :see_no_evil:
Thank you very much for the hint!

Can it be confirmed/denied that the LM Linea Micra is working with this integration please?

Not yet, as it uses a completely different way to interact with the device. But there’s an ongoing effort to add support for it (which I actually need to spend some time on :slight_smile: ): https://github.com/rccoleman/lamarzocco/issues/35

Thanks for the update Rob

Dear All
This integration is awesome.
I am kind of new to HA (migrating from iobroker because of this integration, among some other things).

I have some issues with my LMLMs temperature setting and was wandering if I can somehow set the (target) temperature with an automation or from node red. But somehow I get stuck, the value of the setup is not being sent.

Can someone hint me how I can update it with say 92?

Again, many thanks for this, it is truly awesome.