La Marzocco GS/3 & Linea Mini support

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.

I just made this service call and it worked fine:

service: water_heater.set_temperature
data:
  entity_id: water_heater.buzz_coffee
  temperature: 202.0

I believe that it will do perform the appropriate unit conversion based on what you’re using in the HA frontend. What did you try?

Honestly, I don’t konw what I did wrong. I think i did not find the right Domain (I probably used lamarzocco instead).

Anyway: it works now, so thanks a lot.

This integration is really amazing, thank you so much.
Regarding the temperature and firmware. I think it is not a huge bug they introduced, if I’m not completely wrong they just got the sign of the offset wrong. What they also did is to introduced a new concept. The user sets the desired brew temp via the display and the machine does the calculation to what temp the boiler has to be heated. Might be more complicated, but to first approximation boiler temp is “desired brew temp” plus offset. If I understood that correctly I actually like the concept (and if I misunderstood I brewed at the wrong temp for quite some time…) Anyways, it looks like this integration provides the display/desired temp (“electric”) and the boiler temp (“currently”), however it seems that the boiler temp is too high, it seems that it uses the measured temp of the boiler and adds the offset. At least in my case (and I hope everything is up-to-date) I have display/desired/electric 93.1 and the currently 97.1 with the recommended offset of 2.0. I don’t really care how hot the boiler needs to be to get my desired brew temp, ideally I only would need to adjust the offset if the conditions of heat loss change. So my wish would be to calculate the “currently” as “measured boiler temp” minus “positive offset”. That way as soon as the two temps in the integration agree I know the machine is heated up. (I know that a template could do that too, but this message is also to understand the firmware and integration). Thanks again!!!

I agree that the way it’s done now is the “right way” and is more intuitive.

If I understand your request correctly, I’m actually doing exactly what you describe in the integration. The key bits of code are here, where the brew offset is calculated, and here, where the brew temp is calculated from the measured temp and the offset.

As you can see in the offset calculation, the value stored is actually a delta from the midpoint of a predefined temperature range, multiplied by 2. I don’t know how or why they arrived at that seemingly overly-complex algorithm, but I played with the offset quite a bit, taking note of the displayed temperature and measuring with a Scace thermocouple to confirm the final brew temp.

Hi guys

I noticed a while ago however the “Front panel display” attribute on the Coffee Machine is missing the first character. It used to work but after one of the updates (integration or machine cant remember) it got messed up. More likely the machine update.

Thanks!

EDIT: Git issue opened - "Front Panel Display" Attribute missing first character ¡ Issue #41 ¡ rccoleman/lamarzocco ¡ GitHub

Does anyone else have issues where triggering the machine on in HA doesn’t actually turn the machine on? And you have to turn the HA switch if off and on again for it to work?

GS3 MP latest fw v1.23

GIT Issue: Machine turned on in HA but stays off ¡ Issue #40 ¡ rccoleman/lamarzocco ¡ GitHub

Would it be possible to have an binary_sensor entity indicating whether you’re pulling a shot or not?
With such an entity you could change e.g. change color of a connected led - or whatever you like :slight_smile:

Good idea. I’ve had that thought too. I connected a hue gradient lightstrip. I toggle the LED on and off via the main entity. It would be perfect if I could change the color or the intensity during the purchase. Unfortunately, there is no entity that could I use for this.

1 Like

Not the way the underlying package is currently written. It only connects to the machine when it needs to send a command and wait for a response, and it has no idea what’s happening at other times. The goal was to also allow use of the official app with the integration enabled, and the machine only accepts one connection at a time.

The machine does stream shot statistics while you’re pulling a shot, so it could technically support a binary_sensor that indicates if a shot is being pulled if it maintains a persistent connection. If you have the official app running while you pull a shot, you’ll see that a shot timer automatically pops up.

I’ll think about it.

1 Like

Thanks for the detailed response, highly appreciated. I absolutely believe you are doing the correct calculation. Seems like the firmware still subtracts somehow the offset so you have to “overcompensate”? Is it fair to assume that whenever marzocco releases a new firmware with a fix it would be good to wait with the update to make sure it is “compatible” with this integration? Thanks again

Essentially, I just reverse engineered the calculation that the firmware uses to transform the boiler temp measurement to what’s shown on the front panel display, which is quite close to the actual measured water temp at the puck. LM has been promising a “fix” since the new firmware was released and I haven’t seen anything yet, so I’m skeptical that they’re still pursuing it. I don’t really see a point to to making any changes, given that there’s a consistent delta that can be calculated and baked into the offset. In any case, if they change the algorithm, I’ll probably need to adjust the integration to match.

Hi aaelex,
just to confirm, I see the same thing, “TAND-BY” and not turning on. In my automation for turning on the machine, I put the “turn on Main” into a repeat loop with a 10 sec delay. Same fw 1.23 on a GS3 MP. Fine with me to leave as is.

1 Like

Thanks for confirming.

Good idea for a workaround for now.

I think with the logs that I have gathered it will be possible to see what’s going wrong. Just need to get them to @rccoleman