Update:
I have managed to do this by calculating the AQI value using a Home Assistant Sensor Template and passing this back to the monitor to display on the OLED. Have attached the code for anyone trying to do the same thing.
Home Assistant Configuration.yaml:
(Originally from here)
template:
- sensor:
- name: "AQI (pm2.5)"
state: >-
{% macro aqi(val, val_l, val_h, aqi_l, aqi_h) -%}
{{(((aqi_h-aqi_l)/(val_h - val_l) * (val - val_l)) + aqi_l)|round(0)}}
{%- endmacro %}
{% set v = states('sensor.airgradient_pro_particulate_matter_2_5um_concentration')|round(1) %}
{% if v <= 12.0 %}
{{aqi(v, 0, 12.0, 0, 50)}}
{% elif 12.0 < v <= 35.4 %}
{{aqi(v, 12.1, 35.4, 51, 100)}}
{% elif 35.4 < v <= 55.4 %}
{{aqi(v, 35.5, 55.4, 101, 150)}}
{% elif 55.4 < v <= 150.5 %}
{{aqi(v, 55.5, 150.4, 151, 200)}}
{% elif 150.4 < v <= 250.4 %}
{{aqi(v, 150.4, 250.4, 201, 300)}}
{% elif 250.5 < v <= 500.4 %}
{{aqi(v, 250.5, 500.4, 301, 500)}}
{% else %}
Very Very Bad
{% endif %}
unit_of_measurement: AQI
device_class: aqi
espHome yaml:
- platform: homeassistant
id: AQI
entity_id: "sensor.aqi_pm2_5"
Then you just need to pass that value to a the screen as you would for an internal value