Wetterstation v2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
3.6 KiB

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"