Hello,
I am implementing a Fuel Consumption app using the Ulbotech products.
Traccar provides support for these devices, but I have observed something a bit strange on the code of the "UlbotechProtocolDecoder.java" class.
According to the manufacturer specification [1], the FUL variable should be compute with the following formula:
Real Fuel Consumption (liter) = Value/10/AFR/Density
AFR = Air fuel rate of fuel
Density = Density of fuel (g/L)
Instead, the class on traccar performed the following code:
case DATA_FUEL:
position.set("fuelConsumption", buf.readUnsignedInt() / 10000.0);
break;
My question is: Is this an error in the protocol implementation? or there is a reason why, the computation of the fuel differs from the actual protocol from Ulbotech. Is it plan to update the protocol specification on Traccar for this fabricant?
[1] Ulbotech Tracking Device Communication Protocol, Version v1.9
Thanks in advanced
Kind regards
Ana Orozco
I'm not sure why it is divided 10000.0, but Traccar doesn't have information about AFR and fuel density, so it's not possible to calculate it directly in the decoder. What you can do is use computed attributes to fix the problem.
Hello,
I am implementing a Fuel Consumption app using the Ulbotech products.
Traccar provides support for these devices, but I have observed something a bit strange on the code of the "UlbotechProtocolDecoder.java" class.
According to the manufacturer specification [1], the FUL variable should be compute with the following formula:
Instead, the class on traccar performed the following code:
My question is: Is this an error in the protocol implementation? or there is a reason why, the computation of the fuel differs from the actual protocol from Ulbotech. Is it plan to update the protocol specification on Traccar for this fabricant?
[1] Ulbotech Tracking Device Communication Protocol, Version v1.9
Thanks in advanced
Kind regards
Ana Orozco