Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
c95b240
Update Core.yaml with ids for temp and humidity
kmagdziak Oct 1, 2025
017a01d
Merge pull request #71 from ApolloAutomation/main
TrevorSchirmer Dec 18, 2025
f54db02
Merge branch 'beta' into main
TrevorSchirmer Dec 18, 2025
aaf3911
Merge pull request #69 from kmagdziak/main
TrevorSchirmer Dec 18, 2025
d12a913
Fixed missing ids for mics entities and changed update_interval back …
bharvey88 Dec 18, 2025
4e206fc
Update version in Core.yaml to 25.12.18.2
bharvey88 Dec 18, 2025
e523911
Merge pull request #72 from ApolloAutomation/mics-missing-ids-update-…
TrevorSchirmer Jan 24, 2026
7f8a507
[apollo_air-1] Add configurable DPS310 pressure offset
bharvey88 Feb 24, 2026
aa6e149
Add NowCast AQI sensor using ESPHome aqi component
bharvey88 Feb 24, 2026
c2fac77
Add IP address text sensor via wifi_info platform
bharvey88 Feb 24, 2026
c3af95d
Add ESPHome version and Apollo firmware version text sensors
bharvey88 Feb 24, 2026
63e3b17
Modernise board spec, web server v3, and API actions
bharvey88 Feb 24, 2026
ea20805
Make DPS310 pressure offset disabled by default
bharvey88 Feb 25, 2026
8908a1f
fix: remove unused id, add entity_category diagnostic to IP address s…
bharvey88 Feb 25, 2026
0e2dd58
fix: restore id: wifi_ip (needed for ESPHome automations)
bharvey88 Feb 25, 2026
797ee73
fix: add device_class: aqi to NowCast AQI sensor
bharvey88 Feb 25, 2026
7072df1
fix: add NaN guard to DPS310 pressure offset filter lambda
bharvey88 Feb 26, 2026
1397beb
fix: add entity_category diagnostic to ESPHome Version sensor
bharvey88 Feb 26, 2026
a691d9a
fix: add update_interval: never to static Apollo Firmware Version sensor
bharvey88 Feb 26, 2026
c8279a4
fix: remove duplicate entity_category keys in ESPHome Version sensor
bharvey88 Feb 26, 2026
8648c78
fix: publish apollo_firmware_version in reportAllValues before deep s…
bharvey88 Feb 26, 2026
c1de808
fix: correct lambda body indentation in DPS310 pressure filter
bharvey88 Feb 26, 2026
e0e9ba9
Merge pull request #82 from ApolloAutomation/esphome-modernisation
TrevorSchirmer Feb 27, 2026
0ef935d
Merge pull request #81 from ApolloAutomation/version-sensors
TrevorSchirmer Feb 27, 2026
93a0384
Merge pull request #79 from ApolloAutomation/aqi-nowcast-sensor
TrevorSchirmer Feb 27, 2026
5a3ffa6
Merge pull request #78 from ApolloAutomation/dps310-pressure-offset
TrevorSchirmer Feb 27, 2026
a3a6f79
Merge branch 'beta' into wifi-info-ip-address
bharvey88 Feb 27, 2026
f06adc9
Merge pull request #80 from ApolloAutomation/wifi-info-ip-address
bharvey88 Feb 27, 2026
5c481fe
Bump version to 26.3.2.1
bharvey88 Mar 2, 2026
26aa86d
Fix: restore UTF-8 special chars, keep version bump to 26.3.2.1
bharvey88 Mar 2, 2026
75a08bb
Bump version to 26.3.2.1
bharvey88 Mar 2, 2026
f33a39d
fix: update apollo_firmware_version on every HA client connection
bharvey88 Mar 4, 2026
610954b
Merge pull request #85 from ApolloAutomation/fix-firmware-version-unk…
TrevorSchirmer Mar 5, 2026
9b21aee
fix: use text_sensor.template.publish for Apollo Firmware Version sensor
bharvey88 Mar 6, 2026
9737039
fix: publish firmware version once on boot instead of polling
bharvey88 Mar 6, 2026
b5096d4
Fix Apollo Firmware Version sensor showing unknown
bharvey88 Mar 6, 2026
3dca160
Update Pipeline
TrevorSchirmer Jul 17, 2025
20cc32c
Merge branch 'main' into beta
TrevorSchirmer Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
uses: ApolloAutomation/Workflows/.github/workflows/label-check.yml@main

ci:
name: Building ${{ matrix.file }}
name: Building ${{ matrix.file }} / ESPHome ${{ matrix.esphome-version }} / ESPHome ${{ matrix.esphome-version }}
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
build:
name: Building ${{ matrix.file }}
name: Building ${{ matrix.file }} / ESPHome ${{ matrix.esphome-version }} / ESPHome ${{ matrix.esphome-version }}
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down
6 changes: 3 additions & 3 deletions Integrations/ESPHome/AIR-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ esphome:
friendly_name: Apollo AIR-1
comment: Apollo AIR-1
name_add_mac_suffix: true
platformio_options:
board_build.flash_mode: dio

