Apparent data-loss for two luftdaten.info sensor nodes

Problem

We are experiencing data-loss of two sensor nodes since 2018-03-26 and 2018-08-28. See also Dashboard: Feinstaub Verlauf with data-loss.

Analysis

We found the reason for the apparent data-loss: As the geolocation information published by luftdaten.info gets blurred on purpose, the outcome might wobble after running it through the reverse geocoder (luftdatenpumpe.py).

While the outcome yielded a specific road name some time ago, the measurements in question pretended to come from a different location now. As the data feed selection in the Grafana Feinstaub Verlauf Dashboard is based on the location string, it isn’t locked to the location_id. Bummer!

Thanks for investigating the data and finding out about this, @roh!

Solution

  • We switched the default selection of the Feinstaub Verlauf Dashboard to the recent locations.
  • luftdatenpumpe now also honors the footway field as another reverse geocoder field name alternative for encoding the name of the road.

Outlook

Without any doubt, it would be better to lock the selection to location ids or another deterministic identifier which just references an arbitrary label containing the information from the reverse geocoder. This would also save us from storing it in each and every timeseries record.

To check whether your location might possibly wobbling, you might want to query the Grafana API like

location_id = ‘1064’

http "https://luftdaten.hiveeyes.org/grafana/api/datasources/proxy/2/query?db=luftdaten_info&q=SHOW TAG VALUES FROM earth_43_sensors WITH KEY IN (location_name, location_id) WHERE location_id = '1064'"

location_id = ‘1071’

http "https://luftdaten.hiveeyes.org/grafana/api/datasources/proxy/2/query?db=luftdaten_info&q=SHOW TAG VALUES FROM earth_43_sensors WITH KEY IN (location_name, location_id) WHERE location_id = '1071'"

Map Grafana template variable identifiers to text labels using HTTP requests might come to the rescue.