https://github.com/GlennGoddard/CanvasGaugeBackgrounds
When I get back home I will post my sensor yaml for everything PurpleAir. I have a sensor that states the nomenclature of the air quality such as Good, Moderate, Unheathy…
I also have automations that announce the change from one category to another over smart speakers and notifications to phones.
Phones:
alias: Notification Air Quality Change - Phones
description: Phones
trigger:
- platform: state
entity_id: sensor.purpleair_description
for: '0:10:00'
condition:
- condition: time
before: '20:30:00'
after: '04:00:00'
action:
- service: notify.mobile_app_glenn_s21
data:
message: >-
{{states['sensor.time'].state}} Air Quality is
{{states('sensor.purpleair_description') }} at AQI
{{states('sensor.purpleair_aqi_a')}}
- service: notify.mobile_app_karen_s21
data:
message: >-
{{states['sensor.time'].state}} Air Quality is
{{states('sensor.purpleair_description')}} at AQI
{{states('sensor.purpleair_aqi_a')}}
- service: notify.mobile_app_ktab
data:
message: >-
{{states['sensor.time'].state}} Air Quality is
{{states('sensor.purpleair_description')}} at AQI
{{states('sensor.purpleair_aqi_a')}}
- service: input_text.set_value
target:
entity_id: input_text.aqi_last
data:
value: '{{states(''sensor.purpleair_description'') | string}}'
mode: single
Speakers:
alias: Notification Air Quality Change - Speaker Office
description: WiFi Speaker
trigger:
- platform: state
entity_id: sensor.purpleair_description
for: '0:10:00'
condition:
- condition: state
entity_id: light.leviton_light_office
state: 'on'
action:
- service: media_player.volume_set
data:
volume_level: 0.9
entity_id: media_player.rpispeaker2
- service: tts.marytts_say
entity_id: media_player.rpispeaker2
data_template:
message: >-
Air Quality Index is {{ states('sensor.purpleair_description') }} at {{
states('sensor.purpleair_aqi_a') }}
mode: single
This tread has some good info:
https://community.home-assistant.io/t/purpleair-air-quality-sensor/146588