Apollo Automation AIR-1 Driver for Hubitat Elevation
This driver connects your Apollo Automation AIR-1 sensor directly to your HE hub thanks to the great work done by Jonathan Bradshaw (@jonathanb) - the ESPHome Hubitat Toolkit.
The driver can be installed using the community Hubitat Package Manager app or manually as a Bundle archive from GitHub.
No Home Assistant Needed: Direct WiFi connection to your Hubitat hub
No YAML Files to Edit: Simple IP address configuration - that's it!
No Cloud Dependencies: Everything runs locally on your network
Easy Setup: Install this driver package from HPM (Hubitat Package Manager), connect the device to your WiFi network, configure the IP address in the driver - done.
Zero Configuration: All device features work out-of-the-box
Native Hubitat Integration: Full support for Hubitat automations, dashboards, and apps
Technical Specifications (click to expand)
- Microcontroller: ESP32 with WiFi and Bluetooth
- Power: USB-C 5V (mains powered)
- Air Quality Sensors: SEN55 multi-sensor (PM, VOC, NOx, T, RH)
- Gas Sensors: ENS160 (CO, NH₃, C₂H₅OH, H₂, CH₄, NO₂)
- CO₂ Sensor: SCD40 NDIR sensor (400-40,000 ppm)
- Pressure Sensor: DPS310 (300-1200 hPa)
- Particulate Matter: PM1, PM2.5, PM4, PM10 detection
- VOC Detection: Volatile Organic Compounds index
- NOx Detection: Nitrogen Oxides index
- Operating Range: -40°C to +85°C (-40°F to +185°F)
- Connectivity: WiFi 802.11 b/g/n, Bluetooth 4.2
- Dimensions: Compact desktop air quality monitor
- Mounting: Desktop stand with optional wall mount
Use Cases (click to expand)
The Apollo Automation AIR-1 is ideal for:
- Indoor Air Quality Monitoring: Comprehensive air quality assessment for homes and offices
- HVAC Optimization: Monitor air quality to control ventilation and filtration systems
- Health Monitoring: Track pollutants and allergens for respiratory health
- Smart Home Automation: Automate air purifiers, fans, and windows based on air quality
- Office Environment: Monitor CO₂ levels and air quality in workspaces
- Kitchen Monitoring: Detect cooking fumes and gas levels
- Allergen Detection: Monitor particulate matter and VOCs that affect allergies
- Energy Efficiency: Optimize HVAC operation based on actual air quality needs
- Sleep Quality: Monitor bedroom air quality for optimal sleep environment
Apollo Automation AIR-1
Apollo Automation is a local tech startup building advanced hardware and software in Lexington, KY.
Apollo Automation devices come pre-flashed with ESPHome firmware - just connect your AIR-1 to your WiFi network and add the device IP address in the Preferences tab of this driver. No additional software, bridges, or complex configurations required.
Driver Description
The Apollo Automation AIR-1 driver provides comprehensive air quality monitoring capabilities with dozens of available attributes. For everyday use, the driver displays only the essential air quality attributes by default, keeping your device interface clean and focused. Advanced users can enable additional diagnostic attributes through the preferences when needed.
Main Attributes
carbonDioxide
: CO₂ concentration from SCD40 sensor (400-40,000 ppm)temperature
: Primary temperature reading from SEN55 sensorhumidity
: Relative humidity from SEN55 sensor (0-100% RH)pressure
: Barometric pressure from DPS310 sensor (hPa)pm1
: PM <1µm weight concentration (µg/m³)pm25
: PM <2.5µm weight concentration (µg/m³)pm4
: PM <4µm weight concentration (µg/m³)pm10
: PM <10µm weight concentration (µg/m³)sen55Voc
: VOC (Volatile Organic Compounds) indexsen55Nox
: NOx (Nitrogen Oxides) indexvocQuality
: VOC quality text rating (Good, Fair, Poor, etc.)networkStatus
: Connection status ['connecting', 'online', 'offline']online
: Device online status from ESPHome ['true', 'false']rgbLight
: RGB LED control ['on', 'off']
Advanced Attributes
These advanced attributes, disabled by default, provide additional insights and control for power users seeking enhanced functionality.
Complete Attribute List (click to expand)
Attribute | Type | Description |
---|---|---|
carbonDioxide |
number | CO₂ concentration (ppm) from SCD40 sensor |
temperature |
number | Primary temperature reading (°C/°F) |
humidity |
number | Relative humidity percentage |
pressure |
number | Barometric pressure (hPa) |
pm1 |
number | PM <1µm weight concentration (µg/m³) |
pm25 |
number | PM <2.5µm weight concentration (µg/m³) |
pm4 |
number | PM <4µm weight concentration (µg/m³) |
pm10 |
number | PM <10µm weight concentration (µg/m³) |
sen55Voc |
number | SEN55 VOC index |
sen55Nox |
number | SEN55 NOx index |
vocQuality |
string | VOC quality text rating |
networkStatus |
enum | Device connection status |
online |
enum | Device online status from ESPHome |
rgbLight |
enum | RGB LED control |
rtt |
number | Round-trip time measurement (ms) |
ammonia |
number | Ammonia (NH₃) gas concentration |
carbonMonoxide |
number | Carbon Monoxide (CO) gas concentration |
ethanol |
number | Ethanol (C₂H₅OH) gas concentration |
hydrogen |
number | Hydrogen (H₂) gas concentration |
methane |
number | Methane (CH₄) gas concentration |
nitrogenDioxide |
number | Nitrogen Dioxide (NO₂) gas concentration |
sen55TemperatureOffset |
number | SEN55 temperature calibration offset |
sen55HumidityOffset |
number | SEN55 humidity calibration offset |
pm03To1 |
number | PM 0.3 to 1 µm concentration |
pm1To25 |
number | PM 1 to 2.5 µm concentration |
pm25To4 |
number | PM 2.5 to 4 µm concentration |
pm4To10 |
number | PM 4 to 10 µm concentration |
espTemperature |
number | ESP32 chip temperature |
uptime |
string | Device uptime since last restart |
rssi |
number | WiFi signal strength (dBm) |
preventSleep |
enum | Sleep prevention control |
sleepDuration |
number | Sleep duration in minutes |
Commands
initialize()
- Establishes connection to the device and starts monitoring. Automatically called during device setup or manually from device commands.refresh()
- Refreshes device information and clears cached data. Manually refresh device status and request updated information from the device.setRgbLight(value)
- Control the RGB LED indicator. Parameters:value
['off', 'on']. Usage:setRgbLight('on')
orsetRgbLight('off')
espReboot(value)
- Restart the ESP32 device. Parameters:value
['reboot']. Usage:espReboot('reboot')
ping(value)
- Measure network round-trip time to device. Parameters:value
['ping']. Usage:ping('ping')
. Updatesrtt
attribute with response time in milliseconds.calibrateScd40(value)
- Calibrate CO₂ sensor to 420ppm (outdoor air reference). Parameters:value
['calibrate']. Usage:calibrateScd40('calibrate')
cleanSen55(value)
- Initiate SEN55 sensor cleaning cycle. Parameters:value
['clean']. Usage:cleanSen55('clean')
refreshSensors(value)
- Refresh all sensors and bypass thresholds temporarily. Parameters:value
['refresh']. Usage:refreshSensors('refresh')
. Forces immediate sensor readings regardless of threshold settings, with events marked[Refresh]
.
Preferences
Basic Settings
logEnable
(false) - Enable debug logging for troubleshootingtxtEnable
(true) - Enable descriptive text loggingipAddress
(required) - Device IP address for ESPHome API connectionsen55TemperatureOffset
(0.0) - SEN55 temperature calibration offset (-70° to +70°)sen55HumidityOffset
(0.0) - SEN55 humidity calibration offset (-70% to +70%)
Reporting & Thresholds
maxReportingInterval
(1800) - Maximum time between sensor reports in seconds (60-14400, default: 30 minutes)temperatureChangeThreshold
(0.3) - Minimum temperature change to report in degrees (0-2°)humidityChangeThreshold
(1.0) - Minimum humidity change to report in percent (0-5%)pmChangeThreshold
(0.5) - Minimum PM concentration change to report in µg/m³ (0-2)co2ChangeThreshold
(10) - Minimum CO₂ change to report in ppm (5-50)pressureChangeThreshold
(0.5) - Minimum pressure change to report in hPa (0-2)vocNoxChangeThreshold
(2) - Minimum VOC/NOx index change to report (1-10)gasChangeThreshold
(5.0) - Minimum gas concentration change to report in ppb (1-20)
Advanced Options
password
(optional) - Device password if requireddiagnosticsReporting
(false) - Enable reporting of diagnostic attributessleepDuration
(5) - Sleep duration between measurements (0-800 minutes)logWarnEnable
(false) - Enable warning and info logging
Intelligent Reporting System
The driver features an advanced threshold-based reporting system that prevents log spam while ensuring important changes are captured:
Threshold-Based Reporting
- Smart Filtering: Only reports sensor changes that exceed configurable thresholds
- Customizable Thresholds: Individual threshold settings for each sensor type
- Maximum Interval: Guarantees at least one report every 30 minutes (configurable)
- Event Indicators: Clear suffixes show why each event was reported:
[MaxReportingInterval]
- Reported due to time elapsed[Refresh]
- Reported due to manual refresh command
Benefits
- Reduced Log Spam: Eliminates unnecessary frequent updates
- Important Changes Captured: Significant sensor changes are always reported
- Guaranteed Updates: Maximum interval ensures regular status updates
- Manual Override:
refreshSensors
command bypasses thresholds for immediate readings
More info on this driver
Driver Features & Technical Details (click to expand)
The driver uses an intelligent entity management system that:
- Automatically discovers all available ESPHome entities
- Maps entities to appropriate Hubitat attributes
- Handles missing entities gracefully (device variants may not have all sensors)
- Provides diagnostic control - technical attributes can be hidden from main device view
- Supports calibration - offset values sync between Hubitat preferences and ESPHome
- Common Library Integration - leverages the Apollo Common Library for shared functionality across all Apollo device drivers, ensuring consistent behavior and simplified maintenance
Air Quality Monitoring
The driver provides comprehensive air quality monitoring:
- Multi-Sensor Integration: Combines particulate matter, gas, CO₂, and environmental sensors
- Intelligent Reporting: Threshold-based system prevents log spam while capturing important changes
- Automatic Unit Conversion: Converts between Celsius and Fahrenheit based on hub settings
- Calibration Support: Individual offset adjustments for temperature and humidity sensors
- Real-time Monitoring: Continuous monitoring with configurable sleep intervals
- Standard Compliance: Uses Hubitat standard capability attributes for seamless integration
Environmental Monitoring
For complete indoor air quality tracking:
- Particulate Matter: PM1, PM2.5, PM4, PM10 concentration monitoring
- Gas Detection: Six different gas sensors (CO, NH₃, C₂H₅OH, H₂, CH₄, NO₂)
- Air Quality Indices: VOC and NOx indices with quality ratings
- Environmental Conditions: Temperature, humidity, and barometric pressure
- Standard Attributes: Uses Hubitat standard capability attributes (temperature, humidity, pressure)
- Visual Indicators: RGB LED for air quality status notifications
Sensor Calibration
For accurate readings and optimal performance:
- CO₂ Calibration: Manual calibration to 420ppm outdoor air reference
- Temperature Offset: Adjustable temperature calibration for SEN55 sensor
- Humidity Offset: Adjustable humidity calibration for SEN55 sensor
- Sensor Cleaning: Automated SEN55 cleaning cycle for maintenance
- Factory Reset: Complete device reset capability
Network Monitoring
- Connection Status: Real-time online/offline status
- Signal Strength: WiFi RSSI monitoring
- Round-Trip Time: Measure network latency with ping command
- Enhanced Status: Improved online/offline detection
- Automatic Reconnection: Built-in ESPHome API reconnection logic
Diagnostic Features
When diagnostic reporting is enabled:
- ESP32 Monitoring: Internal chip temperature and performance
- Uptime Tracking: Device restart and reliability monitoring
- Network Diagnostics: Round-trip time monitoring and connection quality
- Enhanced Status Reporting: Improved online/offline detection and reporting
- Configuration Access: View advanced device settings
- Calibration Values: View all sensor offset parameters
- Raw Sensor Data: Access to detailed particulate matter size distributions
- Threshold Control: Individual threshold settings prevent log spam while ensuring important data is captured
Air Quality Automation
The device supports comprehensive air quality automation:
- HVAC Control: Automate ventilation based on CO₂ and air quality
- Air Purifier Control: Trigger air purifiers based on particulate matter levels
- Window/Fan Control: Automate natural ventilation based on indoor vs outdoor conditions
- Health Alerts: Notifications for poor air quality conditions
- Energy Optimization: Smart HVAC operation based on actual air quality needs
- Visual Status: RGB LED indicates current air quality status