Maintenance event attributes

Victor Butler4 months ago

Hello,

I noticed a strange attributes value for the maintenance events. See below.

Here is an extract from the database - tc_events table, notice how the attributes show {"odometer":5.9021E7}. Shouldn't the format be {"odometer":59021000}?
Server version 6.1.

Last column called odometer I added manually by getting the odometer value from the positions table for the given positionid:

type eventtime deviceid positionid geofenceid attributes maintenanceid odometer
maintenance 08/08/2024 14:00 1 1 NULL {"odometer":5.9021E7} 1 59021000
maintenance 08/08/2024 14:11 2 2 NULL {"odometer":3.630170112E9} 2 3630170112
maintenance 08/08/2024 15:49 3 3 NULL {"odometer":3.355702E9} 3 3355702000
maintenance 08/08/2024 17:54 4 4 NULL {"odometer":1.61480704E8} 4 161480704
maintenance 08/08/2024 18:59 5 5 NULL {"odometer":3.630170112E9} 5 3630170112
maintenance 08/08/2024 19:07 6 6 NULL {"odometer":2.38592E8} 6 238592000
maintenance 08/08/2024 23:21 7 7 NULL {"odometer":5.9049E7} 7 59049000
maintenance 09/08/2024 01:10 8 8 NULL {"odometer":5.9059E7} 8 59059000
maintenance 09/08/2024 21:41 9 9 NULL {"odometer":3.630170112E9} 9 3630170112
maintenance 10/08/2024 03:01 10 10 NULL {"odometer":5.908E7} 10 59080000
maintenance 15/08/2024 18:01 11 11 NULL {"odometer":3.630170112E9} 11 3630170112
Anton Tananaev4 months ago
Victor Butler4 months ago

I know how the E notation works but it didn't seem normal to me that some odometer values are logged as {"odometer":5921000} and others are logged as {"odometer":5.9021E7}.

Anton Tananaev4 months ago

Why not? I think it just switches to E notation when it gets to a certain length.

Victor Butler4 months ago

Because in the API response we can get 5.9021E7 or 5921000 so we have to parse accordingly. That wouldn't be needed if the format was the same.

Anton Tananaev4 months ago

I'm sure any modern language can parse it automatically for you. I don't see it as a problem.