@the-tinkerer said in [Nozzle piezo] G31 Trigger Z-height being ignored:
One thing that I wonder about is does Duet support Z max endstop and z probe at the same time? so I home using Z max endstop and only use the z probe for bed leveling;
This is likely the source of your offset. You can use the zmax endstop for homing, but it's best practice to use the probe to find Z0 point before creating the mesh, and again before loading a saved mesh, and indeed before starting the print. This is because the Zmax position is fixed in space, but the bed surface is likely to move slightly over time, especially with thermal changes. This is why Z probes came about, as they find Z0 based on the bed surface itself rather than an endstop position separate from the bed. You've worked around the offset by adding your own baby stepping offset. The reason the G31 doesn't seem to have an effect is because you're not actually applying it when you home with zmax.