Package: luftdatenpumpe
LuftdatenpumpeAboutProcess live and historical data fromluftdaten.info,ircelineandOpenAQ.
Filter by station-id, sensor-id and sensor-type, apply reverse geocoding,
store intoTSDBandRDBMSdatabases (InfluxDBandPostGIS),
publish toMQTTor just output as JSON.FeaturesLuftdatenpumpeacquires the measurement readings either from the livedata API
ofluftdaten.infoor from its archived CSV files published toarchive.luftdaten.info.
To minimize impact on the upstream servers, all data gets reasonably cached.While iterating the readings, it optionally filters on station-id, sensor-id or sensor-type
and restrains information processing to the corresponding stations and sensors.Then, each station’s location information gets enhanced byattaching its geospatial position as aGeohash.attaching a synthetic real-world address resolved using the reverse geocoding serviceNominatimbyOpenStreetMap.Information about stations can bedisplayed on STDOUT or STDERR in JSON format.filtered and transformed interactively throughjq, the swiss army knife of JSON manipulation.stored intoRDBMSdatabases likePostgreSQLusing the finedatasetpackage.
Being built on top ofSQLAlchemy, this supports all major databases.queried using advanced geospatial features when runningPostGIS, please
follow up reading theLuftdatenpumpe PostGIS tutorial.Measurement readings can bedisplayed on STDOUT or STDERR in JSON format, which allows for piping intojqagain.forwarded toMQTT.stored toInfluxDBand thendisplayed inGrafana.Synopsis# List networks
luftdatenpumpe networks

# List LDI stations
luftdatenpumpe stations --network=ldi --station=49,1033 --reverse-geocode

# Store list of LDI stations and metadata into RDBMS database (PostgreSQL), also display on STDERR
luftdatenpumpe stations --network=ldi --station=49,1033 --reverse-geocode --target=postgresql://luftdatenpumpe@localhost/weatherbase

# Store LDI readings into InfluxDB
luftdatenpumpe readings --network=ldi --station=49,1033 --target=influxdb://luftdatenpumpe@localhost/luftdaten_info

# Forward LDI readings to MQTT
luftdatenpumpe readings --network=ldi --station=49,1033 --target=mqtt://mqtt.example.org/luftdaten.infoFor a full overview about all program options including meaningful examples,
you might just want to runluftdatenpumpe--helpon your command line
or visitluftdatenpumpe –help.ScreenshotsLuftdaten-Viewer displays stations and measurements from luftdaten.info (LDI) in Grafana.Map display and filteringFilter by different synthesized address components and sensor type.Display measurements from filtered stations on Grafana Worldmap Panel.Display filtered list of stations with corresponding information in tabular form.Measurement values are held against configured thresholds so points are colored appropriately.Map popup labelsHumanized label computed from synthesized OpenStreetMap address.Numeric station identifier.Measurement value, unit and field name.InstallationIf you are running Python 3 already, installing the program should be as easy as:pip install luftdatenpumpeAt this point, you should be able to conduct simple tests likeluftdatenpumpe stationsas seen in the synopsis section above.
At least, you should verify the installation succeeded by running:luftdatenpumpe --versionHowever, you might have to resolve some prerequisites so you want to follow
the detailed installation instructions atinstall Luftdatenpumpe.Luftdaten-ViewerAboutUsing Luftdatenpumpe, you can build user-friendly interactive GIS systems
on top of PostGIS, InfluxDB and Grafana. We are calling this “Luftdaten-Viewer”.Without further ado, you might enjoy reading about existing “Luftdaten-Viewer”
installations atTestimonials for Luftdatenpumpe.InstructionsThese installation instructions outline how to setup the whole system to build
similar interactive data visualization compositions of map-, graph- and other
panel-widgets like outlined in the “Testimonials” section.Luftdaten-Viewer ApplicationsLuftdaten-Viewer DatabasesLuftdaten-Viewer GrafanaLicenseThis project is licensed under the terms of the GNU AGPL license.Content attributionsThe copyright of particular images and pictograms are held by their respective owners, unless otherwise noted.Icons and pictogramsWater Pump Free IconfromIcon Fontsis licensed by CC BY 3.0.