By default, the range of an Osc channel in MM is from 0 to 1. If we receive a value outside that range, we adapt the range and we remember that. When you assign an Osc address to a parameter in MM (ie "/Surfaces/Surface 1/Opacity"), whenever MM receives a value, it will normalize it and send it to the target parameter.
So if you get 17% when sending 0, it means that you sent a negative value at least once on that address.
Maybe it would be better to hardcode the range of a float parameter between 0-1. Most OSC apps are only sending 0-1 values. What are you using to send Osc ?
Matthieu - MM team