If the developer created this WBO2 to utilize the Innovate protocol, then the correct multiplier needs to be sent in the data stream. I suggest you contact the developer to have them correct the multiplier value.
Changing the plugin to accept a user defined multiplier correction factor seems like an odd thing to do since the user wouldn't know what the correction factor would need to be set to. How would you calibrate the system to determine this?
It would be easier to have a setting to ignore the multiplier and use only the lambda value.
Another odd thing I noticed is that the values reported (although wrong) vary by a large amount within just a few milli-seconds. In this example you can see this.
Code:
48359 TRACE [Thread-12] - Innovate AFR: 4.802
48359 TRACE [Thread-12] - Innovate response: B282423103F4
48359 TRACE [Thread-12] - Innovate AFR: 2.3912
48412 TRACE [Thread-12] - Innovate response: B28242310360
48412 TRACE [Thread-12] - Innovate AFR: 4.802
48477 TRACE [Thread-12] - Innovate response: B282423103F4
48477 TRACE [Thread-12] - Innovate AFR: 2.3912
Within 118 msecs the values changed from 4.802 down to 2.3912 and back up to 4.802.
If I use the lambda value sent (ignoring the multiplier) this is a swing from 1 down to 0.852 (or 14.7 AFR down to 12.52). This seems to be changing too fast and it happens quite often throughout the trace.
In the first video the WBO2 seems to read quite high at idle, well above 14.7, is the WBO2 calibration off?