Powietrze

Rating: 
5
Your rating: None Average: 5 (2 votes)

Now we have so much countries! Thanks to openaq.org which collects data for more then seventy countries!

Powietrze takes current state of air quality from:
* powietrze.gios.gov.pl
* openaq.org
* airly.eu

You can check the concentration of PM2.5, PM10, C6H6 and NO2, O3 gases. Application can calculate European Air Quality Index for all providers and gets PIJP from powietrze.gios.gov.pl and CAQI from airly.eu. You can check pollutions on stations nearest you and add stations to favourite list.

Airly.eu requires to have the api key. You can generate own key on their site: https://developer.airly.eu. Free license allows to 2000 request per day.

Thanks to translators!

  • Chinese - dashinfantry
  • Swedish - eson57

Looking for a source code?  Check here: https://github.com/Kormil/harbour-powietrze

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File harbour-powietrze-1.2.1-1.i486.rpm385.55 KB26/10/2019 - 20:34
File harbour-powietrze-1.2.1-1.armv7hl.rpm366.18 KB26/10/2019 - 20:34
File harbour-powietrze-1.2.2-1.armv7hl.rpm367.61 KB29/10/2019 - 11:22
File harbour-powietrze-1.2.2-1.i486.rpm387.06 KB29/10/2019 - 11:22
Changelog: 

1.2.2
- Fix gps bug
- Fix station result page
- Added Swedish translate (thanks to eson57)

1.2.1

- Trimming api key
- Added minimum value to OpenAQ
- Make more  pages scrollable
- Added Chinese translates (thanks to dashinfantry)

1.2.0

- Added new data provider: OpenAQ
- Added new data provider: Airly
- Added pages with providers settings
- Added possibility to cancel gps locating
- Added new method for air index calculating: EuropeanAQ
- Added shorter pollution names for Powietrze
- Minor optimizations and bug fix

Comments

olf's picture

Thank you so much for Powietrze, especially the recent release of v1.2.0, which broadened its scope beyond Poland.

Unfortunately a couple of bugs render Powietrze unusable for me, currently:

  1. Many of Powietrze's pages are not scrollable, even if they do not fit on the screen. Hence in landscape orientation (tested on a Jolla 1) the result pages only show the top lines of data, while the bottom of these pages is unreachable (without resorting to portrait orientation).
  2. When using OpenAQ.org as data provider, all locations show solely "0" as data. Everything else seems to work fine, e.g. the number of data entries varies between locations etc.
  3. Trying to use Airly.eu, Powietrze fails to download the "nearest stations" data before / when entering the "Select country" page (i.e., directly after selecting Airly as data provider).
    An API key was entered and is used as a parameter in the web-link mentioned in Powietrze's error message (although with an appended %0A), while the example from Airly's web-page works:
    [nemo@sailfish tmp]$ curl -X GET --header 'Accept: application/json' --header "apikey: $apikey" https://airapi.airly.eu/v2/meta/indexes'
  4. With Powietrze as data provider everything works fine, but is useless for people outside of Poland.

P.S.: Thanks for providing a link to Powietrze's source code repository and its issue tracker.
May I suggest to also provide this web-link in Powietrze's description here at OpenRepos (i.e., above), but without a Facebook client ID as a parameter!

Kormil's picture

Many thanks for your feedback, it'll be very helpful to make the Powietrze more usefull for others!

2: May you give me one name of stations with 0 on all pollutions?

1 and 3: I will push a small update in a few days

olf's picture

WRT bug #2:

When using OpenAQ.org as data provider, all locations show solely "0" as data.

I.e., I have not found a single location provided by OpenAQ, which does not show "0" for all its data entries (although the number of data entries varies between locations provided by OpenAQ).

Kormil's picture

Ok, i think it's problem on openaq.org side, because on their site there is a lot of zeros for e.g. https://openaq.org/#/location/DENI070?_k=vrhhlz . I will send them an e-mail and check this in our side too.

olf's picture

To stay with your example:

  • https://openaq.org/#/location/DENI070 outputs all zeros in the section "Stats: Latest measurements", as all other locations do.
  • But by looking at the section "Values Breakdown" one can see that some values somtimes are not reported as zero, although rarely.
  • Ultimately everything is fine, when looking at the web API (one click away from there to try out):
    https://api.openaq.org/v1/locations?location=DENI070
    All values are nicely there!
  • Does that mean Powietrieze performs some kind of "webpage scraping" (bad!) instead of using the OpenAQ's web API?
Kormil's picture

I'm not sure you are right - I think the "count" member is number of measurements, cumulative by specificity polution like it's describe on API documentation. To get properly values of measurments you should look at this package: https://api.openaq.org/v1/measurements?location=DENI070. I see there was others values than 0, we use currently data though.

olf's picture

Yes, ACK.

And the data from the correct link is absolutely consistent with the data graphically rendered in the section "Values breakdown": Mostly zeros, with a few real values at various times.

So when Powietrze picks the most recent data from a dataset, it will almost always fetch only zeros from OpenAQ for any location, exactly as the data displayed in the section "Stats: Latest measurements" does.

Well, you may consider either or both of:

  • Pick the last value for each measurement category from the dataset for a location, which does not equal zero.
    You may also display its timestamp (e.g., in braces) together with the value proper.  IMO, this also makes sense regardless of this enhancement and the data provider used.
  • Address this issue to OpenAQ, because it needs client-side workarounds (as the one described above) and even renders their webpage section "Stats: Latest measurements" useless plus the section "Values breakdown" ugly.
olf's picture

Much easier and more general: Discard all measurements (i.e., entries) from a dataset (by filtering out entries, which contain "value":0) right after downloading it, before any further processing.

Side note: IMO OpenAQ should do that before publishing their datasets, but it may take a while (or endlessly) to convince them.

olf's picture

WRT bug #3:

The "Copy" button on Airly's API key web page puts this into the copy&paste buffer (note the trailing line break):
"apikey: Afoo123bar456A
"

While Powietrze successfully cuts away the "apikey: " prefix when pasting that into the corresponding field, it retains the trailing line feed character (LF, ASCII 0A).
After correcting this and restarting Powietrze, Airly.eu works fine as data provider.

Vieno's picture

Thanks for this app. Didn't know that there is a puplic service for this. And there's an Sailfish app now too.

Historyscholar's picture

How to localize it?

Kormil's picture