WAQI Sensor - Locations based on Geo

The current WAQI (World Air Quality Index) sensor allows for only weather station locations as inputs. Such as the following:

  - platform: waqi
    token: <token>
    locations:
      - 'portland'

I’ve implemented logic to allow for an additional method of identifying locations with geo coordinates and a radius. Of course, if either method specifies a location, a single sensor is located for each stations regardless. The yaml config format would look like:

<longitiude> , <latitiude> , <radius in km>

For example:

  - platform: waqi
    token: <token>
    geos:
      - 43.9,-133.2,25.0
      - 43.8,-111.6,50.0
      - 41.1, -111.654789, 2.0

I found this new method easier to maintain and should allow for future new stations or stations retirement, with less user configurations changes.

I’m happy to implement a PR for this change, if I can get community and code owner inputs.

Any thoughts?
Thanks for looking!!

Suggest looking at the Environment Canada integration as an example. It pulls lat/long from the base HA configuration so you wouldn’t even need the user to enter that.

geos: is invalid, does not work

Invalid config for [sensor.waqi]: [geos] is an invalid option for [sensor.waqi]. Check: sensor.waqi->geos. (See ?, line ?).

Why is this sensor ( and everything else ) so poorly documented?
no examples of station usage
no list of valid options or syntax
sigh

3 Likes