project:
name: "ApolloAutomation.AIR-1"
version: "${version}"
Expand All @@ -14,6 +11,9 @@ esphome:
on_boot:
priority: 500
then:
- text_sensor.template.publish:
id: apollo_firmware_version
state: "${version}"
- lambda: |-
id(deep_sleep_1).set_sleep_duration(id(deep_sleep_sleep_duration).state * 60 * 1000);
- if:
Expand Down
3 changes: 0 additions & 3 deletions Integrations/ESPHome/AIR-1_BLE.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ esphome:
friendly_name: Apollo AIR-1
comment: Apollo AIR-1
name_add_mac_suffix: true
platformio_options:
board_build.flash_mode: dio

project:
name: "ApolloAutomation.AIR-1"
version: "${version}"
Expand Down
8 changes: 0 additions & 8 deletions Integrations/ESPHome/AIR-1_Factory.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ esphome:
friendly_name: Apollo AIR-1
comment: Apollo AIR-1 Factory
name_add_mac_suffix: true
platformio_options:
board_build.flash_mode: dio

project:
name: "ApolloAutomation.AIR-1"
version: "${version}"
Expand Down Expand Up @@ -52,11 +49,6 @@ esp32_improv:
authorizer: none

wifi:
on_connect:
- delay: 5s
- ble.disable:
on_disconnect:
- ble.enable:
ap:
ssid: "Apollo AIR1 Hotspot"

Expand Down
69 changes: 60 additions & 9 deletions Integrations/ESPHome/Core.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
substitutions:
name: apollo-air-1
version: "25.8.6.1"
version: "26.3.2.1"
device_description: ${name} made by Apollo Automation - version ${version}.

esp32:
board: esp32-c3-devkitm-1
variant: esp32c3
flash_size: 4MB
framework:
type: esp-idf

Expand All @@ -25,16 +26,16 @@ api:
id(reportAllValues).execute();
- deep_sleep.enter:
id: deep_sleep_1
services:
#Co2 Calibration Service
- service: calibrate_co2_value
actions:
#Co2 Calibration Action
- action: calibrate_co2_value
variables:
co2_ppm: float
then:
- scd4x.perform_forced_calibration:
value: !lambda "return co2_ppm;"
id: scd40
- service: sen55_clean
- action: sen55_clean
then:
- sen5x.start_fan_autoclean: sen55
reboot_timeout: 0s
Expand All @@ -43,6 +44,7 @@ captive_portal:

web_server:
port: 80
version: 3

globals:
- id: cycleCounter
Expand Down Expand Up @@ -104,7 +106,21 @@ number:
update_interval: never
step: 0.1
mode: box

- platform: template
name: "DPS310 Pressure Offset"
id: dps310_pressure_offset
disabled_by_default: true
restore_value: true
initial_value: 0.0
min_value: -100.0
max_value: 100.0
entity_category: "CONFIG"
unit_of_measurement: "hPa"
optimistic: true
update_interval: never
step: 0.1
mode: box

- platform: template
name: "Sleep Duration"
id: deep_sleep_sleep_duration
Expand Down Expand Up @@ -212,6 +228,10 @@ sensor:
pressure:
name: "DPS310 Pressure"
id: dps310pressure
filters:
- lambda: |-
float offset = id(dps310_pressure_offset).state;
return isnan(offset) ? x : x + offset;
temperature:
id: dps310temperature
update_interval: 30s
Expand All @@ -237,11 +257,13 @@ sensor:
accuracy_decimals: 1
temperature:
name: "SEN55 Temperature"
accuracy_decimals: 1
id: sen55_temperature
filters:
- lambda: return x - id(sen55_temperature_offset).state;
accuracy_decimals: 1
humidity:
name: "SEN55 Humidity"
id: sen55_humidity
filters:
- lambda: return x - id(sen55_humidity_offset).state;
accuracy_decimals: 1
Expand Down Expand Up @@ -305,21 +327,35 @@ sensor:
icon: mdi:air-filter
update_interval: 10s

- platform: aqi
name: "NowCast AQI"
id: nowcast_aqi
pm_2_5: pm_2_5
pm_10_0: pm_10_0
calculation_type: AQI
device_class: aqi
Comment thread
TrevorSchirmer marked this conversation as resolved.

- platform: mics_4514
id: mics4514
nitrogen_dioxide:
name: Nitrogen Dioxide
id: nitrogen_dioxide
carbon_monoxide:
name: Carbon Monoxide
id: carbon_monoxide
hydrogen:
name: Hydrogen
id: hydrogen
ethanol:
name: Ethanol
id: ethanol
methane:
name: Methane
id: methane
ammonia:
name: Ammonia
update_interval: 10s
id: ammonia
update_interval: 60s

light:
- platform: esp32_rmt_led_strip
Expand Down Expand Up @@ -390,6 +426,21 @@ text_sensor:
else {
return std::string("Unknown");}

- platform: wifi_info
ip_address:
name: "IP Address"
id: wifi_ip
entity_category: "diagnostic"
- platform: version
name: "ESPHome Version"
hide_timestamp: true
entity_category: "diagnostic"
- platform: template
name: "Apollo Firmware Version"
id: apollo_firmware_version
update_interval: never
entity_category: "diagnostic"

switch:
- platform: factory_reset
id: factory_reset_switch
Expand Down
Loading