Does the GetFeed StatusData return DiagnosticEngineHoursAdjustmentId? Looks like it didn't return for me.
You need to be logged in to reply to this post and participate in the Geotab Community discussions.
Hey @FAPI-8332,
Search isn't supported on StatusData for GetFeed so you'll need to do your filtering after getting results.
You can look at the API reference here to see what is and isn't supported for each object: https://developers.geotab.com/myGeotab/apiReference/methods/GetFeed/index.html
Thanks,
Tucker
I didn't do search for GetFeed. I check result return and I don't see it is there. Geotab's measurement returned the data, GET method also return data, but the GetFeed did not. The only missing is DiagnosticEngineHoursAdjustmentId. I wonder if the Adjustment diagnostic won't return from the GetFeed?
Edited by DarenPorter-1148
EDIT: Take a look at Tucker's reply to this, it may not be quite as simple as I'm making it out to be.
If I'm not mistaken, the "adjustment" IDs like DiagnosticEngineHoursAdjustmentId are purely interpolated values, meaning that they're calculated and generated only at the time of a specific query by interpolating between the closest two known diagnostic data points. Because they're only generated in response to queries (for example, making a Get call for the engine hours at a point that falls between two raw engine hour reads from a given engine), I wouldn't expect those to come through the Feed. I would expect to see the DiagnosticEngineHoursIds, which are the "raw" reads from the engine, but not the adjustments.
I don't know the specifics around EngineHours, but for Odometer, I don't think the AdjustmentId is interpolated necessarily (it can be), but it's more of a calculated value based on multiple factors like odometer offset, factor, adjustment, and raw. I haven't tested it, but I would've assumed the AdjustmentIds would come through a GetFeed based on this (but I'm not 100% sure). Here are some articles that explain the odometer values:
https://community.geotab.com/s/article/What-are-the-definitions-of-Odometer-Odometer-Factor-Adjustment-Offset-and-Raw-Odometer-and-how-do-they-work?language=en_US
https://community.geotab.com/s/article/How-to-find-Odometer-Offset-through-the-SDK
I have a meeting that's about to start but I can run some tests later today and see what I find.
One thing I found is that when I search for Engine Hours in the MyGeotab UI, it uses the DiagnosticEngineHoursAdjustmentId diagnostic but returns Engine Operational time, which if you use that in the filter, it comes back with DiagnosticEngineHoursId instead, which makes me wonder what DiagnosticEngineHoursAdjustmentId actually is vs just using DiagnosticEngineHoursId. We might need clarification from someone at Geotab on this.
When I did a StatusData feed I only got DiagnosticEngineHoursId results for that device too. Now maybe it's because that device hasn't had an adjustment, but I just made one and it takes time to go through, so I won't be able to finish testing this until tomorrow. I'll let you guys know what I find.
@DarenPorter-1148 @FAPI-8332 It actually went through pretty quickly, and I reran the feed, and it showed up. So it looks like the adjustment comes through once you make an adjustment in the UI. Now I need to wait for the next reading which will be tomorrow to see if all future readings will come through as the adjustment ID or the regular one. I'll check tomorrow and let you guys know
@FAPI-8332 There was a delay in the data being sent from our feed for this, but it finally came through last night. The AdjustmentId for Engine hours was only for the manual adjustment made and only showed up on the data at the time I made the manual adjustment. From there, DiagnosticRawEngineHoursId was the raw value without the adjustment and DiagnosticEngineHoursId was the value with the adjustment (so DiagnosticRawEngineHoursId + the adjustment I made). Just to give a real example to hopefully make it clear:
I hope that helps explain how that works, let me know if you have any other questions.
Thanks,
Tucker
Really appreciate the investigation and legwork on this @TuckerBA-1087. Just to make sure I understand, it seems like your investigation concludes that:
Did I get that right? If so, this might be a decent summary for @FAPI-8332. Thanks again for running it down!
Almost right, the only corrections would be:
And I think you might have been on the same page as me the whole time based on the 3rd bullet point which is exactly right, but I just wanted to clarify the first 2 points just since it was slightly different.