Ah sorry you're completely right, I haven't noticed that the encoder is not working properly in the 3-byte message mode because the controller which I used has 14 potentiometers and only one encoder so maybe I just never assigned a function to it where it was obvious that it only goes between min and max values.
So the logic needs to be expanded as currently Gecho cannot tell a difference between 3-byte message from potentiometer, which can also returns the same max and min value, and 3-byte message from encoder. But it is easy to make this work, we simply need to look at whether any other values are transmitted in between; if yes, it's a potentiometer and we will parse the values as absolute, and if not, it's an encoder and we will parse the messages as increments by 1.
For now you'd need to send 6-byte messages to make this work, but looks like your controller does not support it?
I'll make sure that this is fixed in the next fw update, thank you for reporting the problem!