Air quality alert notification (Airobot)
Description
Get notified on your phone when the air quality in your home drops below acceptable levels. Works with any Airobot smart thermostat equipped with the optional CO₂ sensor.
What it does
- Monitors the air quality (CO₂) sensor on your Airobot thermostat
- Detects when the CO₂ level rises above a configurable threshold (default: 1000 ppm)
- Sends a mobile notification with the current reading and threshold value
- Only alerts when the value is actively rising, so you won’t get duplicate notifications from small fluctuations
Inputs
| Input | Description | Default |
|---|---|---|
| Air quality sensor | The sensor entity that measures air quality (CO₂) | Required |
| Threshold | Alert when value goes above this number (0–2000) | 1000 |
| Mobile device | Device to send notification to (Mobile App) | Required |
| Notification title | Title for the notification | “Poor Air Quality” |
| Notification message | Message body (use {{ trigger.to_state.state }} for current value and {{ trigger.above }} for threshold) |
“Air quality in {area} is {value} (threshold: {threshold})” |
Requirements
- Airobot integration configured with a thermostat that has the optional CO₂ sensor
- Mobile App set up on at least one device
Blueprint import
blueprint:
name: "Airobot Air Quality Alert"
description: >-
Sends a notification when air quality exceeds a configurable
threshold. Works with any Airobot thermostat that has the
optional CO₂ sensor.
domain: automation
input:
air_quality_sensor:
name: "Air quality sensor"
selector:
entity:
filter:
- domain: sensor
threshold:
name: "Threshold"
description: "Alert when value goes above this number"
default: 1000
selector:
number:
min: 0
max: 2000
notify_device:
name: "Mobile device"
description: "Device to send notification to"
selector:
device:
filter:
- integration: mobile_app
notification_title:
name: "Notification title"
description: "Title of the notification"
default: "Poor Air Quality"
selector:
text:
notification_message:
name: "Notification message"
description: >-
Message body (use {{ trigger.to_state.state }} for
current value and {{ trigger.above }} for threshold)
default: >-
Air quality in {{ area_name(trigger.entity_id) }}
is {{ trigger.to_state.state }}
(threshold: {{ trigger.above | int }})
selector:
text:
multiline: true
triggers:
- trigger: numeric_state
entity_id: !input air_quality_sensor
above: !input threshold
conditions: >-
{{
trigger.from_state.state | float(0)
< trigger.to_state.state | float(0)
}}
actions:
- device_id: !input notify_device
domain: mobile_app
type: notify
title: !input notification_title
message: !input notification_message