Support for AirVisual's Outdoor Unit?

Was wondering if there was any support for the AirVisual Outdoor unit? AirVisual Series I don’t see that the current integration pulls any other information from the Pro unit that the indoor information, and I don’t see an option to include more than the one unit.

Thanks

It would would be great to see integration of the Outdoor unit.
At the moment I’m trying to get the info from the published data via API, but that’s also not yet working for me.

edit 12-12-2022: via online API is working. But I only get Air Quality Index. I really would love to get the temperature/humidity/pressure data.
I reached out to AirVisual, but it seems not possible to acquire this data from the unit directly.

just ordered Outdoor unit, so there is no way to get the particulate value in HA ?

It seems so. I really hope some one can reverse engineer the Outdoor unit so the data can be acquired by HA.
It’s a shame that the Outdoor unit cannot be reached like the indoor unit…

The outdoor unit seems perfect, PoE powered and hardwired for data! Does anyone know if the new AirVisual Pro integration would pick up the data if we used the Pro+Outdoor combo? Maybe @bachya knows as the author of the integration? :pray:

(My hope is that the samba data on the Pro unit includes data from the Outdoor one…)

1 Like

Not sure how I missed that thread, thank you! Doesn’t seem clear if outdoor unit has Samba or not, so maybe I will take the chance.

Hi All - Did anyone ever get this to work? I have an outdoor unit, but not an indoor pro unit.

It is my understanding that the indoor pro unit has the ability to show on its LCD screen the outdoor unit’s values. If this is correct - then does it mean that if you setup the HA integration with the Indoor Pro unit AND you have an outdoor unit, that you can then show the outdoor unit’s data in HA?

If I buy an indoor unit too will it fix my problem?

Is the SAMBA password for the outdoor unit printed somewhere on the unit itself?

The Indoor unit reads the Outdoor unit and makes some of the information available in its own history files. That means that if someone owns both units, they can read the AQI from the outside unit with the inside one.

Once I figured out that was possible I made a pull request to add support to the integration for using this, and that PR was merged in today. The good news is that this sensor will show up for people with both units after the next release.

The bad news is that this is only a subset of data, and not everyone owns both units. The only way to get all of the data off of the outdoor unit is via the SMB share, but there’s no way to get that password. Everyone who owns one of these units should contact IQAir and ask them to make this password retrievable from their app.

3 Likes

Thanks for doing this! I managed to get the Outdoor AQI from the updated integration. But… yeah, it would be nice to get the other data.

There is an integration to access the rest API, AirVisual Cloud - Home Assistant, and I have installed that. But among other issues you have to get a new key annually. It also does not give detailed data, just the AQI, the pollution “level” (e.g. Good) and the main pollutant (but not the amount), so not much more than the above.

For local access to raw data I see two possibilities: 1. get a SAMBA key for direct access to the device (or whatever, it may or may not be using SAMBA) e.g. from the app or from the Pro’s display 2. ask AirIQ to mirror all the data on the Pro.

I think 2 would be a straightforward extension and would work fine, but AirIQ has to do it (I have done my duty by sending a request, for either of these options; 2 would also not require exposing a second password). As for 1: We just need the password. SAMBA is not an especially secure protocol… but that seems like a last resort.

There is another “device” API with share codes etc. available via the AirIQ dashboard. Unlike the API used by the above “cloud” integration, this does seem to give actual device data. The dashboard is here: https://dashboard.iqair.com/

Update: device API apparently available to corporate or enterprise plans only. Ugh. It’s my device, I should be able to access my own data…

Update: device API apparently available to corporate or enterprise plans only. Ugh. It’s my device, I should be able to access my own data…

Agreed, though it’s worth noting that it isn’t strictly true that it requires the corporate or enterprise plans. It also is available is enableable on the free individual API tier if you publish your station publicly. Not a solution for everyone, and still has the worrying possibility of stopping working at the company’s whims (or insolvency), but should be quite viable to use the API for an integration?

Ex. using my device I just set up yesterday: https://device.iqair.com/v2/66d0c0be00e30446e1750a4e

But I take it then nobody has made an integration that uses these API endpoints? Dunno if I’ll get around to it quickly, since i’ve never done any such thing with Home Assistant and for practical purposes it’s kindof fine that the AirVisual Cloud integration only does AQI despite that I’d prefer PM2.5 specifically, but if nobody else has I will probably eventually scratch this itch . . .

Following up on this, since I have an AirVisual Pro indoors, and an AirVisual Outdoor on the outside of my house – I used the REST integration to pull data from this device.iqair.com endpoint, and it works quite well. As far as I can tell, the device.iqair.com domain is only ever referenced in this thread – they don’t list it as a public API, except in the bottom-right corner of the device details page off of https://dashboard.iqair.com/ :
Screenshot 2024-11-10 at 11.54.54 PM

It’s rate-limited to 30 requests per hour per IP (possibly more if you provided an API key, but one isn’t necessary, as long as the station is public). Using this API endpoint gives a significantly more accurate and up-to-date feed than the other options. In the graph below:

The AirVisual Pro line has odd drop-outs, and seems to lag slightly, and the granularity of the AirVisual Cloud data leaves something to be desired. I suspect the AirVisual Cloud data is doing a bunch of averaging with their models and other sensors in the area.

Here’s the YAML configuration I’m using:

rest:
  - scan_interval: 120
    # Replace the following line with the "Device API" URL from the bottom-right of the device page from https://dashboard.iqair.com/
    resource: https://device.iqair.com/v2/12345
    sensor:
      - name: "Outdoor AQI"
        value_template: "{{ value_json.current.aqius }}"
        device_class: aqi
      - name: "Outdoor humidity"
        value_template: "{{ value_json.current.hm }}"
        device_class: humidity
      - name: "Outdoor temperature"
        value_template: "{{ value_json.current.tp }}"
        device_class: temperature
        unit_of_measurement: "°C"
      - name: "Outdoor pressure"
        value_template: "{{ value_json.current.pr }}"
        device_class: pressure
        unit_of_measurement: Pa
      - name: "Outdoor pm25"
        value_template: "{{ value_json.current.pm25.conc }}"
        device_class: pm25
      - name: "Outdoor pm10"
        value_template: "{{ value_json.current.pm10.conc }}"
        device_class: pm10
      - name: "Outdoor pm1"
        value_template: "{{ value_json.current.pm1.conc }}"
        device_class: pm1