commit 05af2b2fc69211f12b870ba86a35473b35ac1f3f Author: Florian Mittlböck Date: Wed Jul 1 18:03:32 2026 +0200 ESPHome air sensor: SCD41 + BME688 via BSEC2, API encryption + OTA password Co-Authored-By: Claude Opus 4.8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5c14a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# Gitignore settings for ESPHome +# This is an example and may include too much for your use-case. +# You can modify this file to suit your needs. +/.esphome/ +/secrets.yaml +/.venv/ +__pycache__/ diff --git a/airsensor-test.yaml b/airsensor-test.yaml new file mode 100644 index 0000000..69665d8 --- /dev/null +++ b/airsensor-test.yaml @@ -0,0 +1,71 @@ +esphome: + name: airsensor-test + +esp32: + board: esp32-s3-devkitc-1 + variant: esp32s3 + framework: + type: esp-idf + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + fast_connect: true + reboot_timeout: 0s + +logger: + hardware_uart: UART0 + +api: + encryption: + key: !secret api_encryption_key + reboot_timeout: 0s + +ota: + - platform: esphome + password: !secret ota_password + +i2c: + sda: GPIO8 + scl: GPIO9 + scan: true + +# BME688 via Bosch BSEC2 (IAQ / bVOC) — replaces the raw bme680 platform. +# BSEC is Bosch closed-source; compiling it accepts their license. +# state_save_interval keeps the learned gas baseline across reboots. +bme68x_bsec2_i2c: + address: 0x76 + model: bme688 + operating_age: 28d + sample_rate: LP + supply_voltage: 3.3V + state_save_interval: 6h + +sensor: + - platform: scd4x + co2: + name: "SCD41 CO2" + temperature: + name: "SCD41 Temperature" + humidity: + name: "SCD41 Humidity" + + - platform: bme68x_bsec2 + # eCO2 intentionally omitted — real CO2 comes from the SCD41. + temperature: + name: "BME688 Temperature" + pressure: + name: "BME688 Pressure" + humidity: + name: "BME688 Humidity" + gas_resistance: + name: "BME688 Gas Resistance" + iaq: + name: "BME688 IAQ" + breath_voc_equivalent: + name: "BME688 bVOC" + +text_sensor: + - platform: bme68x_bsec2 + iaq_accuracy: + name: "BME688 IAQ Accuracy"