esphome: name: esp32weatherstation2 platform: ESP32 board: lolin_d32_pro includes: - veml6075_custom_sensor.h libraries: - "https://github.com/adafruit/Adafruit_VEML6075" - "https://github.com/adafruit/Adafruit_BusIO" platformio_options: lib_ldf_mode: chain+ project: name: "xd0.esp32weatherstation2" version: "0.0.2" # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: ota: password: !secret esphome_ota_password wifi: networks: - ssid: !secret wifi_ssid password: !secret wifi_passwd - ssid: !secret wifi_ssid2 password: !secret wifi_passwd2 power_save_mode: light # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp32Weatherstation2" password: "ucYwmU1xwUxh" captive_portal: time: - platform: sntp id: sntp_time timezone: "Europe/Berlin" #mqtt: # broker: home.xd0.de # username: !secret esphome_mqtt_user # password: !secret esphome_mqtt_passwd i2c: sda: 21 scl: 22 scan: true spi: clk_pin: 18 mosi_pin: 23 miso_pin: 19 uart: rx_pin: 15 tx_pin: 2 baud_rate: 9600 # display #250x122 pixels font: - file: 'fonts/slkscr.ttf' id: font1 size: 8 status_led: pin: number: GPIO5 inverted: true display: - platform: waveshare_epaper cs_pin: 14 dc_pin: 27 reset_pin: 33 model: 2.13in-ttgo rotation: 90 update_interval: 30s full_update_every: 1 lambda: |- it.print(5, 6, id(font1), "Hello World!"); it.strftime(130, 6, id(font1), "%Y-%m-%d %H:%M", id(sntp_time).now()); it.line(0, 15, 250, 15); if (id(temperature).state) { it.printf(5, 40, id(font1), "Temperature: %.1f°C, Humidity: %.1f%%, Pressure: %.1fhPa", id(temperature).state, id(humidity).state, id(pressure).state); } sensor: # BME680 Temperature+Pressure+Humidity+Gas Sensor - platform: bme680 temperature: name: "BME680 Temperature" oversampling: 16x id: temperature pressure: name: "BME680 Pressure" id: pressure humidity: name: "BME680 Humidity" id: humidity gas_resistance: name: "BME680 Gas Resistance" address: 0x77 update_interval: 60s # BME280 Temperature+Pressure+Humidity Sensor - platform: bme280 temperature: name: "BME280 Temperature" oversampling: 16x pressure: name: "BME280 Pressure" humidity: name: "BME280 Humidity" address: 0x77 update_interval: 60s # SDS 011 Particulate Matter Sensor - platform: sds011 pm_2_5: name: "Particulate Matter <2.5µm Concentration" pm_10_0: name: "Particulate Matter <10.0µm Concentration" update_interval: 5min # BH1750 Ambient Light Sensor - platform: bh1750 name: "BH1750 Illuminance" address: 0x23 measurement_duration: 69 update_interval: 60s # VEML6075 UV sensor - platform: custom lambda: |- auto veml6075 = new VEML6075CustomSensor(); App.register_component(veml6075); return {veml6075->uva_sensor, veml6075->uvb_sensor}; sensors: - name: "zelva UVA" id: zelva_uva unit_of_measurement: "mW/cm²" accuracy_decimals: 0 - name: "zelva UVB" id: zelva_uvb unit_of_measurement: "mW/cm²" accuracy_decimals: 0 # Example configuration entry - platform: esp32_hall name: "ESP32 Hall Sensor" update_interval: 60s - platform: ble_rssi mac_address: FA:4E:84:FF:4D:16 name: "MiBand Hendrik RSSI value" # Example configuration entry esp32_ble_tracker: #text_sensor: # - platform: ble_scanner # name: "BLE Devices Scanner"