I tested it again but now with enabled debugging output
Hopefully you can find the bug now
G29 P 0 T M A Unified Bed Leveling System activated. Mesh zeroed. echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing raw get_z_correction(23.00,140.00)=0.000000 >>>---> 0.000000 raw get_z_correction(23.00,20.00)=0.000000 >>>---> 0.000000 raw get_z_correction(150.00,20.00)=0.000000 >>>---> 0.000000 echo:busy: processing d from first point: -5.514165 c: -5.274687 d from second point: -5.514165 c: -5.408281 d from third point: -5.514165 c: -4.946562 Bed Topography Report: (0,9) (9,9) (22,165) (199,165) -5.25049 -5.17899 -5.10749 -5.03599 -4.96449 -4.89299 -4.82149 -4.74999 -4.67849 -4.60699 -5.26892 -5.19742 -5.12592 -5.05442 -4.98292 -4.91142 -4.83992 -4.76842 -4.69692 -4.62542 -5.28735 -5.21585 -5.14435 -5.07285 -5.00135 -4.92985 -4.85835 -4.78685 -4.71535 -4.64385 -5.30578 -5.23428 -5.16278 -5.09128 -5.01978 -4.94828 -4.87679 -4.80529 -4.73379 -4.66229 -5.32421 -5.25271 -5.18122 -5.10972 -5.03822 -4.96672 -4.89522 -4.82372 -4.75222 -4.68072 -5.34265 -5.27115 -5.19965 -5.12815 -5.05665 -4.98515 -4.91365 -4.84215 -4.77065 -4.69915 -5.36108 -5.28958 -5.21808 [-5.14658] -5.07508 -5.00358 -4.93208 -4.86058 -4.78908 -4.71758 -5.37951 -5.30801 -5.23651 -5.16501 -5.09351 -5.02201 -4.95051 -4.87901 -4.80751 -4.73601 -5.39794 -5.32644 -5.25494 -5.18344 -5.11194 -5.04044 -4.96894 -4.89744 -4.82594 -4.75444 -5.41637 -5.34487 -5.27337 -5.20187 -5.13037 -5.05887 -4.98737 -4.91587 -4.84437 -4.77287 (22,16) (199,16) (0,0) (9,0) ok M111 S128 echo:DEBUG:ADJUSTMENTS ok M114 X:88.50 Y:74.50 Z:15.00 E:0.00 Count X: 7080 Y:5960 Z:38400 ok G29 A Unified Bed Leveling System activated. ok NOW Moving up and down with the encoder on LCD the nozzle is much higher then 3mm over the bed raw get_z_correction(88.50,74.50)=-5.109477 >>>---> 0.000000 buffer_line( 88.50, 74.50, 7.000000) >>>---> [0.000000] (88.50, 74.50, 7.000000) raw get_z_correction(88.50,74.50)=-5.109477 >>>---> 0.000000 buffer_line( 88.50, 74.50, 3.000000) >>>---> [0.000000] (88.50, 74.50, 3.000000) M114 X:88.50 Y:74.50 Z:3.00 E:0.00 Count X: 7080 Y:5960 Z:7680 ok G0 Z3 Mesh scaling factor set for Z-Height 3.00 to 0.70 [Fade=10.00] raw get_z_correction(88.50,74.50)=-5.109477 >>>---> -3.576633 buffer_line( 88.50, 74.50, 3.000000) >>>---> [-3.576633] (88.50, 74.50, -0.576633) ok M114 X:88.50 Y:74.50 Z:3.00 E:0.00 Count X: 7080 Y:5960 Z:-1476 ok NOW after G0 move the height is correct and the level compensation works for example a move along the X-Axis with the encoder raw get_z_correction(22.00,74.50)=-5.351243 >>>---> -3.745870 buffer_line( 22.00, 74.50, 3.000000) >>>---> [-3.745870] (22.00, 74.50, -0.745870) raw get_z_correction(182.00,74.50)=-4.769549 >>>---> -3.338685 buffer_line( 182.00, 74.50, 3.000000) >>>---> [-3.338685] (182.00, 74.50, -0.338685)
Hopefully you can find the bug now