Code for Sensor Puk 1 - Front Puk with BMP280
substitutions:
device_description: "Sensor Puk -1- BMP280(30s) + AHT20(10s) - IP Address: 192.168.1.36"
esphome:
name: sensor-puk-1
friendly_name: Sensor-Puk-1
comment: ${device_description}
esp8266:
board: esp01_1m
logger:
api:
encryption:
key: "HIDDEN FOR MY SANITY"
ota:
- platform: esphome
password: "HIDDEN FOR MY SANITY"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Sensor-Puk-1 Fallback Hotspot"
password: "HIDDEN FOR MY SANITY"
captive_portal:
web_server:
port: 80
i2c:
sda: 2
scl: 0
scan: true
sensor:
- platform: aht10
variant: AHT20
address: 0x38
temperature:
name: "PUK-1 Temperature"
unit_of_measurement: "°C"
id: aht20_temp
device_class: temperature
accuracy_decimals: 2
filters:
- filter_out: 0.0
- median:
window_size: 3
send_every: 3
send_first_at: 1
humidity:
name: "PUK-1 Humidity"
unit_of_measurement: "%"
id: aht20_humidity
device_class: humidity
accuracy_decimals: 2
filters:
- filter_out: 0.0
- median:
window_size: 3
send_every: 3
send_first_at: 1
update_interval: 10s
- platform: bmp280_i2c
temperature:
name: "PUK-1 (backup) Temperature"
unit_of_measurement: "°C"
accuracy_decimals: 2
pressure:
name: "PUK-1 Pressure"
unit_of_measurement: "hPa"
accuracy_decimals: 1
address: 0x77
update_interval: 30s
Code for Sensor Puk 2 - Rear Puk with ENS160
substitutions:
device_description: "Sensor Puk -2- ENS160 with AHT10"
esphome:
name: sensor-puk-2
friendly_name: Sensor-Puk-2
comment: ${device_description}
esp8266:
board: esp01_1m
logger:
api:
encryption:
key: "HIDDEN FOR MY SANITY"
ota:
- platform: esphome
password: "HIDDEN FOR MY SANITY"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Sensor-Puk-2 Fallback Hotspot"
password: "HIDDEN FOR MY SANITY"
captive_portal:
web_server:
port: 80
i2c:
sda: 0
scl: 2
scan: true
sensor:
- platform: ens160_i2c
address: 0x53
eco2:
name: "ENS160 eCO2"
tvoc:
name: "ENS160 TVOC"
aqi:
name: "ENS160 AQI"
id: ens160_air_quality_index
compensation:
temperature: aht20_temp
humidity: aht20_humidity
update_interval: 10s
- platform: aht10
variant: AHT20
address: 0x38
temperature:
name: "Puk 2 Temperature"
unit_of_measurement: "°C"
id: aht20_temp
device_class: temperature
accuracy_decimals: 2
filters:
- filter_out: 0.0
- median:
window_size: 3
send_every: 3
send_first_at: 1
humidity:
id: aht20_humidity
name: "Puk 2 Humidity"
unit_of_measurement: "%"
accuracy_decimals: 2
device_class: humidity
filters:
- filter_out: 0.0
- median:
window_size: 3
send_every: 3
send_first_at: 1
update_interval: 5s
text_sensor:
- platform: template
name: "ENS160 Air Quality Rating"
lambda: |-
switch ( (int) (id(ens160_air_quality_index).state) ) {
case 1: return {"Excellent"};
case 2: return {"Good"};
case 3: return {"Moderate"};
case 4: return {"Poor"};
case 5: return {"Unhealthy"};
default: return {"Not Available"};
}