Just posting my opinion having been coding my driver… but it would be REALLY useful (going forward I guess) if the observation array did not change much.
Air Temperature on an Air is in array value 2, but on a Tempest it is in 7.
Solar Radiation on a Sky is in 10, but on a Tempest it is in 11.
This means that you need to test for what the device type is and then build your own data off the array for each. If it was a bit more standardized (ex: 2 was ALWAYS Air Temperature and if a device does not support it, it returns null) it would have made it much easier going forward.
Maybe for the next device after Tempest, or any add-on devices, it could at least be based from the array for Tempest, with new fields always added to the end of the array going forward?